/* ═══════════════════════════════════════════════════════════════
   IBRAHIM FASHION — WooCommerce
   Shop, product, cart, checkout, account.
   Loaded only on WooCommerce pages.
   ═══════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════
   1. SHOP PAGE — HEADER & TOOLBAR
   ══════════════════════════════════════════════════════════════ */
.if-shop-header {
  padding-block: clamp(40px, 5vw, 64px) var(--if-s5);
  text-align: center;
  background: var(--if-ivory);
  border-bottom: 1px solid var(--if-line);
}

.if-shop-header h1 {
  margin-bottom: var(--if-s3);
}

.if-shop-header p {
  max-width: 60ch;
  margin-inline: auto;
  color: var(--if-muted);
}

.if-shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--if-s4);
  padding-block: var(--if-s5);
  margin-bottom: var(--if-s5);
  border-bottom: 1px solid var(--if-line);
  flex-wrap: wrap;
}

.woocommerce-result-count {
  font-size: var(--if-fs-sm);
  color: var(--if-muted);
  margin: 0;
}

.woocommerce-ordering {
  margin: 0;
}

.woocommerce-ordering select {
  padding: 10px 44px 10px 16px;
  font-size: var(--if-fs-sm);
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  background-color: var(--if-white);
  min-width: 200px;
}


/* ══════════════════════════════════════════════════════════════
   2. SHOP LAYOUT — sidebar + products
   ══════════════════════════════════════════════════════════════ */
.if-shop-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: var(--if-s7);
  align-items: start;
}

.if-shop-sidebar {
  position: sticky;
  top: calc(var(--if-header-h) + var(--if-s5));
  padding: var(--if-s5);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
}

.if-shop-sidebar .widget {
  margin-bottom: var(--if-s6);
}

.if-shop-sidebar .widget:last-child {
  margin-bottom: 0;
}

.if-shop-sidebar .widget__title,
.if-shop-sidebar .widget-title {
  font-family: var(--if-font-body);
  font-size: var(--if-fs-xs);
  font-weight: var(--if-fw-semi);
  letter-spacing: var(--if-track-widest);
  text-transform: uppercase;
  color: var(--if-charcoal);
  padding-bottom: var(--if-s3);
  margin-bottom: var(--if-s4);
  border-bottom: 1px solid var(--if-line);
}

/* Widget lists */
.if-shop-sidebar ul {
  list-style: none;
  display: grid;
  gap: var(--if-s3);
}

.if-shop-sidebar ul li a {
  font-size: var(--if-fs-sm);
  color: var(--if-body);
  transition: color var(--if-dur-fast) var(--if-ease);
}

.if-shop-sidebar ul li a:hover {
  color: var(--if-gold-deep);
}

/* Products grid inside shop */
.if-shop-products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--if-s6) var(--if-s4);
}

/* Ensure WooCommerce <ul class="products"> works with our grid */
ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--if-s6) var(--if-s4);
}

ul.products li.product {
  margin: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

ul.products li.product .if-product-card {
  flex: 1;
}


/* ══════════════════════════════════════════════════════════════
   3. SINGLE PRODUCT PAGE
   ══════════════════════════════════════════════════════════════ */
.single-product .if-main {
  padding-block: var(--if-s6);
}

.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
}

/* ── Gallery ── */
.woocommerce-product-gallery {
  position: sticky;
  top: calc(var(--if-header-h) + var(--if-s5));
}

.woocommerce-product-gallery__wrapper {
  border-radius: var(--if-r-sm);
  overflow: hidden;
  background: var(--if-linen);
}

.woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
}

.woocommerce-product-gallery__trigger {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 44px;
  height: 44px;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.92);
  border-radius: var(--if-r-pill);
  color: var(--if-ink);
  z-index: 3;
}

.woocommerce-product-gallery__trigger:hover {
  background: var(--if-white);
  color: var(--if-gold-deep);
}

/* Thumbnails */
.flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--if-s2);
  padding: 0;
  margin: var(--if-s3) 0 0;
  list-style: none;
}

.flex-control-thumbs li {
  margin: 0;
}

.flex-control-thumbs img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--if-r-sm);
  border: 1px solid transparent;
  opacity: 0.7;
  cursor: pointer;
  transition: all var(--if-dur-fast) var(--if-ease);
}

.flex-control-thumbs img:hover,
.flex-control-thumbs img.flex-active {
  opacity: 1;
  border-color: var(--if-gold);
}

/* ── Summary ── */
.summary.entry-summary {
  display: flex;
  flex-direction: column;
  gap: var(--if-s4);
}

.product_title.entry-title {
  font-family: var(--if-font-display);
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  line-height: var(--if-lh-tight);
  color: var(--if-charcoal);
  margin: 0;
}

/* Product category / SKU above title */
.product_meta {
  font-size: var(--if-fs-xs);
  color: var(--if-muted);
  display: flex;
  flex-wrap: wrap;
  gap: var(--if-s4);
  padding-top: var(--if-s4);
  margin-top: var(--if-s4);
  border-top: 1px solid var(--if-line);
}

.product_meta a {
  color: var(--if-muted);
}

.product_meta a:hover {
  color: var(--if-gold-deep);
}

.sku_wrapper,
.posted_in,
.tagged_as {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ── Price ── */
.summary .price {
  font-family: var(--if-font-body);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  font-weight: var(--if-fw-medium);
  color: var(--if-charcoal);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: var(--if-s3);
  flex-wrap: wrap;
}

.summary .price del {
  font-size: 0.85em;
  color: var(--if-muted);
  font-weight: var(--if-fw-regular);
}

.summary .price ins {
  text-decoration: none;
  color: var(--if-sale);
}

.summary .price .woocommerce-Price-currencySymbol {
  font-size: 0.8em;
}

/* Wholesale per-set label */
.summary .price::after {
  content: " / Set";
  font-size: 0.7em;
  color: var(--if-muted);
  font-weight: var(--if-fw-regular);
}

.summary .price.single-piece::after {
  content: "";
}

/* ── Stock status ── */
.stock {
  display: inline-flex;
  align-items: center;
  gap: var(--if-s2);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  color: var(--if-success);
  padding: 6px 12px;
  background: #F1F7F3;
  border-radius: var(--if-r-pill);
  align-self: flex-start;
}

.stock::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}

.stock.out-of-stock {
  color: var(--if-sale);
  background: #FBF2F2;
}

.stock.low-stock {
  color: var(--if-warn);
  background: var(--if-gold-wash);
}

/* ── Add to cart form ── */
form.cart {
  display: flex;
  flex-direction: column;
  gap: var(--if-s4);
  padding-block: var(--if-s5);
  border-block: 1px solid var(--if-line);
}

form.cart .quantity {
  display: inline-flex;
}

form.cart .quantity input.qty {
  width: 60px;
  height: 48px;
  padding: 0;
  text-align: center;
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-body);
  font-weight: var(--if-fw-medium);
  font-variant-numeric: tabular-nums;
}

form.cart .quantity input.qty:focus {
  border-color: var(--if-gold);
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15);
}

/* Qty before ATC — sidebar layout */
form.cart .if-qty-row {
  display: flex;
  gap: var(--if-s4);
  align-items: center;
  flex-wrap: wrap;
}

/* Add to cart button */
.single_add_to_cart_button,
button.button.alt {
  flex: 1;
  min-width: 180px;
  padding: 16px 32px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border: 1px solid var(--if-charcoal);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--if-dur) var(--if-ease);
}

.single_add_to_cart_button:hover,
button.button.alt:hover {
  background: var(--if-gold);
  border-color: var(--if-gold);
  color: var(--if-charcoal);
}

.single_add_to_cart_button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Buy Now button (if using) */
.if-buy-now {
  padding: 16px 32px;
  background: transparent;
  border: 1px solid var(--if-charcoal);
  color: var(--if-charcoal);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
}

.if-buy-now:hover {
  background: var(--if-charcoal);
  color: var(--if-white);
}

/* Variations */
.variations {
  display: grid;
  gap: var(--if-s4);
  margin-bottom: var(--if-s4);
}

.variations th,
.variations td {
  padding: 0;
  text-align: left;
  border: 0;
}

.variations .label label {
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  color: var(--if-ink);
  margin-bottom: var(--if-s2);
}

.variations select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
}

/* Single variation price */
.woocommerce-variation-price {
  padding: var(--if-s3) 0;
}

.woocommerce-variation-price .price {
  font-size: 1.4rem;
}

.woocommerce-variation-price .price::after {
  content: "";
}

/* ── Product meta row (SKU, category) ── */
.product_meta > span {
  display: inline-flex;
  gap: 6px;
}

/* ── Product tabs (Description, Details, Reviews) ── */
.woocommerce-tabs {
  margin-top: clamp(48px, 6vw, 80px);
  padding-top: clamp(32px, 4vw, 56px);
  border-top: 1px solid var(--if-line);
}

.woocommerce-tabs ul.tabs {
  display: flex;
  gap: var(--if-s6);
  border-bottom: 1px solid var(--if-line);
  margin-bottom: var(--if-s6);
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
}

.woocommerce-tabs ul.tabs::-webkit-scrollbar {
  display: none;
}

.woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: var(--if-s3) 0;
  font-size: var(--if-fs-sm);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
  color: var(--if-muted);
  white-space: nowrap;
  position: relative;
  transition: color var(--if-dur-fast) var(--if-ease);
}

.woocommerce-tabs ul.tabs li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: transparent;
  transition: background var(--if-dur-fast) var(--if-ease);
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--if-charcoal);
  font-weight: var(--if-fw-medium);
}

.woocommerce-tabs ul.tabs li.active a::after {
  background: var(--if-gold);
}

.woocommerce-tabs .panel {
  max-width: 68ch;
  line-height: var(--if-lh-relaxed);
}

.woocommerce-tabs .panel h2 {
  font-size: var(--if-fs-h4);
  margin-bottom: var(--if-s4);
}

/* ── Related products ── */
.related.products,
.upsells.products {
  margin-top: clamp(48px, 6vw, 80px);
  padding-top: clamp(32px, 4vw, 56px);
  border-top: 1px solid var(--if-line);
}

.related.products > h2,
.upsells.products > h2 {
  font-size: var(--if-fs-h3);
  margin-bottom: var(--if-s5);
  text-align: center;
}

/* ── Product reviews ── */
#reviews .commentlist {
  list-style: none;
  padding: 0;
  display: grid;
  gap: var(--if-s5);
}

#reviews .comment_container {
  display: flex;
  gap: var(--if-s4);
  padding: var(--if-s5);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
}

#reviews .comment_container img.avatar {
  border-radius: 50%;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

#reviews .comment-text .meta {
  font-size: var(--if-fs-sm);
  color: var(--if-muted);
  margin-bottom: var(--if-s2);
}

#reviews .star-rating {
  color: var(--if-gold);
  float: right;
}


/* ══════════════════════════════════════════════════════════════
   4. CART PAGE
   ══════════════════════════════════════════════════════════════ */
.woocommerce-cart .if-main {
  padding-block: var(--if-s7);
}

.woocommerce-cart-form {
  margin-bottom: var(--if-s7);
}

table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  overflow: hidden;
}

table.shop_table th,
table.shop_table td {
  padding: var(--if-s4);
  text-align: left;
  border-bottom: 1px solid var(--if-line);
  vertical-align: middle;
}

table.shop_table thead th {
  background: var(--if-ivory);
  font-family: var(--if-font-body);
  font-size: var(--if-fs-xs);
  font-weight: var(--if-fw-semi);
  letter-spacing: var(--if-track-wider);
  text-transform: uppercase;
  color: var(--if-charcoal);
}

table.shop_table tbody tr:last-child td {
  border-bottom: 0;
}

table.shop_table .product-thumbnail img {
  width: 70px;
  height: auto;
  border-radius: var(--if-r-sm);
}

table.shop_table .product-name a {
  font-family: var(--if-font-display);
  font-size: 1.05rem;
  color: var(--if-charcoal);
  display: block;
  margin-bottom: 4px;
}

table.shop_table .product-name .variation {
  font-size: var(--if-fs-xs);
  color: var(--if-muted);
  display: grid;
  gap: 2px;
}

table.shop_table .product-price,
table.shop_table .product-subtotal {
  font-variant-numeric: tabular-nums;
  font-weight: var(--if-fw-medium);
  color: var(--if-charcoal);
}

table.shop_table .product-remove a.remove {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--if-r-pill);
  background: transparent;
  color: var(--if-muted);
  font-size: 1.2rem;
  line-height: 1;
  transition: all var(--if-dur-fast) var(--if-ease);
}

table.shop_table .product-remove a.remove:hover {
  background: var(--if-sale);
  color: var(--if-white);
}

/* Cart actions */
.woocommerce .cart .actions {
  padding: var(--if-s5);
  background: var(--if-ivory);
}

.woocommerce .cart .coupon {
  display: flex;
  gap: var(--if-s3);
  flex-wrap: wrap;
  float: left;
}

.woocommerce .cart .coupon input {
  padding: 12px 16px;
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  min-width: 200px;
}

.woocommerce .cart .coupon button {
  padding: 12px 24px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-xs);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
  border: 0;
}

.woocommerce .cart .coupon button:hover {
  background: var(--if-gold);
}

.woocommerce .cart button[name="update_cart"] {
  float: right;
  padding: 12px 24px;
  background: transparent;
  border: 1px solid var(--if-line);
  color: var(--if-ink);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-xs);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
}

.woocommerce .cart button[name="update_cart"]:hover {
  background: var(--if-charcoal);
  color: var(--if-white);
  border-color: var(--if-charcoal);
}

/* Cart totals */
.cart-collaterals {
  margin-top: var(--if-s7);
}

.cart_totals {
  max-width: 480px;
  margin-left: auto;
  padding: var(--if-s6);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
}

.cart_totals h2 {
  font-size: var(--if-fs-h4);
  margin-bottom: var(--if-s5);
  padding-bottom: var(--if-s4);
  border-bottom: 1px solid var(--if-line);
}

.cart_totals table {
  border: 0;
  background: transparent;
}

.cart_totals table th,
.cart_totals table td {
  padding: var(--if-s3) 0;
  border-bottom: 1px solid var(--if-line-soft);
  background: transparent;
}

.cart_totals table th {
  font-weight: var(--if-fw-regular);
  color: var(--if-body);
  text-align: left;
}

.cart_totals table td {
  text-align: right;
  font-weight: var(--if-fw-medium);
  color: var(--if-charcoal);
  font-variant-numeric: tabular-nums;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
  padding-top: var(--if-s4);
  border-bottom: 0;
  font-size: 1.15rem;
  color: var(--if-charcoal);
  font-weight: var(--if-fw-semi);
}

.cart_totals .checkout-button {
  display: block;
  width: 100%;
  margin-top: var(--if-s5);
  padding: 16px 24px;
  background: var(--if-charcoal);
  color: var(--if-white);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--if-track-wide);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  border-radius: var(--if-r-sm);
  transition: all var(--if-dur) var(--if-ease);
}

.cart_totals .checkout-button:hover {
  background: var(--if-gold);
  color: var(--if-charcoal);
}

/* Empty cart */
.cart-empty {
  text-align: center;
  font-size: 1.4rem;
  padding-block: var(--if-s8);
  color: var(--if-charcoal);
  font-family: var(--if-font-display);
}

.return-to-shop {
  text-align: center;
}

.return-to-shop .button {
  display: inline-block;
  padding: 15px 32px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border-radius: var(--if-r-sm);
  text-transform: uppercase;
  letter-spacing: var(--if-track-wide);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
}

.return-to-shop .button:hover {
  background: var(--if-gold);
  color: var(--if-charcoal);
}


/* ══════════════════════════════════════════════════════════════
   5. CHECKOUT PAGE
   ══════════════════════════════════════════════════════════════ */
.woocommerce-checkout .if-main {
  padding-block: var(--if-s7);
}

form.checkout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
}

#customer_details {
  display: grid;
  gap: var(--if-s6);
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-family: var(--if-font-display);
  font-size: var(--if-fs-h4);
  margin-bottom: var(--if-s4);
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--if-s4);
}

.form-row {
  margin: 0;
  padding: 0;
  width: 100% !important;
  float: none !important;
}

.form-row-wide {
  grid-column: 1 / -1;
}

.form-row label {
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  color: var(--if-ink);
  margin-bottom: 6px;
}

.form-row .required {
  color: var(--if-sale);
  text-decoration: none;
}

.form-row input.input-text,
.form-row textarea,
.form-row select {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-body);
  background: var(--if-white);
}

.form-row input.input-text:focus,
.form-row textarea:focus,
.form-row select:focus {
  border-color: var(--if-gold);
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15);
  outline: none;
}

/* Order review sidebar */
#order_review_heading {
  font-family: var(--if-font-display);
  font-size: var(--if-fs-h4);
  margin-bottom: var(--if-s4);
}

#order_review {
  position: sticky;
  top: calc(var(--if-header-h) + var(--if-s5));
  padding: var(--if-s6);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
  border: 1px solid var(--if-line);
}

table.woocommerce-checkout-review-order-table {
  border: 0;
  background: transparent;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
  padding: var(--if-s3) 0;
  border-bottom: 1px solid var(--if-line-soft);
  background: transparent;
}

table.woocommerce-checkout-review-order-table thead th {
  border-bottom: 1px solid var(--if-line);
  background: transparent;
  font-size: var(--if-fs-xs);
  letter-spacing: var(--if-track-wider);
  text-transform: uppercase;
}

table.woocommerce-checkout-review-order-table .order-total th,
table.woocommerce-checkout-review-order-table .order-total td {
  padding-top: var(--if-s4);
  border-bottom: 0;
  font-size: 1.15rem;
  font-weight: var(--if-fw-semi);
  color: var(--if-charcoal);
}

/* Payment methods */
#payment {
  margin-top: var(--if-s5);
  padding-top: var(--if-s5);
  border-top: 1px solid var(--if-line);
  background: transparent;
}

#payment ul.wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--if-s5) 0;
  display: grid;
  gap: var(--if-s3);
}

#payment ul.wc_payment_methods li {
  padding: var(--if-s4);
  background: var(--if-white);
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  transition: border-color var(--if-dur-fast) var(--if-ease);
}

#payment ul.wc_payment_methods li:hover {
  border-color: var(--if-gold);
}

#payment ul.wc_payment_methods li label {
  display: inline-flex;
  align-items: center;
  gap: var(--if-s3);
  font-weight: var(--if-fw-medium);
  color: var(--if-charcoal);
  margin: 0;
  cursor: pointer;
}

#payment ul.wc_payment_methods li input[type="radio"] {
  accent-color: var(--if-gold);
}

#payment .payment_box {
  margin-top: var(--if-s3);
  padding: var(--if-s3) var(--if-s4);
  background: var(--if-gold-wash);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-sm);
  color: var(--if-body);
}

#place_order {
  width: 100%;
  padding: 18px 24px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border: 1px solid var(--if-charcoal);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--if-dur) var(--if-ease);
}

#place_order:hover {
  background: var(--if-gold);
  border-color: var(--if-gold);
  color: var(--if-charcoal);
}

/* Coupon on checkout */
.woocommerce-form-coupon-toggle {
  margin-bottom: var(--if-s5);
}

.woocommerce-info {
  padding: var(--if-s4) var(--if-s5);
  background: var(--if-gold-wash);
  border-left: 3px solid var(--if-gold);
  border-radius: var(--if-r-sm);
  margin-bottom: var(--if-s5);
  font-size: var(--if-fs-sm);
}

.woocommerce-info a {
  color: var(--if-gold-deep);
  font-weight: var(--if-fw-medium);
  text-decoration: underline;
}

.checkout_coupon {
  display: flex;
  gap: var(--if-s3);
  padding: var(--if-s5);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
  margin-bottom: var(--if-s5);
}

.checkout_coupon input {
  flex: 1;
}

.checkout_coupon button {
  padding: 12px 24px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-xs);
  text-transform: uppercase;
  letter-spacing: var(--if-track-wide);
}


/* ══════════════════════════════════════════════════════════════
   6. ORDER RECEIVED / THANK YOU PAGE
   ══════════════════════════════════════════════════════════════ */
.woocommerce-order {
  max-width: 720px;
  margin-inline: auto;
  padding-block: var(--if-s7);
}

.woocommerce-thankyou-order-received {
  font-family: var(--if-font-display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  color: var(--if-charcoal);
  text-align: center;
  margin-bottom: var(--if-s5);
}

.woocommerce-thankyou-order-received::before {
  content: "✓";
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 auto var(--if-s5);
  background: var(--if-success);
  color: var(--if-white);
  border-radius: var(--if-r-pill);
  display: grid;
  place-items: center;
  font-size: 1.8rem;
}

.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--if-s4);
  padding: var(--if-s5);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
  list-style: none;
  margin-bottom: var(--if-s6);
}

.woocommerce-order-overview li {
  text-align: center;
  padding: 0;
  border: 0;
}

.woocommerce-order-overview li strong {
  display: block;
  font-family: var(--if-font-display);
  font-size: 1.1rem;
  color: var(--if-charcoal);
  margin-top: 4px;
}

.woocommerce-order-overview li {
  font-size: var(--if-fs-xs);
  text-transform: uppercase;
  letter-spacing: var(--if-track-wider);
  color: var(--if-muted);
}


/* ══════════════════════════════════════════════════════════════
   7. MY ACCOUNT PAGE
   ══════════════════════════════════════════════════════════════ */
.woocommerce-account .if-main {
  padding-block: var(--if-s7);
}

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--if-s7);
  align-items: start;
}

/* Account navigation */
.woocommerce-MyAccount-navigation {
  padding: var(--if-s5);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
  position: sticky;
  top: calc(var(--if-header-h) + var(--if-s5));
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  display: grid;
  gap: var(--if-s1);
}

.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: var(--if-s3) var(--if-s4);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-sm);
  color: var(--if-body);
  transition: all var(--if-dur-fast) var(--if-ease);
}

.woocommerce-MyAccount-navigation li a:hover {
  background: var(--if-white);
  color: var(--if-gold-deep);
}

.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--if-charcoal);
  color: var(--if-white);
}

/* Account content */
.woocommerce-MyAccount-content {
  min-width: 0;
}

.woocommerce-MyAccount-content h2 {
  font-family: var(--if-font-display);
  font-size: var(--if-fs-h3);
  margin-bottom: var(--if-s5);
}

.woocommerce-MyAccount-content p {
  margin-bottom: var(--if-s4);
}

/* Login / Register */
.woocommerce-form-login,
.woocommerce-form-register {
  max-width: 480px;
  margin-inline: auto;
  padding: var(--if-s7);
  background: var(--if-ivory);
  border-radius: var(--if-r-sm);
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  text-align: center;
  margin-bottom: var(--if-s6);
}

.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row {
  margin-bottom: var(--if-s4);
}

.woocommerce-form-login button,
.woocommerce-form-register button {
  width: 100%;
  padding: 15px 24px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border: 0;
  border-radius: var(--if-r-sm);
  text-transform: uppercase;
  letter-spacing: var(--if-track-wide);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  cursor: pointer;
  transition: background var(--if-dur-fast) var(--if-ease);
}

.woocommerce-form-login button:hover,
.woocommerce-form-register button:hover {
  background: var(--if-gold);
  color: var(--if-charcoal);
}

.woocommerce-LostPassword {
  text-align: center;
  margin-top: var(--if-s4);
  font-size: var(--if-fs-sm);
}

/* Orders table */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  overflow: hidden;
}

.woocommerce-orders-table th {
  background: var(--if-ivory);
  padding: var(--if-s4);
  font-size: var(--if-fs-xs);
  letter-spacing: var(--if-track-wider);
  text-transform: uppercase;
  font-weight: var(--if-fw-semi);
  text-align: left;
}

.woocommerce-orders-table td {
  padding: var(--if-s4);
  border-bottom: 1px solid var(--if-line);
  font-size: var(--if-fs-sm);
}

.woocommerce-orders-table .button {
  padding: 8px 16px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-xs);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
  display: inline-block;
}

/* Status badges */
.woocommerce-orders-table .woocommerce-Price-amount {
  font-weight: var(--if-fw-medium);
  font-variant-numeric: tabular-nums;
}

mark.order-status {
  background: var(--if-gold-wash);
  color: var(--if-gold-deep);
  padding: 3px 8px;
  border-radius: var(--if-r-xs);
  font-size: var(--if-fs-xs);
  font-weight: var(--if-fw-medium);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}


/* ══════════════════════════════════════════════════════════════
   8. NOTICES (added to cart, errors, etc.)
   ══════════════════════════════════════════════════════════════ */
.woocommerce-notices-wrapper {
  max-width: var(--if-container);
  margin-inline: auto;
  padding-inline: var(--if-gutter);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flex;
  align-items: center;
  gap: var(--if-s4);
  padding: var(--if-s4) var(--if-s5);
  margin-block: var(--if-s4);
  border-left: 3px solid var(--if-gold);
  background: var(--if-gold-wash);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-sm);
  color: var(--if-ink);
  list-style: none;
  flex-wrap: wrap;
}

.woocommerce-error {
  border-left-color: var(--if-sale);
  background: #FBF2F2;
}

.woocommerce-message {
  border-left-color: var(--if-success);
  background: #F1F7F3;
}

.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
  margin-left: auto;
  padding: 8px 18px;
  background: var(--if-charcoal);
  color: var(--if-white);
  border-radius: var(--if-r-sm);
  font-size: var(--if-fs-xs);
  letter-spacing: var(--if-track-wide);
  text-transform: uppercase;
  text-decoration: none;
  transition: background var(--if-dur-fast) var(--if-ease);
}

.woocommerce-message .button:hover {
  background: var(--if-gold);
  color: var(--if-charcoal);
}


/* ══════════════════════════════════════════════════════════════
   9. PAGINATION (WooCommerce)
   ══════════════════════════════════════════════════════════════ */
.woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: var(--if-s2);
  list-style: none;
  padding: 0;
  margin-block: var(--if-s7);
}

.woocommerce-pagination ul.page-numbers li {
  margin: 0;
}

.woocommerce-pagination ul.page-numbers li .page-numbers {
  display: grid;
  place-items: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--if-s3);
  font-size: var(--if-fs-sm);
  font-weight: var(--if-fw-medium);
  color: var(--if-ink);
  border: 1px solid var(--if-line);
  border-radius: var(--if-r-sm);
  transition: all var(--if-dur-fast) var(--if-ease);
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}

.woocommerce-pagination ul.page-numbers li .page-numbers:hover,
.woocommerce-pagination ul.page-numbers li .page-numbers.current {
  background: var(--if-charcoal);
  border-color: var(--if-charcoal);
  color: var(--if-white);
}


/* ══════════════════════════════════════════════════════════════
   10. BREADCRUMBS (WooCommerce)
   ══════════════════════════════════════════════════════════════ */
.woocommerce-breadcrumb {
  font-size: var(--if-fs-xs);
  color: var(--if-muted);
  padding-block: var(--if-s4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--if-s2);
}

.woocommerce-breadcrumb a {
  color: var(--if-muted);
}

.woocommerce-breadcrumb a:hover {
  color: var(--if-gold-deep);
}


/* ══════════════════════════════════════════════════════════════
   11. RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 1023px) {

  .if-shop-layout {
    grid-template-columns: 1fr;
  }

  .if-shop-sidebar {
    position: static;
  }

  /* Single product stacks */
  .single-product div.product {
    grid-template-columns: 1fr;
    gap: var(--if-s6);
  }

  .woocommerce-product-gallery {
    position: static;
  }

  /* Checkout stacks */
  form.checkout {
    grid-template-columns: 1fr;
  }

  #order_review {
    position: static;
  }

  /* Account stacks */
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

  .woocommerce-MyAccount-navigation {
    position: static;
  }

  .woocommerce-MyAccount-navigation ul {
    display: flex;
    overflow-x: auto;
    gap: var(--if-s2);
    scrollbar-width: none;
  }

  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none;
  }

  .woocommerce-MyAccount-navigation li a {
    white-space: nowrap;
  }

  .woocommerce-order-overview {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {

  ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--if-s5) var(--if-s3);
  }

  .if-shop-products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--if-s5) var(--if-s3);
  }

  /* Cart table becomes stacked */
  table.shop_table thead {
    display: none;
  }

  table.shop_table,
  table.shop_table tbody,
  table.shop_table tr,
  table.shop_table td {
    display: block;
    width: 100%;
  }

  table.shop_table tr {
    padding: var(--if-s4);
    border-bottom: 1px solid var(--if-line);
    display: grid;
    grid-template-columns: 70px 1fr auto;
    gap: var(--if-s3);
    align-items: center;
  }

  table.shop_table td {
    padding: 0;
    border: 0;
  }

  table.shop_table td.product-thumbnail {
    grid-row: span 4;
    width: 70px;
  }

  table.shop_table td.product-remove {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
  }

  table.shop_table td.product-price,
  table.shop_table td.product-quantity,
  table.shop_table td.product-subtotal {
    grid-column: 2 / -1;
    font-size: var(--if-fs-sm);
  }

  table.shop_table td.product-price::before,
  table.shop_table td.product-quantity::before,
  table.shop_table td.product-subtotal::before {
    content: attr(data-title) ": ";
    color: var(--if-muted);
    margin-right: 6px;
  }

  .woocommerce .cart .coupon {
    float: none;
    width: 100%;
    margin-bottom: var(--if-s3);
  }

  .woocommerce .cart .coupon input {
    width: 100%;
  }

  .woocommerce .cart button[name="update_cart"] {
    float: none;
    width: 100%;
  }

  .cart_totals {
    max-width: 100%;
    padding: var(--if-s5);
  }

  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .woocommerce-order-overview {
    grid-template-columns: 1fr 1fr;
    padding: var(--if-s4);
  }

  .woocommerce-tabs ul.tabs {
    gap: var(--if-s5);
  }

  .single_add_to_cart_button {
    width: 100%;
  }

  .flex-control-thumbs {
    grid-template-columns: repeat(4, 1fr);
  }

  .related.products ul.products,
  .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ══════════════════════════════════════════════════════════════
   12. SAFETY
   ══════════════════════════════════════════════════════════════ */
.woocommerce,
.woocommerce-page {
  max-width: 100vw;
  overflow-x: clip;
}

/* ═══════════════════════════════════════════════════════════════
   SHOP PAGE - product card grid + sidebar FIX
   ═══════════════════════════════════════════════════════════════ */

/* Sidebar cleaner look */
.if-shop-sidebar {
  padding: 24px !important;
  background: var(--if-ivory) !important;
  border-radius: 4px !important;
}

.if-shop-sidebar .widget {
  margin-bottom: 28px !important;
}

.if-shop-sidebar .widget__title {
  font-family: var(--if-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-charcoal) !important;
  padding-bottom: 12px !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
}

.if-shop-sidebar ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

.if-shop-sidebar ul li {
  margin: 0 !important;
}

.if-shop-sidebar ul li a {
  font-size: 0.88rem !important;
  color: var(--if-body) !important;
  transition: color 0.2s ease !important;
  text-decoration: none !important;
}

.if-shop-sidebar ul li a:hover {
  color: var(--if-gold-deep) !important;
}

/* Product grid — fixed columns, no auto-fill */
.if-shop-main ul.products,
.if-shop-main .if-shop-products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.if-shop-main ul.products li.product {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.if-shop-main ul.products li.product .if-product-card {
  flex: 1 !important;
}

/* Product card body — prevent text from squeezing */
.if-shop-main .if-product-card {
  width: 100% !important;
}

.if-shop-main .if-product-card__media {
  aspect-ratio: 3 / 4 !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 2px !important;
  background: linear-gradient(150deg, var(--if-ivory), var(--if-champagne)) !important;
}

.if-shop-main .if-product-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.if-shop-main .if-product-card__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding-top: 14px !important;
  min-width: 0 !important;
}

.if-shop-main .if-product-card__cat {
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  margin: 0 !important;
}

.if-shop-main .if-product-card__title {
  font-family: var(--if-font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: var(--if-charcoal) !important;
  margin: 0 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

.if-shop-main .if-product-card__title a {
  color: inherit !important;
  text-decoration: none !important;
}

.if-shop-main .if-product-card__title a:hover {
  color: var(--if-gold-deep) !important;
}

.if-shop-main .if-product-card__set {
  font-size: 0.75rem !important;
  color: var(--if-gold-deep) !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

.if-shop-main .if-product-card__price {
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  margin-top: 4px !important;
  padding-top: 0 !important;
}

.if-shop-main .if-product-card__price .if-product-card__unit {
  font-size: 0.78rem !important;
  color: var(--if-muted) !important;
  font-weight: 400 !important;
}

.if-shop-main .if-product-card__stock {
  font-size: 0.75rem !important;
  color: var(--if-success) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.if-shop-main .if-product-card__stock::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: currentColor !important;
}

.if-shop-main .if-product-card__actions {
  margin-top: auto !important;
  padding-top: 12px !important;
  opacity: 1 !important;
  transform: none !important;
}

.if-shop-main .if-product-card__actions .if-btn {
  font-size: 0.72rem !important;
  padding: 10px 18px !important;
  width: 100% !important;
}

/* Remove default WooCommerce text-align */
.if-shop-main .woocommerce-loop-product__title {
  font-family: var(--if-font-display) !important;
  font-size: 1.1rem !important;
  padding: 0 !important;
}

/* Toolbar */
.if-shop-toolbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 20px !important;
  margin-bottom: 32px !important;
  border-bottom: 1px solid var(--if-line) !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.woocommerce-result-count {
  font-size: 0.85rem !important;
  color: var(--if-muted) !important;
  margin: 0 !important;
}

.woocommerce-ordering select {
  padding: 10px 40px 10px 14px !important;
  font-size: 0.85rem !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 2px !important;
  background-color: #fff !important;
  min-width: 180px !important;
}

/* Tablet */
@media (max-width: 1023px) {
  .if-shop-main ul.products,
  .if-shop-main .if-shop-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 16px !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .if-shop-main ul.products,
  .if-shop-main .if-shop-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 12px !important;
  }

  .if-shop-main .if-product-card__title {
    font-size: 0.95rem !important;
  }

  .if-shop-main .if-product-card__price {
    font-size: 0.9rem !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE - FIX
   Kill purple WooCommerce button. Fix image column. Polish.
   ═══════════════════════════════════════════════════════════════ */

/* ── Kill WooCommerce default button colors ── */
.single-product .single_add_to_cart_button,
.single-product button.button,
.single-product button.button.alt,
.single-product .button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order {
  background: var(--if-charcoal) !important;
  color: var(--if-white) !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 2px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  padding: 16px 32px !important;
  transition: all 0.28s ease !important;
}

.single-product .single_add_to_cart_button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce #place_order:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* ── Product page layout — wider image, tighter text ── */
.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  align-items: start !important;
}

.woocommerce-product-gallery {
  width: 100% !important;
  position: sticky !important;
  top: calc(var(--if-header-h, 72px) + 20px) !important;
}

.woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 4px !important;
}

/* ── Product title ── */
.single-product .product_title {
  font-family: var(--if-font-display) !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
}

/* ── Price ── */
.single-product .summary .price {
  font-family: var(--if-font-body) !important;
  font-size: clamp(1.4rem, 2vw, 1.8rem) !important;
  font-weight: 500 !important;
  color: var(--if-gold-deep) !important;
  font-variant-numeric: tabular-nums !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin: 0 0 20px 0 !important;
}

.single-product .summary .price::after {
  content: "/ Set" !important;
  font-size: 0.75em !important;
  color: var(--if-muted) !important;
  font-weight: 400 !important;
}

/* ── Stock badge ── */
.single-product .stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  background: #F1F7F3 !important;
  color: var(--if-success) !important;
  border-radius: 999px !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  margin: 0 0 24px 0 !important;
}

.single-product .stock::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: currentColor !important;
}

/* ── Set info box (from plugin) — polish ── */
.single-product .if-set-box {
  margin: 0 0 28px 0 !important;
  padding: 20px 24px !important;
  border: 1px solid var(--if-line) !important;
  border-left: 3px solid var(--if-gold) !important;
  background: var(--if-gold-wash) !important;
  border-radius: 2px !important;
  display: grid !important;
  gap: 10px !important;
}

.single-product .if-set-box__row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
}

.single-product .if-set-box__label {
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  font-weight: 500 !important;
}

.single-product .if-set-box__value {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
}

/* ── Quantity input ── */
.single-product form.cart .quantity input.qty {
  width: 80px !important;
  height: 52px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 2px !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  background: #fff !important;
  color: var(--if-charcoal) !important;
}

.single-product form.cart .quantity input.qty:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

/* ── Add to cart form spacing ── */
.single-product form.cart {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding-block: 0 !important;
  border: 0 !important;
  margin-top: 8px !important;
}

.single-product form.cart .single_add_to_cart_button {
  width: 100% !important;
  max-width: 320px !important;
}

/* ── Product meta ── */
.single-product .product_meta {
  margin-top: 32px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--if-line) !important;
  font-size: 0.82rem !important;
  color: var(--if-muted) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.single-product .product_meta a {
  color: var(--if-gold-deep) !important;
  text-decoration: none !important;
}

.single-product .product_meta a:hover {
  color: var(--if-charcoal) !important;
}

/* ── Gallery thumbnails ── */
.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
  margin-top: 16px !important;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .flex-control-thumbs li {
  margin: 0 !important;
}

.single-product .flex-control-thumbs img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 2px !important;
  border: 1px solid transparent !important;
  opacity: 0.6 !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.single-product .flex-control-thumbs img:hover,
.single-product .flex-control-thumbs img.flex-active {
  opacity: 1 !important;
  border-color: var(--if-gold) !important;
}

/* ── Zoom button ── */
.single-product .woocommerce-product-gallery__trigger {
  background: rgba(255, 255, 255, 0.95) !important;
  border-radius: 999px !important;
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--if-charcoal) !important;
}

.single-product .woocommerce-product-gallery__trigger:hover {
  background: var(--if-gold) !important;
  color: #fff !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1023px) {
  .single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .woocommerce-product-gallery {
    position: static !important;
  }

  .single-product .product_title {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }
}

@media (max-width: 640px) {
  .single-product form.cart .single_add_to_cart_button {
    max-width: 100% !important;
  }

  .single-product .if-set-box {
    padding: 16px 18px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT - image size fix
   Image max 620px tall. Layout balanced.
   ═══════════════════════════════════════════════════════════════ */

/* Constrain the gallery wrapper */
.single-product .woocommerce-product-gallery {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Image wrapper — fixed aspect ratio */
.single-product .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  max-height: 620px !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  background: var(--if-ivory) !important;
  position: relative !important;
}

/* Every gallery image — constrain */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-height: 620px !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border-radius: 4px !important;
}

/* Make sure main grid balances */
.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 500px) minmax(0, 1fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Summary column */
.single-product .summary.entry-summary {
  width: 100% !important;
  max-width: 560px !important;
}

/* ── Tabs (DESCRIPTION / REVIEWS) — move below both columns ── */
.single-product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  margin-top: 56px !important;
  padding-top: 48px !important;
  border-top: 1px solid var(--if-line) !important;
}

.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 32px !important;
  border-bottom: 1px solid var(--if-line) !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 14px 0 !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  text-decoration: none !important;
  position: relative !important;
  background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--if-charcoal) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 2px !important;
  background: var(--if-gold) !important;
}

.single-product .woocommerce-tabs .panel {
  max-width: 720px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: var(--if-body) !important;
}

/* ── Price/set-info re-check ── */
.single-product .summary .price {
  margin: 0 0 16px 0 !important;
}

.single-product .if-set-box {
  margin-bottom: 24px !important;
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .single-product .woocommerce-product-gallery {
    max-width: 100% !important;
  }

  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image img {
    max-height: 500px !important;
  }
}

@media (max-width: 640px) {
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image img {
    max-height: 420px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT - remove sticky gallery (scroll normally)
   ═══════════════════════════════════════════════════════════════ */

.single-product .woocommerce-product-gallery {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  align-self: start !important;
}

/* Remove sticky from image column entirely */
.single-product div.product > .woocommerce-product-gallery,
.single-product div.product > div:first-child {
  position: static !important;
  top: auto !important;
}

/* Tabs — ensure they come AFTER both columns */
.single-product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  clear: both !important;
  position: relative !important;
  margin-top: 56px !important;
  padding-top: 48px !important;
  border-top: 1px solid var(--if-line) !important;
  z-index: 1 !important;
}

/* Ensure grid doesn't allow overlap */
.single-product div.product {
  align-items: start !important;
  grid-auto-flow: row !important;
}

/* Kill any theme-level sticky leftovers */
.single-product .summary,
.single-product .entry-summary {
  position: static !important;
  top: auto !important;
}


/* ═══════════════════════════════════════════════════════════════
   PRODUCT PAGE - features strip, viewers, short desc
   ═══════════════════════════════════════════════════════════════ */

/* Short description under ATC */
.if-product-short-desc {
  margin-top: 24px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--if-line) !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: var(--if-body) !important;
}

.if-product-short-desc p {
  margin: 0 0 12px 0 !important;
}

.if-product-short-desc p:last-child {
  margin-bottom: 0 !important;
}

/* Feature strip */
.if-product-features {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  margin-top: 28px !important;
  padding: 20px !important;
  background: var(--if-ivory) !important;
  border-radius: 2px !important;
}

.if-product-features__item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: var(--if-ink) !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}

.if-product-features__icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--if-gold) !important;
  border-radius: 999px !important;
  color: var(--if-gold-deep) !important;
  background: #fff !important;
  flex-shrink: 0 !important;
}

.if-product-features__icon svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
}

.if-product-features__label {
  display: block !important;
}

/* Viewer count */
.if-product-viewers {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 20px !important;
  padding: 10px 16px !important;
  background: #FFF6F0 !important;
  border-left: 3px solid #E85D3E !important;
  border-radius: 2px !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: #8B2A0F !important;
  letter-spacing: 0.02em !important;
}

.if-product-viewers__pulse {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #E85D3E !important;
  position: relative !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.if-product-viewers__pulse::after {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: 50% !important;
  border: 2px solid #E85D3E !important;
  animation: ifViewerPulse 1.6s ease-out infinite !important;
}

@keyframes ifViewerPulse {
  0%   { transform: scale(1);   opacity: 1; }
  100% { transform: scale(2.5); opacity: 0; }
}

/* Responsive */
@media (max-width: 640px) {
  .if-product-features {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 16px !important;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .if-product-viewers__pulse::after {
    animation: none !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   PRODUCT PAGE - description box full width under image + summary
   ═══════════════════════════════════════════════════════════════ */

/* Tabs container - full width, below both columns */
.single-product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 72px 0 0 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  clear: both !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Tab list */
.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  margin: 0 0 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 18px 32px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  text-decoration: none !important;
  background: transparent !important;
  position: relative !important;
  border: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--if-charcoal) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 2px !important;
  background: var(--if-gold) !important;
}

/* Panels wrapper — a visible box */
.single-product .woocommerce-tabs .panel {
  width: 100% !important;
  max-width: 100% !important;
  padding: 40px 48px !important;
  margin: 0 !important;
  background: var(--if-ivory) !important;
  border: 1px solid var(--if-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 4px 4px !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  color: var(--if-body) !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce-tabs .panel > h2 {
  display: none !important;
}

.single-product .woocommerce-tabs .panel p {
  margin: 0 0 16px 0 !important;
}

.single-product .woocommerce-tabs .panel p:last-child {
  margin-bottom: 0 !important;
}

.single-product .woocommerce-tabs .panel h3,
.single-product .woocommerce-tabs .panel h4 {
  font-family: var(--if-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 24px 0 10px 0 !important;
}

.single-product .woocommerce-tabs .panel ul,
.single-product .woocommerce-tabs .panel ol {
  padding-left: 20px !important;
  margin: 0 0 16px 0 !important;
}

.single-product .woocommerce-tabs .panel li {
  margin-bottom: 8px !important;
}

/* Reviews tab needs more space */
.single-product .woocommerce-tabs #reviews .commentlist {
  padding: 0 !important;
  list-style: none !important;
  margin: 0 0 32px 0 !important;
}

/* Responsive */
@media (max-width: 767px) {
  .single-product .woocommerce-tabs {
    margin-top: 48px !important;
  }

  .single-product .woocommerce-tabs ul.tabs li a {
    padding: 14px 20px !important;
    font-size: 0.72rem !important;
  }

  .single-product .woocommerce-tabs .panel {
    padding: 24px 20px !important;
  }
}

/* Remove short-desc block if it still renders anywhere */
.if-product-short-desc {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   PRODUCT - description directly below image, same width
   ═══════════════════════════════════════════════════════════════ */

/* Reset previous full-width override */
.single-product .woocommerce-tabs {
  grid-column: 1 / 2 !important;             /* left column only */
  width: 100% !important;
  max-width: 520px !important;                /* same as image */
  margin: 32px 0 0 0 !important;              /* 32px gap from image */
  padding: 0 !important;
  border-top: 0 !important;
  clear: both !important;
  position: relative !important;
  z-index: 2 !important;
  align-self: start !important;
}

/* Tab list — horizontal, compact */
.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  flex: 1 !important;
  text-align: center !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 14px 12px !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  text-decoration: none !important;
  background: transparent !important;
  position: relative !important;
  border: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--if-charcoal) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 2px !important;
  background: var(--if-gold) !important;
}

/* Panel — bordered box, same width as tabs */
.single-product .woocommerce-tabs .panel {
  width: 100% !important;
  max-width: 100% !important;
  padding: 28px 32px !important;
  margin: 0 !important;
  background: var(--if-ivory) !important;
  border: 1px solid var(--if-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 4px 4px !important;
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  color: var(--if-body) !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce-tabs .panel > h2 {
  display: none !important;
}

.single-product .woocommerce-tabs .panel p {
  margin: 0 0 14px 0 !important;
}

.single-product .woocommerce-tabs .panel p:last-child {
  margin-bottom: 0 !important;
}

/* Make sure grid rows work */
.single-product div.product {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

/* Right column (summary) also starts at top */
.single-product div.product .summary {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
}

/* Left column image */
.single-product div.product > .woocommerce-product-gallery {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 2 !important;
}

/* Description section is a NEW grid row, left column */
.single-product div.product > .woocommerce-tabs {
  grid-column: 1 / 2 !important;
  grid-row: 2 / 3 !important;
}

/* Related products section stays full width */
.single-product .related.products,
.single-product .upsells.products {
  grid-column: 1 / -1 !important;
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .single-product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    max-width: 100% !important;
    margin-top: 40px !important;
  }

  .single-product div.product .summary {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .single-product div.product > .woocommerce-product-gallery {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   PRODUCT PAGE - NEW LAYOUT (left col: image + desc, right: summary)
   ═══════════════════════════════════════════════════════════════ */

/* Parent becomes flex with 2 columns */
.single-product div.product {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 72px !important;
  align-items: flex-start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  grid-template-columns: none !important;
}

/* Left column: image + description stacked */
.if-product-left-col {
  flex: 1 1 500px;
  max-width: 520px;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* Right column: summary */
.if-product-right-col {
  flex: 1 1 400px;
  max-width: 560px;
  min-width: 0;
}

/* Gallery inside left column — no sticky, no extra spacing */
.single-product .if-product-left-col .woocommerce-product-gallery {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .if-product-left-col .woocommerce-product-gallery__wrapper,
.single-product .if-product-left-col .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-height: none !important;
  height: auto !important;
}

/* Description/tabs — right under image, small gap */
.single-product .if-product-left-col .woocommerce-tabs {
  width: 100% !important;
  max-width: 100% !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  grid-column: auto !important;
  position: static !important;
}

/* Tab list */
.single-product .if-product-left-col .woocommerce-tabs ul.tabs {
  display: flex !important;
  border-bottom: 1px solid var(--if-line) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  gap: 0 !important;
}

.single-product .if-product-left-col .woocommerce-tabs ul.tabs li {
  flex: 1 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.single-product .if-product-left-col .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 14px 12px !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  text-decoration: none !important;
  background: transparent !important;
  position: relative !important;
  border: 0 !important;
}

.single-product .if-product-left-col .woocommerce-tabs ul.tabs li.active a {
  color: var(--if-charcoal) !important;
}

.single-product .if-product-left-col .woocommerce-tabs ul.tabs li.active a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 2px !important;
  background: var(--if-gold) !important;
}

/* Panel box */
.single-product .if-product-left-col .woocommerce-tabs .panel {
  width: 100% !important;
  padding: 24px 28px !important;
  margin: 0 !important;
  background: var(--if-ivory) !important;
  border: 1px solid var(--if-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 4px 4px !important;
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  color: var(--if-body) !important;
  box-sizing: border-box !important;
}

.single-product .if-product-left-col .woocommerce-tabs .panel > h2 {
  display: none !important;
}

/* Summary inside right column */
.single-product .if-product-right-col .summary {
  width: 100% !important;
  margin: 0 !important;
}

/* Related products - full width below */
.single-product .related.products,
.single-product .upsells.products {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 80px !important;
}

/* WooCommerce messages/alerts should be full width */
.single-product .woocommerce-notices-wrapper,
.single-product .woocommerce-message,
.single-product .woocommerce-info {
  flex: 1 1 100% !important;
  width: 100% !important;
}

/* ── Responsive: stack on tablet/mobile ── */
@media (max-width: 1023px) {
  .single-product div.product {
    flex-direction: column !important;
    gap: 32px !important;
  }

  .if-product-left-col,
  .if-product-right-col {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS
   ═══════════════════════════════════════════════════════════════ */
.if-testimonials {
  background: var(--if-white);
}

.if-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.if-testimonial {
  padding: 32px 28px;
  background: var(--if-ivory);
  border-radius: 4px;
  border-left: 3px solid var(--if-gold);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.if-testimonial:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(28, 27, 25, 0.08);
}

.if-testimonial__stars {
  display: flex;
  gap: 3px;
}

.if-testimonial__star {
  width: 16px;
  height: 16px;
  fill: var(--if-gold);
  color: var(--if-gold);
}

.if-testimonial__star.is-empty {
  fill: var(--if-line-strong);
  color: var(--if-line-strong);
}

.if-testimonial__review {
  font-family: var(--if-font-display);
  font-size: 1.05rem;
  line-height: 1.5;
  color: var(--if-body);
  margin: 0;
  font-style: italic;
  flex: 1;
}

.if-testimonial__author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--if-line);
}

.if-testimonial__avatar {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: var(--if-charcoal);
  color: var(--if-gold);
  display: grid;
  place-items: center;
  font-family: var(--if-font-display);
  font-size: 1.15rem;
  font-weight: 600;
  flex-shrink: 0;
}

.if-testimonial__name {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--if-charcoal);
  line-height: 1.2;
}

.if-testimonial__city {
  display: block;
  font-size: 0.75rem;
  color: var(--if-muted);
  margin-top: 2px;
}

@media (max-width: 1023px) {
  .if-testimonials__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .if-testimonials__grid {
    grid-template-columns: 1fr;
  }
}


/* ═══════════════════════════════════════════════════════════════
   ORDER POPUP
   ═══════════════════════════════════════════════════════════════ */
.if-order-popup {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 900;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 380px;
  padding: 12px 40px 12px 12px;
  background: #fff;
  border: 1px solid var(--if-line);
  border-left: 3px solid var(--if-gold);
  border-radius: 4px;
  box-shadow: 0 12px 40px rgba(28, 27, 25, 0.14);
  transform: translateY(120%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.4s ease;
  font-family: var(--if-font-body);
}

.if-order-popup.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.if-order-popup__media {
  width: 52px;
  height: 52px;
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--if-ivory);
}

.if-order-popup__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.if-order-popup__body {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.if-order-popup__title {
  font-size: 0.72rem;
  color: var(--if-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 500;
}

.if-order-popup__product {
  font-family: var(--if-font-display);
  font-size: 0.98rem;
  font-weight: 500;
  color: var(--if-charcoal);
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.if-order-popup__product:hover {
  color: var(--if-gold-deep);
}

.if-order-popup__time {
  font-size: 0.72rem;
  color: var(--if-success);
  font-weight: 500;
  margin-top: 2px;
}

.if-order-popup__close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: transparent;
  color: var(--if-muted);
  font-size: 1.1rem;
  line-height: 1;
  border: 0;
  cursor: pointer;
  transition: background 0.2s ease;
}

.if-order-popup__close:hover {
  background: var(--if-ivory);
  color: var(--if-charcoal);
}

@media (max-width: 767px) {
  .if-order-popup {
    bottom: 16px;
    left: 12px;
    right: 12px;
    max-width: none;
  }

  .if-order-popup__product {
    font-size: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .if-order-popup {
    transition: opacity 0.2s ease;
    transform: none;
  }
}


/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS + HOMEPAGE GAP FIX
   ═══════════════════════════════════════════════════════════════ */

/* Homepage sections — no double padding */
.if-home > section:empty,
.if-home > .if-testimonials:empty {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
}

/* Testimonials section — tighter spacing */
.if-testimonials {
  padding-block: clamp(48px, 6vw, 96px) !important;
  background: var(--if-white) !important;
}

.if-testimonials .if-section__head {
  margin-bottom: 40px !important;
}

/* Remove extra bottom spacing from last section before footer */
.if-home > :last-child {
  margin-bottom: 0 !important;
}

/* Pre-footer CTA already has padding — remove testimonials bottom padding if it is last */
.if-testimonials + .if-pre-footer,
.if-testimonials + section {
  margin-top: 0 !important;
}

/* Blank sections on homepage hide */
.if-home section:has(> .if-container:empty) {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   CART / CHECKOUT / ACCOUNT - full height, no cramped look
   ═══════════════════════════════════════════════════════════════ */

/* Cart page - fill the viewport */
.woocommerce-cart .if-main,
.woocommerce-checkout .if-main,
.woocommerce-account .if-main {
  min-height: calc(100vh - 300px) !important;
}

.woocommerce-cart .if-page-content,
.woocommerce-cart .if-page .if-container {
  padding-block: 0 !important;
}

/* Empty cart section */
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop {
  text-align: center !important;
  padding-block: 40px !important;
}

/* Cart page header - more spacing */
.woocommerce-cart .if-page-header,
.woocommerce-cart .if-page-title {
  padding-block: 60px 40px !important;
  margin: 0 !important;
}

.woocommerce-cart .if-page-title {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

/* Cart form wrapper */
.woocommerce-cart .woocommerce {
  padding-block: 0 80px !important;
}

/* Product table spacing */
.woocommerce-cart table.shop_table {
  margin-bottom: 40px !important;
}

/* Cart totals spacing */
.woocommerce-cart .cart-collaterals {
  margin-top: 40px !important;
}

/* Free shipping bar spacing */
.woocommerce-cart .if-ship-bar {
  margin: 20px 0 32px 0 !important;
}

/* Trust strip on cart page — full width, no margin weird */
.woocommerce-cart .if-trust {
  margin-top: 60px !important;
  margin-bottom: 0 !important;
}

/* Checkout similar */
.woocommerce-checkout .if-page-header,
.woocommerce-checkout .if-page-title {
  padding-block: 60px 40px !important;
  text-align: center !important;
}

.woocommerce-checkout .woocommerce {
  padding-block: 0 80px !important;
}

/* Account page */
.woocommerce-account .if-page-header,
.woocommerce-account .if-page-title {
  padding-block: 60px 40px !important;
  text-align: center !important;
}

.woocommerce-account .woocommerce {
  padding-block: 0 80px !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .woocommerce-cart .if-page-header,
  .woocommerce-cart .if-page-title,
  .woocommerce-checkout .if-page-header,
  .woocommerce-checkout .if-page-title,
  .woocommerce-account .if-page-header,
  .woocommerce-account .if-page-title {
    padding-block: 40px 24px !important;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-account .woocommerce {
    padding-block: 0 40px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   BREADCRUMBS - MODERN PILL STYLE
   ═══════════════════════════════════════════════════════════════ */

.woocommerce-breadcrumb,
.if-breadcrumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 24px !important;
  margin: 0 0 40px 0 !important;
  background: var(--if-ivory) !important;
  border-radius: 4px !important;
  border-left: 3px solid var(--if-gold) !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  line-height: 1.4 !important;
}

.woocommerce-breadcrumb a,
.if-breadcrumbs a {
  color: var(--if-body) !important;
  text-decoration: none !important;
  position: relative !important;
  padding: 4px 0 !important;
  transition: color 0.25s ease, padding 0.25s ease !important;
}

.woocommerce-breadcrumb a:hover,
.if-breadcrumbs a:hover {
  color: var(--if-gold-deep) !important;
}

/* Separator — replace default with elegant chevron */
.woocommerce-breadcrumb .breadcrumb-separator,
.woocommerce-breadcrumb span[aria-hidden="true"],
.if-breadcrumbs li + li::before {
  color: var(--if-gold) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0 !important;
  margin: 0 4px !important;
  font-weight: 600 !important;
}

/* Last item (current page) — bold, dark */
.woocommerce-breadcrumb > :last-child,
.if-breadcrumbs [aria-current="page"],
.if-breadcrumbs li:last-child {
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
}

/* Home icon styled */
.woocommerce-breadcrumb a:first-child::before {
  content: "⌂" !important;
  margin-right: 6px !important;
  color: var(--if-gold) !important;
  font-size: 0.95rem !important;
}

/* Responsive */
@media (max-width: 767px) {
  .woocommerce-breadcrumb,
  .if-breadcrumbs {
    font-size: 0.72rem !important;
    padding: 12px 16px !important;
    gap: 6px !important;
    margin-bottom: 24px !important;
    letter-spacing: 0.04em !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CART PAGE - MODERN PREMIUM REDESIGN
   Bigger fonts, larger images, better spacing, elevated feel.
   ═══════════════════════════════════════════════════════════════ */

/* Cart page title */
.woocommerce-cart .if-page-title,
.woocommerce-cart .entry-title {
  font-family: var(--if-font-display) !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

/* Under title - gold rule */
.woocommerce-cart .if-page-header::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  background: var(--if-gold);
  margin: 24px auto 48px;
}

/* Cart table redesign */
.woocommerce-cart table.shop_table {
  border: 0 !important;
  background: transparent !important;
  border-collapse: separate !important;
  border-spacing: 0 16px !important;
  margin-bottom: 32px !important;
}

/* Header row */
.woocommerce-cart table.shop_table thead {
  display: none !important;
}

/* Each product row — becomes a card */
.woocommerce-cart table.shop_table tbody tr.cart_item {
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(28, 27, 25, 0.04) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item:hover {
  box-shadow: 0 6px 24px rgba(28, 27, 25, 0.08) !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
  padding: 28px 24px !important;
  border: 0 !important;
  vertical-align: middle !important;
  background: transparent !important;
}

/* Product thumbnail cell */
.woocommerce-cart table.shop_table .product-thumbnail {
  width: 140px !important;
  padding-right: 0 !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a {
  display: block !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.08) !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 120px !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 4px !important;
  transition: transform 0.4s ease !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a:hover img {
  transform: scale(1.04) !important;
}

/* Product name cell */
.woocommerce-cart table.shop_table .product-name {
  padding-left: 24px !important;
}

.woocommerce-cart table.shop_table .product-name a {
  font-family: var(--if-font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  display: block !important;
  margin-bottom: 8px !important;
  transition: color 0.2s ease !important;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--if-gold-deep) !important;
}

/* Variation / meta line */
.woocommerce-cart table.shop_table .product-name .variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 16px !important;
  margin-top: 10px !important;
  font-size: 0.82rem !important;
  color: var(--if-muted) !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
  font-weight: 600 !important;
  color: var(--if-gold-deep) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: 0.72rem !important;
  margin-right: 4px !important;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
  color: var(--if-body) !important;
  margin: 0 !important;
  font-weight: 500 !important;
}

/* Price cells */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
  color: var(--if-gold-deep) !important;
}

/* Quantity — bigger, modern */
.woocommerce-cart table.shop_table .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #fff !important;
  height: 48px !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty {
  width: 64px !important;
  height: 48px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  background: transparent !important;
  font-variant-numeric: tabular-nums !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart table.shop_table .product-quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty:focus {
  outline: none !important;
}

/* Remove button — elegant */
.woocommerce-cart table.shop_table .product-remove {
  width: 60px !important;
  text-align: center !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  background: var(--if-ivory) !important;
  color: var(--if-muted) !important;
  border-radius: 999px !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: #9B2C2C !important;
  color: #fff !important;
  transform: rotate(90deg) !important;
}

/* Cart actions row */
.woocommerce-cart table.shop_table .actions {
  background: transparent !important;
  border: 0 !important;
  padding: 24px 0 !important;
}

.woocommerce-cart table.shop_table .actions .coupon {
  float: left !important;
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
}

.woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
  padding: 14px 18px !important;
  min-width: 240px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.88rem !important;
  background: #fff !important;
}

.woocommerce-cart table.shop_table .actions .coupon button {
  padding: 14px 28px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.woocommerce-cart table.shop_table .actions .coupon button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"] {
  float: right !important;
  padding: 14px 28px !important;
  background: transparent !important;
  color: var(--if-charcoal) !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"]:hover {
  background: var(--if-charcoal) !important;
  color: #fff !important;
}

/* Cart totals card — modern */
.woocommerce-cart .cart_totals {
  max-width: 520px !important;
  margin-left: auto !important;
  padding: 40px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 28px 0 !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-cart .cart_totals table {
  border: 0 !important;
  background: transparent !important;
  margin-bottom: 24px !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
  background: transparent !important;
  font-size: 1rem !important;
}

.woocommerce-cart .cart_totals table th {
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding-top: 24px !important;
  border-bottom: 0 !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--if-gold-deep) !important;
}

/* Checkout button — big, prominent */
.woocommerce-cart .cart_totals .checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 20px 32px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.12) !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198, 161, 91, 0.3) !important;
}

/* Free shipping bar — bigger */
.woocommerce-cart .if-ship-bar {
  padding: 22px 28px !important;
  margin-bottom: 32px !important;
}

.woocommerce-cart .if-ship-bar__message {
  font-size: 0.95rem !important;
  margin-bottom: 16px !important;
}

.woocommerce-cart .if-ship-bar__track {
  height: 8px !important;
}

/* Cross-sells / related under cart */
.woocommerce-cart .related.products,
.woocommerce-cart .cross-sells {
  margin-top: 80px !important;
  padding-top: 60px !important;
  border-top: 1px solid var(--if-line) !important;
}

.woocommerce-cart .related.products h2,
.woocommerce-cart .cross-sells h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.8rem !important;
  text-align: center !important;
  margin-bottom: 40px !important;
}

/* ── Responsive ── */
@media (max-width: 767px) {
  .woocommerce-cart table.shop_table tbody tr.cart_item td {
    padding: 20px 16px !important;
  }

  .woocommerce-cart table.shop_table .product-thumbnail img {
    width: 90px !important;
    height: 120px !important;
  }

  .woocommerce-cart table.shop_table .product-name a {
    font-size: 1.1rem !important;
  }

  .woocommerce-cart .cart_totals {
    padding: 24px 20px !important;
  }

  .woocommerce-cart .cart_totals h2 {
    font-size: 1.35rem !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon {
    flex-direction: column !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
    min-width: 0 !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table .actions button[name="update_cart"] {
    float: none !important;
    width: 100% !important;
    margin-top: 12px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT PAGE - MODERN PREMIUM REDESIGN
   ═══════════════════════════════════════════════════════════════ */

/* Page title */
.woocommerce-checkout .if-page-title,
.woocommerce-checkout .entry-title {
  font-family: var(--if-font-display) !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .if-page-header::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  background: var(--if-gold);
  margin: 24px auto 48px;
}

/* Layout: 2 columns */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 56px !important;
  align-items: start !important;
}

/* LEFT: Customer details */
.woocommerce-checkout #customer_details {
  display: block !important;
  grid-column: 1 / 2 !important;
}

/* RIGHT: Order review */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column: 2 / 3 !important;
}

.woocommerce-checkout #order_review_heading {
  grid-row: 1 !important;
  font-family: var(--if-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  letter-spacing: -0.01em !important;
}

/* Kill sticky — free scroll */
.woocommerce-checkout #order_review {
  position: static !important;
  top: auto !important;
}

/* Section headings — Billing, Shipping, Additional */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: var(--if-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  color: var(--if-gold-deep) !important;
  margin: 0 0 24px 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--if-line) !important;
}

/* Form fields wrapper */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}

/* Form rows */
.woocommerce-checkout .form-row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes {
  grid-column: 1 / -1 !important;
}

/* Labels */
.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: var(--if-ink) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 8px !important;
}

.woocommerce-checkout .form-row label .required {
  color: var(--if-sale) !important;
  text-decoration: none !important;
  margin-left: 2px !important;
}

.woocommerce-checkout .form-row label .optional {
  color: var(--if-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

/* Inputs — bigger, cleaner */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.95rem !important;
  color: var(--if-charcoal) !important;
  background: #fff !important;
  transition: all 0.25s ease !important;
  box-shadow: none !important;
}

.woocommerce-checkout .form-row textarea {
  min-height: 120px !important;
  padding: 16px 18px !important;
  height: auto !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

.woocommerce-checkout .form-row input.input-text:hover,
.woocommerce-checkout .form-row textarea:hover,
.woocommerce-checkout .form-row select:hover,
.woocommerce-checkout .select2-container .select2-selection--single:hover {
  border-color: var(--if-line-strong) !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

/* Select2 — align text */
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 52px !important;
  padding-left: 18px !important;
  color: var(--if-charcoal) !important;
  font-size: 0.95rem !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 52px !important;
  right: 16px !important;
}

.woocommerce-checkout .select2-dropdown {
  border: 1px solid var(--if-gold) !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.12) !important;
  overflow: hidden !important;
}

.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  padding: 12px 16px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
}

.woocommerce-checkout .select2-results__option {
  padding: 12px 18px !important;
  font-size: 0.9rem !important;
}

.woocommerce-checkout .select2-results__option--highlighted[aria-selected] {
  background: var(--if-gold-wash) !important;
  color: var(--if-charcoal) !important;
}

/* Checkbox — "Ship to different address" */
.woocommerce-checkout .form-row .input-checkbox,
.woocommerce-checkout #ship-to-different-address-checkbox {
  width: 20px !important;
  height: 20px !important;
  accent-color: var(--if-gold) !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 24px !important;
}

/* Order review — elevated card */
.woocommerce-checkout #order_review {
  padding: 36px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
  margin: 0 !important;
}

/* Order review table */
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  border: 0 !important;
  background: transparent !important;
  margin-bottom: 24px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table thead {
  display: none !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
  background: transparent !important;
  text-align: left !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name {
  font-family: var(--if-font-display) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  line-height: 1.35 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name strong {
  font-weight: 500 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name .variation,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name .wc-item-meta {
  font-size: 0.78rem !important;
  color: var(--if-muted) !important;
  margin-top: 6px !important;
  display: block !important;
  font-family: var(--if-font-body) !important;
  font-weight: 400 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

/* Cart/order subtotal rows */
.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
  font-size: 1rem !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-subtotal th {
  color: var(--if-body) !important;
  font-weight: 500 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-subtotal td {
  text-align: right !important;
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
  padding-top: 24px !important;
  border-bottom: 0 !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
  color: var(--if-gold-deep) !important;
}

/* Payment section */
.woocommerce-checkout #payment {
  margin-top: 32px !important;
  padding-top: 28px !important;
  border-top: 1px solid var(--if-line) !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  display: grid !important;
  gap: 12px !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li {
  padding: 16px 20px !important;
  background: var(--if-ivory) !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  transition: all 0.25s ease !important;
  position: relative !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li:hover {
  border-color: var(--if-gold) !important;
  background: var(--if-gold-wash) !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--if-gold) !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li label {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li label img {
  max-height: 24px !important;
  margin-left: 8px !important;
  display: inline-block !important;
}

/* Payment box — description */
.woocommerce-checkout #payment .payment_box {
  margin-top: 14px !important;
  padding: 14px 18px !important;
  background: #fff !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 2px !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
  color: var(--if-body) !important;
}

.woocommerce-checkout #payment .payment_box::before {
  display: none !important;
}

/* Place order button */
.woocommerce-checkout #place_order {
  width: 100% !important;
  padding: 22px 32px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.12) !important;
}

.woocommerce-checkout #place_order:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198, 161, 91, 0.3) !important;
}

/* Coupon toggle */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
  padding: 18px 24px !important;
  background: var(--if-gold-wash) !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 4px !important;
  font-size: 0.88rem !important;
  margin-bottom: 32px !important;
  color: var(--if-ink) !important;
}

.woocommerce-checkout .woocommerce-info a {
  color: var(--if-gold-deep) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

.woocommerce-checkout .checkout_coupon {
  display: flex !important;
  gap: 12px !important;
  padding: 20px 24px !important;
  background: var(--if-ivory) !important;
  border-radius: 4px !important;
  margin-bottom: 32px !important;
  border: 1px solid var(--if-line) !important;
}

.woocommerce-checkout .checkout_coupon input {
  flex: 1 !important;
  height: 48px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
}

.woocommerce-checkout .checkout_coupon button {
  padding: 12px 24px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.woocommerce-checkout .checkout_coupon button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Trust strip on checkout */
.woocommerce-checkout .if-trust {
  margin-top: 40px !important;
  border-radius: 4px !important;
}

/* Free shipping bar */
.woocommerce-checkout .if-ship-bar {
  margin-bottom: 32px !important;
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .woocommerce-checkout #order_review {
    padding: 24px 20px !important;
  }

  .woocommerce-checkout #order_review_heading {
    font-size: 1.35rem !important;
  }

  .woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
  .woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.15rem !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CART TABLE - PROPER ALIGNMENT FIX
   WooCommerce default table structure, styled properly.
   ═══════════════════════════════════════════════════════════════ */

/* Reset previous overrides */
.woocommerce-cart table.shop_table {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin-bottom: 32px !important;
  table-layout: fixed !important;
}

/* Header row */
.woocommerce-cart table.shop_table thead {
  display: table-header-group !important;
}

.woocommerce-cart table.shop_table thead th {
  padding: 16px 12px !important;
  background: var(--if-ivory) !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-charcoal) !important;
  text-align: left !important;
  border: 0 !important;
}

.woocommerce-cart table.shop_table thead th.product-thumbnail {
  width: 140px !important;
}

.woocommerce-cart table.shop_table thead th.product-price,
.woocommerce-cart table.shop_table thead th.product-subtotal {
  width: 130px !important;
  text-align: right !important;
}

.woocommerce-cart table.shop_table thead th.product-quantity {
  width: 140px !important;
  text-align: center !important;
}

.woocommerce-cart table.shop_table thead th.product-remove {
  width: 60px !important;
  text-align: center !important;
}

/* Body rows */
.woocommerce-cart table.shop_table tbody tr.cart_item {
  background: #fff !important;
  border: 0 !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
  padding: 24px 12px !important;
  border-bottom: 1px solid var(--if-line) !important;
  vertical-align: middle !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  color: var(--if-body) !important;
}

/* Product thumbnail cell */
.woocommerce-cart table.shop_table .product-thumbnail {
  width: 140px !important;
  text-align: center !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a {
  display: block !important;
  width: 100px !important;
  margin: 0 auto !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.08) !important;
  transition: transform 0.3s ease !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a:hover {
  transform: translateY(-2px) !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 100px !important;
  height: 133px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Product name cell */
.woocommerce-cart table.shop_table .product-name {
  text-align: left !important;
  vertical-align: top !important;
  padding-top: 28px !important;
}

.woocommerce-cart table.shop_table .product-name a {
  font-family: var(--if-font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  display: block !important;
  margin-bottom: 10px !important;
  transition: color 0.2s ease !important;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--if-gold-deep) !important;
}

/* Set info variation */
.woocommerce-cart table.shop_table .product-name .variation {
  display: block !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.85rem !important;
  color: var(--if-muted) !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt,
.woocommerce-cart table.shop_table .product-name .variation dd {
  display: inline !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  float: none !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
  font-weight: 600 !important;
  color: var(--if-gold-deep) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.72rem !important;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}

.woocommerce-cart table.shop_table .product-name .variation p {
  margin: 0 16px 0 0 !important;
  display: inline-block !important;
}

/* Price cells */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  text-align: right !important;
  font-family: var(--if-font-body) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
  color: var(--if-gold-deep) !important;
}

/* Quantity cell */
.woocommerce-cart table.shop_table .product-quantity {
  text-align: center !important;
}

.woocommerce-cart table.shop_table .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  height: 48px !important;
  overflow: hidden !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty {
  width: 60px !important;
  height: 48px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Remove cell */
.woocommerce-cart table.shop_table .product-remove {
  text-align: center !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  background: var(--if-ivory) !important;
  color: var(--if-muted) !important;
  border-radius: 999px !important;
  font-size: 1.15rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: #9B2C2C !important;
  color: #fff !important;
  transform: rotate(90deg) !important;
}

/* Actions row */
.woocommerce-cart table.shop_table tbody tr td.actions {
  padding: 24px 0 0 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  display: table-cell !important;
}

.woocommerce-cart table.shop_table .actions .coupon {
  float: left !important;
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
}

.woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
  padding: 14px 18px !important;
  min-width: 240px !important;
  height: 48px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.88rem !important;
  background: #fff !important;
  text-transform: none !important;
}

.woocommerce-cart table.shop_table .actions .coupon button {
  padding: 0 28px !important;
  height: 48px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.woocommerce-cart table.shop_table .actions .coupon button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"] {
  float: right !important;
  padding: 0 28px !important;
  height: 48px !important;
  background: transparent !important;
  color: var(--if-charcoal) !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"]:hover {
  background: var(--if-charcoal) !important;
  color: #fff !important;
}

/* Mobile cart */
@media (max-width: 767px) {
  .woocommerce-cart table.shop_table thead {
    display: none !important;
  }

  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr,
  .woocommerce-cart table.shop_table td {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table tr.cart_item {
    padding: 20px !important;
    margin-bottom: 16px !important;
    border: 1px solid var(--if-line) !important;
    border-radius: 6px !important;
    display: grid !important;
    grid-template-columns: 100px 1fr !important;
    gap: 16px !important;
    position: relative !important;
  }

  .woocommerce-cart table.shop_table tr.cart_item td {
    padding: 0 !important;
    border: 0 !important;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail {
    grid-row: 1 / 5 !important;
    width: 100px !important;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail a {
    width: 100px !important;
    margin: 0 !important;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 100px !important;
    height: 133px !important;
  }

  .woocommerce-cart table.shop_table td.product-name {
    padding-top: 0 !important;
  }

  .woocommerce-cart table.shop_table td.product-name a {
    font-size: 1.1rem !important;
  }

  .woocommerce-cart table.shop_table td.product-price,
  .woocommerce-cart table.shop_table td.product-quantity,
  .woocommerce-cart table.shop_table td.product-subtotal {
    text-align: left !important;
    font-size: 0.9rem !important;
    grid-column: 2 !important;
  }

  .woocommerce-cart table.shop_table td.product-price::before {
    content: "Price: " !important;
    color: var(--if-muted) !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
  }

  .woocommerce-cart table.shop_table td.product-subtotal::before {
    content: "Total: " !important;
    color: var(--if-muted) !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
  }

  .woocommerce-cart table.shop_table td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: auto !important;
  }

  .woocommerce-cart table.shop_table td.actions {
    display: block !important;
    padding: 20px !important;
    background: var(--if-ivory) !important;
    border-radius: 6px !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon {
    flex-direction: column !important;
    width: 100% !important;
    align-items: stretch !important;
    float: none !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
    min-width: 0 !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table .actions button[name="update_cart"] {
    float: none !important;
    width: 100% !important;
    margin-top: 12px !important;
  }
}

/* Cart totals — bigger, cleaner */
.woocommerce-cart .cart_totals {
  max-width: 520px !important;
  margin-left: auto !important;
  margin-top: 40px !important;
  padding: 40px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 24px 0 !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  margin-bottom: 24px !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
  background: transparent !important;
  font-size: 0.95rem !important;
}

.woocommerce-cart .cart_totals table th {
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding-top: 20px !important;
  border-bottom: 0 !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--if-gold-deep) !important;
}

.woocommerce-cart .cart_totals .checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 20px 32px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.12) !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198, 161, 91, 0.3) !important;
}

/* WooCommerce "Return to shop" and "Continue shopping" buttons */
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 !important;
}

/* Notices */
.woocommerce-cart .woocommerce-message {
  padding: 18px 24px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.woocommerce-cart .woocommerce-message .button {
  margin-left: auto !important;
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT PAGE - PROPER ALIGNMENT (matches cart styling)
   ═══════════════════════════════════════════════════════════════ */

/* Page title */
.woocommerce-checkout .if-page-title,
.woocommerce-checkout .entry-title {
  font-family: var(--if-font-display) !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .if-page-header::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  background: var(--if-gold);
  margin: 24px auto 48px;
}

/* Main layout — 2 columns */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: start !important;
  margin: 0 !important;
}

.woocommerce-checkout #customer_details {
  display: block !important;
  grid-column: 1 / 2 !important;
  width: 100% !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  width: 100% !important;
  float: none !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 0 40px 0 !important;
}

/* Order review — right column */
.woocommerce-checkout #order_review_heading {
  grid-column: 2 / 3 !important;
  grid-row: 1 !important;
  font-family: var(--if-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-checkout #order_review {
  grid-column: 2 / 3 !important;
  grid-row: 2 !important;
  position: static !important;
  top: auto !important;
  padding: 36px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
  margin: 0 !important;
}

/* Section headings */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: var(--if-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  color: var(--if-gold-deep) !important;
  margin: 0 0 24px 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--if-line) !important;
}

/* Fields — 2 columns grid */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}

.woocommerce-checkout .form-row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout #order_comments_field {
  grid-column: 1 / -1 !important;
}

/* Labels */
.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 0.76rem !important;
  font-weight: 500 !important;
  color: var(--if-ink) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 8px !important;
}

.woocommerce-checkout .form-row label .required {
  color: var(--if-sale) !important;
  text-decoration: none !important;
  margin-left: 2px !important;
}

.woocommerce-checkout .form-row label .optional {
  color: var(--if-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

/* Inputs */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.95rem !important;
  font-family: var(--if-font-body) !important;
  color: var(--if-charcoal) !important;
  background: #fff !important;
  transition: all 0.25s ease !important;
  box-shadow: none !important;
  outline: none !important;
}

.woocommerce-checkout .form-row textarea {
  min-height: 120px !important;
  padding: 16px 18px !important;
  height: auto !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

.woocommerce-checkout .form-row input.input-text:hover,
.woocommerce-checkout .form-row textarea:hover,
.woocommerce-checkout .form-row select:hover {
  border-color: var(--if-line-strong) !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
}

/* Select2 */
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 52px !important;
  padding-left: 18px !important;
  color: var(--if-charcoal) !important;
  font-size: 0.95rem !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 52px !important;
  right: 16px !important;
}

.woocommerce-checkout .select2-container {
  width: 100% !important;
}

/* Checkbox "Ship to different address" */
.woocommerce-checkout #ship-to-different-address {
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #ship-to-different-address label {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout #ship-to-different-address-checkbox {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--if-gold) !important;
  margin-right: 10px !important;
}

/* Order review table */
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  margin: 0 0 20px 0 !important;
  table-layout: auto !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table thead {
  display: table-header-group !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {
  padding: 12px 0 !important;
  background: transparent !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  text-align: left !important;
  border-bottom: 1px solid var(--if-line) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th.product-total {
  text-align: right !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td {
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
  background: transparent !important;
  vertical-align: top !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name {
  font-family: var(--if-font-display) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  line-height: 1.35 !important;
  padding-right: 16px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name strong {
  font-weight: 500 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name .variation,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name .wc-item-meta {
  font-size: 0.78rem !important;
  color: var(--if-muted) !important;
  margin-top: 6px !important;
  display: block !important;
  font-family: var(--if-font-body) !important;
  font-weight: 400 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name .variation dt,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name .variation dd {
  display: inline !important;
  margin: 0 6px 0 0 !important;
  padding: 0 !important;
  float: none !important;
  font-weight: 500 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

/* Subtotal / shipping / total rows */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
  background: transparent !important;
  text-align: left !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th {
  font-weight: 500 !important;
  color: var(--if-body) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
  padding-top: 20px !important;
  border-bottom: 0 !important;
  border-top: 1px solid var(--if-line) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
  color: var(--if-gold-deep) !important;
}

/* Payment section */
.woocommerce-checkout #payment {
  margin-top: 24px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--if-line) !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  display: grid !important;
  gap: 10px !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li {
  padding: 16px 18px !important;
  background: var(--if-ivory) !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  transition: all 0.25s ease !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li:hover {
  border-color: var(--if-gold) !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--if-gold) !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li label {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li label img {
  max-height: 22px !important;
  margin-left: 8px !important;
  display: inline-block !important;
}

.woocommerce-checkout #payment .payment_box {
  margin-top: 12px !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 2px !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
  color: var(--if-body) !important;
}

.woocommerce-checkout #payment .payment_box::before {
  display: none !important;
}

/* Place order button */
.woocommerce-checkout #place_order {
  width: 100% !important;
  padding: 20px 32px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.12) !important;
}

.woocommerce-checkout #place_order:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198, 161, 91, 0.3) !important;
}

/* Coupon toggle */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  padding: 18px 24px !important;
  background: var(--if-gold-wash) !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 4px !important;
  font-size: 0.88rem !important;
  margin-bottom: 32px !important;
  color: var(--if-ink) !important;
  list-style: none !important;
}

.woocommerce-checkout .woocommerce-info a {
  color: var(--if-gold-deep) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

.woocommerce-checkout .checkout_coupon {
  display: flex !important;
  gap: 12px !important;
  padding: 20px 24px !important;
  background: var(--if-ivory) !important;
  border-radius: 4px !important;
  margin-bottom: 32px !important;
  border: 1px solid var(--if-line) !important;
}

.woocommerce-checkout .checkout_coupon input {
  flex: 1 !important;
  height: 48px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
}

.woocommerce-checkout .checkout_coupon button {
  padding: 0 24px !important;
  height: 48px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

/* Free shipping bar */
.woocommerce-checkout .if-ship-bar {
  margin-bottom: 32px !important;
}

/* Notices */
.woocommerce-checkout .woocommerce-message {
  padding: 18px 24px !important;
  margin-bottom: 24px !important;
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .woocommerce-checkout #order_review {
    padding: 24px 20px !important;
  }

  .woocommerce-checkout #order_review_heading {
    font-size: 1.35rem !important;
  }

  .woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
  .woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.15rem !important;
  }

  .woocommerce-checkout .checkout_coupon {
    flex-direction: column !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT - FIX: order box alignment + dropdown overflow
   ═══════════════════════════════════════════════════════════════ */

/* Fix order box to top-align with billing details */
.woocommerce-checkout form.checkout {
  align-items: start !important;
}

.woocommerce-checkout #customer_details {
  align-self: start !important;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  align-self: start !important;
  margin-top: 0 !important;
}

/* Ensure both columns start at same top */
.woocommerce-checkout #customer_details .woocommerce-billing-fields {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.woocommerce-checkout #order_review_heading {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ── DROPDOWN FIX — text should stay inside box ── */
.woocommerce-checkout .form-row select,
.woocommerce-checkout select {
  width: 100% !important;
  height: 52px !important;
  padding: 0 48px 0 18px !important;
  line-height: 52px !important;
  font-size: 0.95rem !important;
  font-family: var(--if-font-body) !important;
  color: var(--if-charcoal) !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%232E2C29' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 12px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .form-row select:hover {
  border-color: var(--if-line-strong) !important;
}

.woocommerce-checkout .form-row select:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

/* Select2 — replace default with our box style */
.woocommerce-checkout .select2-container {
  width: 100% !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  height: 52px !important;
  padding: 0 !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 50px !important;
  padding-left: 18px !important;
  padding-right: 48px !important;
  color: var(--if-charcoal) !important;
  font-size: 0.95rem !important;
  font-family: var(--if-font-body) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 50px !important;
  right: 16px !important;
  width: 20px !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow b {
  border-color: var(--if-ink) transparent transparent transparent !important;
  border-width: 5px 5px 0 5px !important;
  margin-left: -5px !important;
  margin-top: -2px !important;
}

.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
}

/* Dropdown panel */
.woocommerce-checkout .select2-dropdown {
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.12) !important;
  overflow: hidden !important;
  z-index: 9999 !important;
}

.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  padding: 10px 14px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.88rem !important;
  margin: 8px !important;
  width: calc(100% - 16px) !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .select2-results__option {
  padding: 12px 18px !important;
  font-size: 0.9rem !important;
  font-family: var(--if-font-body) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-checkout .select2-results__option--highlighted[aria-selected] {
  background: var(--if-gold-wash) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-checkout .select2-results__option[aria-selected="true"] {
  background: var(--if-ivory) !important;
  color: var(--if-gold-deep) !important;
  font-weight: 600 !important;
}

/* Fix country field spacing */
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_state_field {
  grid-column: 1 / -1 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Billing details heading — same top as order heading */
.woocommerce-checkout .woocommerce-billing-fields h3 {
  margin-top: 0 !important;
}

/* Force both columns to align to top of grid */
.woocommerce-checkout form.checkout {
  grid-auto-rows: auto !important;
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT - STICKY ORDER BOX + DROPDOWN TEXT FIX
   ═══════════════════════════════════════════════════════════════ */

/* ── Order review stays visible while scrolling billing form ── */
.woocommerce-checkout #order_review {
  position: sticky !important;
  top: 100px !important;
  max-height: calc(100vh - 120px) !important;
  overflow-y: auto !important;
  align-self: start !important;
}

.woocommerce-checkout #order_review_heading {
  position: sticky !important;
  top: 60px !important;
  align-self: start !important;
  z-index: 10 !important;
  background: var(--if-white, #fff) !important;
}

/* ── DROPDOWN TEXT — proper left-middle alignment ── */

/* Native select */
.woocommerce-checkout .form-row select,
.woocommerce-checkout select {
  height: 52px !important;
  padding: 0 48px 0 18px !important;
  line-height: normal !important;
  font-size: 0.95rem !important;
  display: block !important;
  text-align: left !important;
  vertical-align: middle !important;
  /* Use padding + flex isn't possible on select, so use padding-top tuning */
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  box-sizing: border-box !important;
  background-position: right 18px center !important;
}

/* Select2 rendered box */
.woocommerce-checkout .select2-container {
  width: 100% !important;
  display: block !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  height: 52px !important;
  padding: 0 !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  flex: 1 1 auto !important;
  padding: 0 48px 0 18px !important;
  margin: 0 !important;
  color: var(--if-charcoal) !important;
  font-size: 0.95rem !important;
  font-family: var(--if-font-body) !important;
  line-height: 1.4 !important;
  text-align: left !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  height: auto !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  position: absolute !important;
  top: 50% !important;
  right: 16px !important;
  transform: translateY(-50%) !important;
  height: auto !important;
  width: 16px !important;
  line-height: 0 !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow b {
  position: static !important;
  margin: 0 !important;
  top: auto !important;
  left: auto !important;
  border-width: 5px 5px 0 5px !important;
  border-color: var(--if-ink) transparent transparent transparent !important;
}

/* Select2 with placeholder */
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__placeholder {
  color: var(--if-muted) !important;
}

/* When country has no search (single select) — align text properly */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  display: flex !important;
  align-items: center !important;
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT - CLEAN RIGHT COLUMN (no sticky, no scroll, top aligned)
   ═══════════════════════════════════════════════════════════════ */

/* Remove sticky from order review */
.woocommerce-checkout #order_review {
  position: static !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 36px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
}

/* Remove sticky from order heading */
.woocommerce-checkout #order_review_heading {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  background: transparent !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
}

/* Grid: both columns start at same top */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: start !important;
}

.woocommerce-checkout #customer_details {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 3 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #order_review_heading {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
  align-self: start !important;
}

.woocommerce-checkout #order_review {
  grid-column: 2 / 3 !important;
  grid-row: 2 / 3 !important;
  align-self: start !important;
}

/* Responsive */
@media (max-width: 1023px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT - Your order heading INSIDE the box (no gap)
   ═══════════════════════════════════════════════════════════════ */

/* Hide the separate heading */
.woocommerce-checkout #order_review_heading {
  display: none !important;
}

/* Order review box — full column, heading inside via ::before */
.woocommerce-checkout #order_review {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 3 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 36px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
}

/* Insert heading inside the box */
.woocommerce-checkout #order_review::before {
  content: "Your order";
  display: block;
  font-family: var(--if-font-display);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--if-charcoal);
  letter-spacing: -0.01em;
  margin: 0 0 24px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid var(--if-line);
}

/* Keep box aligned to top of the grid */
.woocommerce-checkout form.checkout {
  align-items: start !important;
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT - ORDER REVIEW + PAYMENT NOTICE POLISH
   ═══════════════════════════════════════════════════════════════ */

/* Order review table — clearer rows */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td.product-name {
  line-height: 1.5 !important;
  padding-right: 20px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td.product-name .variation {
  margin-top: 10px !important;
  padding: 10px 0 0 0 !important;
  border-top: 1px dashed var(--if-line) !important;
  font-size: 0.82rem !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td.product-name .variation p {
  display: flex !important;
  justify-content: space-between !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td.product-name .variation p:last-child {
  margin-bottom: 0 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td.product-name .variation dt {
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--if-muted) !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td.product-name .variation dd {
  font-size: 0.85rem !important;
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  text-align: right !important;
}

/* Help note */
.if-review-note {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  margin: 24px 0 20px 0 !important;
  background: var(--if-gold-wash) !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 2px !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
  color: var(--if-body) !important;
}

.if-review-note svg {
  flex-shrink: 0 !important;
  color: var(--if-gold-deep) !important;
  margin-top: 1px !important;
}

/* Trust line under Place Order */
.if-order-trust {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 16px !important;
  padding: 12px 16px !important;
  font-size: 0.8rem !important;
  color: var(--if-muted) !important;
  letter-spacing: 0.04em !important;
  border-top: 1px solid var(--if-line-soft) !important;
}

.if-order-trust svg {
  color: var(--if-success) !important;
  flex-shrink: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   PAYMENT NOTICE — professional alert box
   ═══════════════════════════════════════════════════════════════ */

/* WooCommerce no-payment-methods notice */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout #payment .woocommerce-info {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 20px 22px !important;
  margin: 0 0 24px 0 !important;
  background: #FFF8E7 !important;
  border: 0 !important;
  border-left: 4px solid #D4A24C !important;
  border-radius: 4px !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  color: #5C4719 !important;
  list-style: none !important;
  box-shadow: 0 2px 8px rgba(212, 162, 76, 0.08) !important;
  position: relative !important;
}

/* Add an info icon via ::before to prevent overlap */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout #payment .woocommerce-info::before {
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  margin-top: 1px !important;
  background-color: #D4A24C !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px !important;
  border-radius: 999px !important;
  position: static !important;
  padding: 0 !important;
}

/* Success — green */
.woocommerce-checkout .woocommerce-message {
  background: #F0F9F2 !important;
  border-left-color: #3D8A63 !important;
  color: #1F5A3D !important;
}

.woocommerce-checkout .woocommerce-message::before {
  background-color: #3D8A63 !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
}

/* Error — red */
.woocommerce-checkout .woocommerce-error {
  background: #FCF1F1 !important;
  border-left-color: #B93B3B !important;
  color: #7A2626 !important;
}

.woocommerce-checkout .woocommerce-error::before {
  background-color: #B93B3B !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
}

/* Links inside notices */
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .woocommerce-message a,
.woocommerce-checkout .woocommerce-error a {
  color: inherit !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}


/* ═══════════════════════════════════════════════════════════════
   CART PAGE - MODERN PREMIUM (matches checkout design)
   ═══════════════════════════════════════════════════════════════ */

/* Page title - centered like checkout */
.woocommerce-cart .if-page-title,
.woocommerce-cart .entry-title {
  font-family: var(--if-font-display) !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

.woocommerce-cart .if-page-header::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  background: var(--if-gold);
  margin: 24px auto 48px;
}

/* ── Notices (added to cart, etc.) ── */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 22px !important;
  margin: 0 0 32px 0 !important;
  background: #F0F9F2 !important;
  border: 0 !important;
  border-left: 4px solid #3D8A63 !important;
  border-radius: 4px !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  color: #1F5A3D !important;
  list-style: none !important;
  box-shadow: 0 2px 8px rgba(61, 138, 99, 0.08) !important;
  flex-wrap: wrap !important;
}

.woocommerce-cart .woocommerce-message::before {
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  background-color: #3D8A63 !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px !important;
  border-radius: 999px !important;
  padding: 0 !important;
  position: static !important;
}

.woocommerce-cart .woocommerce-info {
  background: #FFF8E7 !important;
  border-left-color: #D4A24C !important;
  color: #5C4719 !important;
}

.woocommerce-cart .woocommerce-info::before {
  background-color: #D4A24C !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") !important;
}

.woocommerce-cart .woocommerce-error {
  background: #FCF1F1 !important;
  border-left-color: #B93B3B !important;
  color: #7A2626 !important;
}

.woocommerce-cart .woocommerce-error::before {
  background-color: #B93B3B !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
}

.woocommerce-cart .woocommerce-message .button,
.woocommerce-cart .woocommerce-info .button,
.woocommerce-cart .woocommerce-error .button {
  margin-left: auto !important;
  padding: 10px 22px !important;
  background: #1F5A3D !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background 0.25s ease !important;
  white-space: nowrap !important;
}

.woocommerce-cart .woocommerce-message .button:hover {
  background: #164430 !important;
}

/* ── Cart form ── */
.woocommerce-cart form.woocommerce-cart-form {
  margin: 0 0 32px 0 !important;
}

/* ── Cart table ── */
.woocommerce-cart table.shop_table {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  table-layout: fixed !important;
}

/* Header — hidden on cleaner look */
.woocommerce-cart table.shop_table thead {
  display: none !important;
}

/* Each row — card style */
.woocommerce-cart table.shop_table tbody tr.cart_item {
  background: transparent !important;
  border: 0 !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
  padding: 28px 12px !important;
  border-bottom: 1px solid var(--if-line) !important;
  vertical-align: middle !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  color: var(--if-body) !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item:first-child td {
  border-top: 1px solid var(--if-line) !important;
}

/* Thumbnail */
.woocommerce-cart table.shop_table .product-thumbnail {
  width: 140px !important;
  text-align: left !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a {
  display: block !important;
  width: 100px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.08) !important;
  transition: transform 0.3s ease !important;
  line-height: 0 !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a:hover {
  transform: translateY(-2px) !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 100px !important;
  height: 133px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 4px !important;
}

/* Product name */
.woocommerce-cart table.shop_table .product-name {
  text-align: left !important;
  vertical-align: top !important;
}

.woocommerce-cart table.shop_table .product-name a {
  font-family: var(--if-font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  display: block !important;
  margin-bottom: 10px !important;
  transition: color 0.2s ease !important;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--if-gold-deep) !important;
}

/* Set breakdown */
.woocommerce-cart table.shop_table .product-name .variation {
  display: block !important;
  margin: 12px 0 0 0 !important;
  padding: 12px 0 0 0 !important;
  border-top: 1px dashed var(--if-line) !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.8rem !important;
  color: var(--if-muted) !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt,
.woocommerce-cart table.shop_table .product-name .variation dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
  font-weight: 600 !important;
  color: var(--if-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.7rem !important;
  margin-right: 6px !important;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  margin-right: 20px !important;
}

.woocommerce-cart table.shop_table .product-name .variation p {
  display: inline-block !important;
  margin: 0 24px 8px 0 !important;
  padding: 0 !important;
}

/* Price */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  text-align: right !important;
  font-family: var(--if-font-body) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

.woocommerce-cart table.shop_table .product-price {
  width: 130px !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
  color: var(--if-gold-deep) !important;
  width: 130px !important;
}

/* Quantity */
.woocommerce-cart table.shop_table .product-quantity {
  text-align: center !important;
  width: 140px !important;
}

.woocommerce-cart table.shop_table .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  height: 48px !important;
  overflow: hidden !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty {
  width: 60px !important;
  height: 48px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  background: transparent !important;
  font-variant-numeric: tabular-nums !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart table.shop_table .product-quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Remove button */
.woocommerce-cart table.shop_table .product-remove {
  text-align: right !important;
  width: 60px !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  background: var(--if-ivory) !important;
  color: var(--if-muted) !important;
  border-radius: 999px !important;
  font-size: 1.15rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: #9B2C2C !important;
  color: #fff !important;
  transform: rotate(90deg) !important;
}

/* Actions row */
.woocommerce-cart table.shop_table tbody tr td.actions {
  padding: 32px 0 0 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  display: block !important;
  width: 100% !important;
}

.woocommerce-cart table.shop_table .actions .coupon {
  float: left !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
}

.woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
  padding: 0 18px !important;
  min-width: 240px !important;
  height: 48px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.88rem !important;
  background: #fff !important;
  text-transform: none !important;
  font-family: var(--if-font-body) !important;
}

.woocommerce-cart table.shop_table .actions .coupon input[type="text"]:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

.woocommerce-cart table.shop_table .actions .coupon button {
  padding: 0 28px !important;
  height: 48px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.woocommerce-cart table.shop_table .actions .coupon button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"] {
  float: right !important;
  padding: 0 28px !important;
  height: 48px !important;
  background: transparent !important;
  color: var(--if-charcoal) !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"]:hover:not(:disabled) {
  background: var(--if-charcoal) !important;
  color: #fff !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"]:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* ── Cart totals — matches checkout box ── */
.woocommerce-cart .cart-collaterals {
  margin-top: 48px !important;
}

.woocommerce-cart .cart_totals {
  max-width: 520px !important;
  margin-left: auto !important;
  padding: 40px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
}

.woocommerce-cart .cart_totals > h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 0 20px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
  display: block !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 0 24px 0 !important;
  border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  vertical-align: middle !important;
}

.woocommerce-cart .cart_totals table th {
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding-top: 24px !important;
  border-bottom: 0 !important;
  border-top: 1px solid var(--if-line) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--if-gold-deep) !important;
}

/* Checkout button */
.woocommerce-cart .cart_totals .checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 20px 32px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.12) !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198, 161, 91, 0.3) !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 !important;
}

/* Trust line under checkout button */
.woocommerce-cart .cart_totals::after {
  content: "Secure checkout. Your information is protected.";
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--if-line-soft);
  font-size: 0.78rem;
  color: var(--if-muted);
  letter-spacing: 0.04em;
  font-family: var(--if-font-body);
}

/* Free shipping bar */
.woocommerce-cart .if-ship-bar {
  margin: 0 0 32px 0 !important;
  padding: 22px 28px !important;
}

.woocommerce-cart .if-ship-bar__message {
  font-size: 0.95rem !important;
  margin-bottom: 16px !important;
}

.woocommerce-cart .if-ship-bar__track {
  height: 8px !important;
}

/* Empty cart */
.woocommerce-cart .cart-empty {
  font-family: var(--if-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  padding: 60px 20px 20px 20px !important;
  margin: 0 !important;
}

.woocommerce-cart .cart-empty::before {
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 auto 24px;
  background-color: var(--if-ivory);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C6A15B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7L6 7z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px;
  border-radius: 999px;
  border: 1px solid var(--if-line);
}

.woocommerce-cart .return-to-shop {
  text-align: center !important;
  margin: 0 0 60px 0 !important;
}

.woocommerce-cart .return-to-shop .button {
  display: inline-block !important;
  padding: 18px 40px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.woocommerce-cart .return-to-shop .button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Cross-sells / related under cart */
.woocommerce-cart .related.products,
.woocommerce-cart .cross-sells {
  margin-top: 80px !important;
  padding-top: 60px !important;
  border-top: 1px solid var(--if-line) !important;
}

.woocommerce-cart .related.products > h2,
.woocommerce-cart .cross-sells > h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.8rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 40px 0 !important;
}

/* ── Responsive ── */
@media (max-width: 767px) {
  .woocommerce-cart table.shop_table thead {
    display: none !important;
  }

  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr,
  .woocommerce-cart table.shop_table td {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table tr.cart_item {
    padding: 20px !important;
    margin-bottom: 16px !important;
    border: 1px solid var(--if-line) !important;
    border-radius: 6px !important;
    display: grid !important;
    grid-template-columns: 100px 1fr !important;
    gap: 16px !important;
    position: relative !important;
    background: #fff !important;
  }

  .woocommerce-cart table.shop_table tr.cart_item td {
    padding: 0 !important;
    border: 0 !important;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail {
    grid-row: 1 / 6 !important;
    width: 100px !important;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail a,
  .woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 100px !important;
    height: 133px !important;
  }

  .woocommerce-cart table.shop_table td.product-name {
    padding-top: 0 !important;
  }

  .woocommerce-cart table.shop_table td.product-name a {
    font-size: 1.1rem !important;
    padding-right: 40px !important;
  }

  .woocommerce-cart table.shop_table td.product-price,
  .woocommerce-cart table.shop_table td.product-quantity,
  .woocommerce-cart table.shop_table td.product-subtotal {
    text-align: left !important;
    font-size: 0.9rem !important;
    grid-column: 2 !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table td.product-price::before {
    content: "Price: " !important;
    color: var(--if-muted) !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
  }

  .woocommerce-cart table.shop_table td.product-subtotal::before {
    content: "Total: " !important;
    color: var(--if-muted) !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
  }

  .woocommerce-cart table.shop_table td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: auto !important;
  }

  .woocommerce-cart table.shop_table tbody tr td.actions {
    display: block !important;
    padding: 20px !important;
    background: var(--if-ivory) !important;
    border-radius: 6px !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon {
    flex-direction: column !important;
    width: 100% !important;
    align-items: stretch !important;
    float: none !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
    min-width: 0 !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table .actions button[name="update_cart"] {
    float: none !important;
    width: 100% !important;
    margin-top: 12px !important;
  }

  .woocommerce-cart .cart_totals {
    padding: 24px 20px !important;
  }

  .woocommerce-cart .cart_totals > h2 {
    font-size: 1.35rem !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CART - FINAL LAYOUT FIX
   Products on left, Totals on right (side-by-side)
   Coupon + Update buttons properly aligned
   ═══════════════════════════════════════════════════════════════ */

/* ── 2-column layout for cart ── */
.woocommerce-cart .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 420px !important;
  gap: 56px !important;
  align-items: start !important;
}

.woocommerce-cart form.woocommerce-cart-form {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 2 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart .cart-collaterals {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
  position: sticky !important;
  top: 100px !important;
}

.woocommerce-cart .cross-sells,
.woocommerce-cart .related.products {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  margin-top: 60px !important;
  position: static !important;
}

/* Cart totals box — clean card */
.woocommerce-cart .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 32px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
}

/* Totals heading */
.woocommerce-cart .cart_totals > h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 0 20px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
}

/* Totals table */
.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 0 24px 0 !important;
  border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals table tr {
  border-bottom: 1px solid var(--if-line-soft) !important;
}

.woocommerce-cart .cart_totals table tr:last-child {
  border-bottom: 0 !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  vertical-align: top !important;
}

.woocommerce-cart .cart_totals table th {
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-align: left !important;
  padding-right: 20px !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

/* Order total row */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding: 22px 0 4px 0 !important;
  border-top: 1px solid var(--if-line) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--if-charcoal) !important;
  border-bottom: 0 !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--if-gold-deep) !important;
}

/* Checkout button */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding: 0 !important;
  margin-top: 24px !important;
}

.woocommerce-cart .cart_totals .checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 18px 24px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.1) !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198, 161, 91, 0.3) !important;
}

/* Trust line */
.woocommerce-cart .cart_totals::after {
  content: "Secure checkout. Your information is protected.";
  display: block;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--if-line-soft);
  font-size: 0.75rem;
  color: var(--if-muted);
  letter-spacing: 0.04em;
  text-align: center;
  font-family: var(--if-font-body);
}

/* ── COUPON + UPDATE BUTTONS — PROPER ALIGNMENT ── */
.woocommerce-cart table.shop_table tbody tr td.actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 28px 0 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

/* Coupon form */
.woocommerce-cart table.shop_table .actions .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important;
}

.woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
  padding: 0 18px !important;
  min-width: 200px !important;
  height: 46px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.88rem !important;
  background: #fff !important;
  text-transform: none !important;
  font-family: var(--if-font-body) !important;
  color: var(--if-charcoal) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .actions .coupon input[type="text"]::placeholder {
  color: var(--if-muted) !important;
}

.woocommerce-cart table.shop_table .actions .coupon input[type="text"]:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

.woocommerce-cart table.shop_table .actions .coupon button {
  padding: 0 24px !important;
  height: 46px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .actions .coupon button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Update cart button */
.woocommerce-cart table.shop_table .actions button[name="update_cart"] {
  padding: 0 28px !important;
  height: 46px !important;
  background: transparent !important;
  color: var(--if-charcoal) !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  float: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"]:hover:not(:disabled) {
  background: var(--if-charcoal) !important;
  color: #fff !important;
}

.woocommerce-cart table.shop_table .actions button[name="update_cart"]:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* ── Product row — no overflow ── */
.woocommerce-cart table.shop_table {
  table-layout: auto !important;
}

.woocommerce-cart table.shop_table thead th,
.woocommerce-cart table.shop_table tbody td {
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table .product-name {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  max-width: 0 !important;
}

.woocommerce-cart table.shop_table .product-name a {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  display: block !important;
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .woocommerce-cart .woocommerce {
    display: block !important;
  }

  .woocommerce-cart .cart-collaterals {
    position: static !important;
    margin-top: 40px !important;
  }

  .woocommerce-cart .cart_totals {
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-cart .woocommerce {
    display: block !important;
    gap: 0 !important;
  }

  .woocommerce-cart .cart_totals {
    padding: 24px 20px !important;
  }

  .woocommerce-cart .cart_totals > h2 {
    font-size: 1.3rem !important;
  }

  .woocommerce-cart table.shop_table tbody tr td.actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 20px !important;
    background: var(--if-ivory) !important;
    border-radius: 6px !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon {
    flex-direction: column !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon input[type="text"] {
    width: 100% !important;
    min-width: 0 !important;
  }

  .woocommerce-cart table.shop_table .actions .coupon button,
  .woocommerce-cart table.shop_table .actions button[name="update_cart"] {
    width: 100% !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CART PAGE - FINAL CLEAN REWRITE
   Everything overrides previous. Side-by-side layout.
   ═══════════════════════════════════════════════════════════════ */

/* Layout: products left, totals right */
.woocommerce-cart .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 460px !important;
  gap: 48px !important;
  align-items: start !important;
  max-width: 100% !important;
}

.woocommerce-cart form.woocommerce-cart-form {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}

.woocommerce-cart .cart-collaterals {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  align-self: start !important;
  min-width: 0 !important;
  width: 100% !important;
}

.woocommerce-cart .cross-sells,
.woocommerce-cart .related.products {
  grid-column: 1 / -1 !important;
  grid-row: 2 / 3 !important;
  margin-top: 60px !important;
  position: static !important;
}

/* Product row: 4 columns */
.woocommerce-cart table.shop_table {
  width: 100% !important;
  table-layout: auto !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table thead {
  display: none !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
  padding: 24px 12px !important;
  border-bottom: 1px solid var(--if-line) !important;
  vertical-align: middle !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item:first-child td {
  border-top: 1px solid var(--if-line) !important;
}

/* Thumbnail */
.woocommerce-cart table.shop_table .product-thumbnail {
  width: 110px !important;
  padding-left: 0 !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a {
  display: block !important;
  width: 90px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.08) !important;
  line-height: 0 !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 90px !important;
  height: 120px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Product name — no forced narrow width */
.woocommerce-cart table.shop_table .product-name {
  max-width: none !important;
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-align: left !important;
  padding-right: 20px !important;
}

.woocommerce-cart table.shop_table .product-name a {
  font-family: var(--if-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  display: inline-block !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--if-gold-deep) !important;
}

/* Set breakdown */
.woocommerce-cart table.shop_table .product-name .variation {
  display: block !important;
  margin: 10px 0 0 0 !important;
  padding: 10px 0 0 0 !important;
  border-top: 1px dashed var(--if-line) !important;
  font-size: 0.78rem !important;
  color: var(--if-muted) !important;
  font-family: var(--if-font-body) !important;
  line-height: 1.5 !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt,
.woocommerce-cart table.shop_table .product-name .variation dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  font-size: inherit !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
  font-weight: 600 !important;
  color: var(--if-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: 0.7rem !important;
  margin-right: 4px !important;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
  margin-right: 16px !important;
}

/* Price and subtotal — fixed narrow width */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  width: 110px !important;
  text-align: right !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
  padding-right: 0 !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
  color: var(--if-gold-deep) !important;
}

/* Quantity column */
.woocommerce-cart table.shop_table .product-quantity {
  width: 110px !important;
  text-align: center !important;
}

.woocommerce-cart table.shop_table .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  height: 44px !important;
  overflow: hidden !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty {
  width: 60px !important;
  height: 44px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  background: transparent !important;
  font-variant-numeric: tabular-nums !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty:focus {
  outline: none !important;
}

/* Remove button */
.woocommerce-cart table.shop_table .product-remove {
  width: 44px !important;
  text-align: right !important;
  padding-right: 0 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--if-ivory) !important;
  color: var(--if-muted) !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: #9B2C2C !important;
  color: #fff !important;
}

/* ── ACTIONS ROW: coupon + update in ONE ROW ── */
.woocommerce-cart table.shop_table tbody tr td.actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 24px 0 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}

.woocommerce-cart .coupon input[type="text"] {
  padding: 0 14px !important;
  width: 200px !important;
  height: 44px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.85rem !important;
  background: #fff !important;
  color: var(--if-charcoal) !important;
  text-transform: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  font-family: var(--if-font-body) !important;
}

.woocommerce-cart .coupon input[type="text"]::placeholder {
  color: var(--if-muted) !important;
}

.woocommerce-cart .coupon input[type="text"]:focus {
  border-color: var(--if-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
}

.woocommerce-cart .coupon button {
  padding: 0 20px !important;
  height: 44px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
  line-height: 44px !important;
}

.woocommerce-cart .coupon button:hover {
  background: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart button[name="update_cart"] {
  padding: 0 20px !important;
  height: 44px !important;
  background: transparent !important;
  color: var(--if-charcoal) !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
  float: none !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.woocommerce-cart button[name="update_cart"]:hover:not(:disabled) {
  background: var(--if-charcoal) !important;
  color: #fff !important;
}

.woocommerce-cart button[name="update_cart"]:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}

/* ── CART TOTALS box — clean ── */
.woocommerce-cart .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 32px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.woocommerce-cart .cart_totals > h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  text-align: left !important;
  display: block !important;
  width: 100% !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 0 20px 0 !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table tr {
  border-bottom: 1px solid var(--if-line-soft) !important;
}

.woocommerce-cart .cart_totals table tr:last-child {
  border-bottom: 0 !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 12px 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table th {
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-align: left !important;
  padding-right: 16px !important;
  width: auto !important;
  word-break: normal !important;
  white-space: normal !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
  width: auto !important;
  padding-left: 16px !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding: 18px 0 4px 0 !important;
  border-top: 1px solid var(--if-line) !important;
  border-bottom: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--if-charcoal) !important;
  white-space: nowrap !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--if-gold-deep) !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding: 0 !important;
  margin: 20px 0 0 0 !important;
}

.woocommerce-cart .cart_totals .checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 16px 24px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.3s ease !important;
  line-height: 1.4 !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Trust line */
.woocommerce-cart .cart_totals::after {
  content: "Secure checkout. Your information is protected.";
  display: block;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--if-line-soft);
  font-size: 0.72rem;
  color: var(--if-muted);
  letter-spacing: 0.03em;
  text-align: center;
  font-family: var(--if-font-body);
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .woocommerce-cart .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .woocommerce-cart .cart_totals {
    max-width: 520px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-cart table.shop_table tbody tr td.actions {
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .woocommerce-cart .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .woocommerce-cart .coupon input[type="text"] {
    width: 100% !important;
  }

  .woocommerce-cart .coupon button,
  .woocommerce-cart button[name="update_cart"] {
    width: 100% !important;
  }

  .woocommerce-cart .cart_totals {
    max-width: 100% !important;
    padding: 24px 20px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CART PAGE - ABSOLUTE FINAL OVERRIDE (v3)
   Forces: table layout, no clipping, aligned buttons
   ═══════════════════════════════════════════════════════════════ */

/* ───── 2-COLUMN LAYOUT ───── */
.woocommerce-cart .woocommerce {
  display: block !important;
  max-width: 100% !important;
}

.woocommerce-cart form.woocommerce-cart-form {
  display: inline-block !important;
  width: calc(100% - 480px) !important;
  vertical-align: top !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart-collaterals {
  display: inline-block !important;
  width: 440px !important;
  vertical-align: top !important;
  margin: 0 0 0 40px !important;
  padding: 0 !important;
  position: static !important;
  box-sizing: border-box !important;
}

/* ───── CART TOTALS — PROPER TABLE ───── */
.woocommerce-cart .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 28px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.woocommerce-cart .cart_totals > h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  text-align: left !important;
  display: block !important;
  width: 100% !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-cart .cart_totals table {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  margin: 0 0 20px 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table tbody,
.woocommerce-cart .cart_totals table tfoot {
  display: table-row-group !important;
}

.woocommerce-cart .cart_totals table tr {
  display: table-row !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
}

.woocommerce-cart .cart_totals table tr:last-child {
  border-bottom: 0 !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  display: table-cell !important;
  padding: 12px 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.3 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table th {
  width: 55% !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-align: left !important;
  padding-right: 12px !important;
  white-space: normal !important;
  word-break: normal !important;
}

.woocommerce-cart .cart_totals table td {
  width: 45% !important;
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
  padding-left: 12px !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding: 18px 0 4px 0 !important;
  border-top: 1px solid var(--if-line) !important;
  border-bottom: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--if-charcoal) !important;
  white-space: nowrap !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--if-gold-deep) !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding: 0 !important;
  margin: 18px 0 0 0 !important;
  display: block !important;
}

.woocommerce-cart .cart_totals .checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 16px 24px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.3s ease !important;
  line-height: 1.4 !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart .cart_totals::after {
  content: "Secure checkout. Your information is protected.";
  display: block;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--if-line-soft);
  font-size: 0.72rem;
  color: var(--if-muted);
  letter-spacing: 0.03em;
  text-align: center;
  font-family: var(--if-font-body);
  line-height: 1.4;
}

/* ───── PRODUCT ROW ───── */
.woocommerce-cart table.shop_table {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table thead {
  display: none !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  vertical-align: middle !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item:first-child td {
  border-top: 1px solid var(--if-line) !important;
}

.woocommerce-cart table.shop_table .product-thumbnail {
  width: 110px !important;
  padding-right: 16px !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a {
  display: block !important;
  width: 90px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.08) !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 90px !important;
  height: 120px !important;
  object-fit: cover !important;
  display: block !important;
}

.woocommerce-cart table.shop_table .product-name {
  width: auto !important;
  max-width: none !important;
  padding-right: 24px !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  text-align: left !important;
}

.woocommerce-cart table.shop_table .product-name a {
  font-family: var(--if-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  display: block !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  margin: 0 0 8px 0 !important;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--if-gold-deep) !important;
}

/* Variation - inline flow */
.woocommerce-cart table.shop_table .product-name .variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 24px !important;
  margin: 10px 0 0 0 !important;
  padding: 10px 0 0 0 !important;
  border-top: 1px dashed var(--if-line) !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.78rem !important;
  line-height: 1.5 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table .product-name .variation p {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  max-width: 100% !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
  display: inline !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: var(--if-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  line-height: inherit !important;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
  display: inline !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  line-height: inherit !important;
}

/* Price columns */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  width: 120px !important;
  text-align: right !important;
  font-family: var(--if-font-body) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
  padding-right: 0 !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
  color: var(--if-gold-deep) !important;
  padding-left: 16px !important;
}

/* Quantity */
.woocommerce-cart table.shop_table .product-quantity {
  width: 120px !important;
  text-align: center !important;
  padding: 0 12px !important;
}

.woocommerce-cart table.shop_table .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  height: 44px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty {
  width: 56px !important;
  height: 42px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  background: transparent !important;
  font-variant-numeric: tabular-nums !important;
  -moz-appearance: textfield !important;
}

/* Remove */
.woocommerce-cart table.shop_table .product-remove {
  width: 44px !important;
  text-align: right !important;
  padding: 0 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--if-ivory) !important;
  color: var(--if-muted) !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: #9B2C2C !important;
  color: #fff !important;
}

/* ───── ACTIONS ROW — coupon + update in a clean row ───── */
.woocommerce-cart table.shop_table tbody tr td.actions {
  display: table-cell !important;
  padding: 28px 0 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.woocommerce-cart .coupon {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 20px 0 0 !important;
  padding: 0 !important;
  float: none !important;
  vertical-align: middle !important;
  flex-wrap: nowrap !important;
}

.woocommerce-cart .coupon label {
  display: none !important;
}

.woocommerce-cart .coupon input[type="text"] {
  padding: 0 14px !important;
  width: 220px !important;
  max-width: 220px !important;
  height: 46px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.85rem !important;
  font-family: var(--if-font-body) !important;
  background: #fff !important;
  color: var(--if-charcoal) !important;
  text-transform: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  vertical-align: middle !important;
  line-height: 46px !important;
  display: inline-block !important;
}

.woocommerce-cart .coupon input[type="text"]::placeholder {
  color: var(--if-muted) !important;
  font-size: 0.85rem !important;
}

.woocommerce-cart .coupon input[type="text"]:focus {
  border-color: var(--if-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
}

.woocommerce-cart .coupon button {
  display: inline-block !important;
  padding: 0 22px !important;
  height: 46px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
  vertical-align: middle !important;
  line-height: 46px !important;
}

.woocommerce-cart .coupon button:hover {
  background: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart button[name="update_cart"] {
  display: inline-block !important;
  padding: 0 22px !important;
  height: 46px !important;
  background: transparent !important;
  color: var(--if-charcoal) !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
  float: none !important;
  vertical-align: middle !important;
  line-height: 44px !important;
}

.woocommerce-cart button[name="update_cart"]:hover:not(:disabled) {
  background: var(--if-charcoal) !important;
  color: #fff !important;
}

.woocommerce-cart button[name="update_cart"]:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}

/* ───── Responsive ───── */
@media (max-width: 1023px) {
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    display: block !important;
    width: 100% !important;
    margin: 0 0 32px 0 !important;
  }

  .woocommerce-cart .cart-collaterals {
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-cart .coupon {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
  }

  .woocommerce-cart .coupon input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .woocommerce-cart .coupon button,
  .woocommerce-cart button[name="update_cart"] {
    width: 100% !important;
  }

  .woocommerce-cart .cart_totals {
    padding: 24px 20px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CART - FINAL (Update Cart removed + totals right side)
   ═══════════════════════════════════════════════════════════════ */

/* Hide Update Cart button */
.woocommerce-cart button[name="update_cart"] {
  display: none !important;
}

/* 2-column layout — flex (most reliable) */
.woocommerce-cart .woocommerce {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Notices span the full row above the cart + totals columns */
.woocommerce-cart .woocommerce-notices-wrapper {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  order: -1 !important;
}

/* LEFT: Product details form */
.woocommerce-cart form.woocommerce-cart-form {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* RIGHT: Cart totals */
.woocommerce-cart .cart-collaterals {
  flex: 0 0 400px !important;
  width: 400px !important;
  max-width: 400px !important;
  min-width: 400px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: static !important;
  box-sizing: border-box !important;
}

/* Cross-sells below full width */
.woocommerce-cart .cross-sells {
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 60px !important;
  order: 10 !important;
}

/* Cart totals box */
.woocommerce-cart .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 32px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.woocommerce-cart .cart_totals > h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  text-align: left !important;
  display: block !important;
  width: 100% !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-cart .cart_totals table {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  margin: 0 0 20px 0 !important;
}

.woocommerce-cart .cart_totals table tr {
  display: table-row !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
}

.woocommerce-cart .cart_totals table tr:last-child {
  border-bottom: 0 !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  display: table-cell !important;
  padding: 12px 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.3 !important;
  vertical-align: middle !important;
}

.woocommerce-cart .cart_totals table th {
  width: 55% !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-align: left !important;
  padding-right: 12px !important;
  white-space: normal !important;
}

.woocommerce-cart .cart_totals table td {
  width: 45% !important;
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
  padding-left: 12px !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding: 18px 0 4px 0 !important;
  border-top: 1px solid var(--if-line) !important;
  border-bottom: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--if-charcoal) !important;
  white-space: nowrap !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--if-gold-deep) !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding: 0 !important;
  margin: 18px 0 0 0 !important;
  display: block !important;
}

.woocommerce-cart .cart_totals .checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 16px 24px !important;
  margin: 0 !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.3s ease !important;
  line-height: 1.4 !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-cart .cart_totals::after {
  content: "Secure checkout. Your information is protected.";
  display: block;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--if-line-soft);
  font-size: 0.72rem;
  color: var(--if-muted);
  letter-spacing: 0.03em;
  text-align: center;
  font-family: var(--if-font-body);
  line-height: 1.4;
}

/* Product table — clean */
.woocommerce-cart table.shop_table {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table thead {
  display: none !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  vertical-align: middle !important;
  background: transparent !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item:first-child td {
  border-top: 1px solid var(--if-line) !important;
}

.woocommerce-cart table.shop_table .product-thumbnail {
  width: 110px !important;
  padding-right: 16px !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a {
  display: block !important;
  width: 90px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.08) !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 90px !important;
  height: 120px !important;
  object-fit: cover !important;
  display: block !important;
}

.woocommerce-cart table.shop_table .product-name {
  max-width: none !important;
  padding-right: 24px !important;
  text-align: left !important;
}

.woocommerce-cart table.shop_table .product-name a {
  font-family: var(--if-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  display: block !important;
  margin: 0 0 8px 0 !important;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--if-gold-deep) !important;
}

.woocommerce-cart table.shop_table .product-name .variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 24px !important;
  margin: 10px 0 0 0 !important;
  padding: 10px 0 0 0 !important;
  border-top: 1px dashed var(--if-line) !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.78rem !important;
}

.woocommerce-cart table.shop_table .product-name .variation p {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: var(--if-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  width: 110px !important;
  text-align: right !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
  padding: 0 !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
  color: var(--if-gold-deep) !important;
}

.woocommerce-cart table.shop_table .product-quantity {
  width: 110px !important;
  text-align: center !important;
  padding: 0 12px !important;
}

.woocommerce-cart table.shop_table .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  height: 42px !important;
  overflow: hidden !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty {
  width: 54px !important;
  height: 40px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart table.shop_table .product-remove {
  width: 40px !important;
  text-align: right !important;
  padding: 0 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--if-ivory) !important;
  color: var(--if-muted) !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: #9B2C2C !important;
  color: #fff !important;
}

/* Actions row — coupon only (Update Cart removed) */
.woocommerce-cart table.shop_table tbody tr td.actions {
  display: table-cell !important;
  padding: 28px 0 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  width: 100% !important;
}

.woocommerce-cart .coupon {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.woocommerce-cart .coupon label {
  display: none !important;
}

.woocommerce-cart .coupon input[type="text"] {
  padding: 0 14px !important;
  width: 240px !important;
  height: 46px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-size: 0.85rem !important;
  font-family: var(--if-font-body) !important;
  background: #fff !important;
  color: var(--if-charcoal) !important;
  text-transform: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  line-height: 46px !important;
}

.woocommerce-cart .coupon input[type="text"]::placeholder {
  color: var(--if-muted) !important;
}

.woocommerce-cart .coupon input[type="text"]:focus {
  border-color: var(--if-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
}

.woocommerce-cart .coupon button {
  padding: 0 22px !important;
  height: 46px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  line-height: 46px !important;
}

.woocommerce-cart .coupon button:hover {
  background: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .woocommerce-cart .woocommerce {
    flex-wrap: wrap !important;
  }

  .woocommerce-cart form.woocommerce-cart-form {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  .woocommerce-cart .cart-collaterals {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 520px !important;
    min-width: 0 !important;
    margin: 40px auto 0 !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   PRODUCT PAGE - Details accordion + Complete the Look
   UNIQUE to product pages only.
   ═══════════════════════════════════════════════════════════════ */

/* Product details section */
.if-product-details {
  margin-top: 64px;
  padding-top: 56px;
  border-top: 1px solid var(--if-line);
}

.if-product-details__head {
  text-align: center;
  margin-bottom: 40px;
}

.if-product-details__head h2 {
  font-family: var(--if-font-display);
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  font-weight: 500;
  color: var(--if-charcoal);
  margin: 8px 0 0 0;
  letter-spacing: -0.01em;
}

.if-product-details__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--if-line);
  border-radius: 6px;
  overflow: hidden;
}

.if-product-details__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 20px 28px;
  border-bottom: 1px solid var(--if-line-soft);
  transition: background 0.2s ease;
}

.if-product-details__row:hover {
  background: var(--if-ivory);
}

.if-product-details__row:nth-child(odd) {
  border-right: 1px solid var(--if-line-soft);
}

.if-product-details__row:nth-last-child(-n+2) {
  border-bottom: 0;
}

.if-product-details__label {
  font-family: var(--if-font-body);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--if-gold-deep);
  flex-shrink: 0;
}

.if-product-details__value {
  font-family: var(--if-font-body);
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--if-charcoal);
  text-align: right;
  line-height: 1.4;
}

/* Complete the look */
.if-complete-look {
  margin-top: 72px;
  padding-top: 56px;
  border-top: 1px solid var(--if-line);
}

.if-complete-look .if-section__head {
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .if-product-details__grid {
    grid-template-columns: 1fr;
  }

  .if-product-details__row {
    border-right: 0 !important;
    padding: 16px 20px;
  }

  .if-product-details__row:last-child {
    border-bottom: 0;
  }

  .if-product-details__row:nth-last-child(-n+2) {
    border-bottom: 1px solid var(--if-line-soft);
  }

  .if-product-details__row:last-child {
    border-bottom: 0;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SHOP / CATEGORY PAGE - COMPLETE REDESIGN
   No sticky. Everything scrolls naturally.
   ═══════════════════════════════════════════════════════════════ */

/* ── SHOP HERO HEADER ── */
.if-shop-hero {
  background: var(--if-charcoal-bg);
  color: #fff;
  padding: 48px 0 56px;
  position: relative;
  overflow: hidden;
}

.if-shop-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(198, 161, 91, 0.12), transparent 60%);
  pointer-events: none;
}

.if-shop-hero .if-container {
  position: relative;
  z-index: 1;
}

/* Breadcrumbs on dark hero */
.if-shop-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-family: var(--if-font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 24px;
}

.if-shop-breadcrumbs a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.2s ease;
}

.if-shop-breadcrumbs a:hover {
  color: var(--if-gold-soft);
}

.if-shop-breadcrumbs span[aria-hidden="true"] {
  color: var(--if-gold);
  font-size: 0.7rem;
}

.if-shop-breadcrumbs [aria-current="page"] {
  color: var(--if-gold-soft);
}

/* Hero content */
.if-shop-hero__content {
  max-width: 720px;
}

.if-shop-hero__title {
  font-family: var(--if-font-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0 0 16px 0;
}

.if-shop-hero__desc {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 20px 0;
  max-width: 60ch;
}

.if-shop-hero__count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(198, 161, 91, 0.15);
  border: 1px solid rgba(198, 161, 91, 0.3);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--if-gold-soft);
  margin: 0;
}

/* ── SHOP BODY ── */
.if-shop-body {
  padding: 48px 0 80px;
  background: var(--if-white);
}

/* Layout: sidebar + main */
.if-shop-layout {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: start !important;
}

/* ── SIDEBAR (NO STICKY, NO TOO MUCH SPACE) ── */
.if-shop-sidebar {
  position: static !important;
  top: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
}

.if-shop-sidebar__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--if-charcoal);
}

.if-shop-sidebar__title {
  font-family: var(--if-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-charcoal) !important;
  margin: 0 !important;
}

.if-shop-sidebar__clear {
  font-family: var(--if-font-body);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--if-gold-deep);
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s ease;
}

.if-shop-sidebar__clear:hover {
  color: var(--if-charcoal);
}

/* Filter groups */
.if-filter-group {
  padding: 20px 0;
  border-bottom: 1px solid var(--if-line);
}

.if-filter-group:last-of-type {
  border-bottom: 0;
}

.if-filter-group__title {
  font-family: var(--if-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 14px 0 !important;
}

.if-filter-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

.if-filter-list li {
  margin: 0 !important;
  padding: 0 !important;
}

.if-filter-link {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-decoration: none !important;
  border-radius: 3px !important;
  transition: all 0.2s ease !important;
  line-height: 1.3 !important;
  border-left: 2px solid transparent !important;
}

.if-filter-link:hover {
  background: var(--if-ivory) !important;
  color: var(--if-charcoal) !important;
  border-left-color: var(--if-gold) !important;
}

.if-filter-link.is-active {
  background: var(--if-gold-wash) !important;
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
  border-left-color: var(--if-gold-deep) !important;
}

.if-filter-link__name {
  flex: 1 1 auto;
}

.if-filter-link__count {
  font-size: 0.72rem;
  color: var(--if-muted);
  font-weight: 400;
  flex-shrink: 0;
}

.if-filter-link.is-active .if-filter-link__count {
  color: var(--if-gold-deep);
  font-weight: 600;
}

.if-filter-note {
  font-size: 0.78rem !important;
  color: var(--if-muted) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Help box in sidebar */
.if-shop-help {
  margin-top: 24px;
  padding: 20px;
  background: var(--if-ivory);
  border-radius: 6px;
  border-left: 3px solid var(--if-gold);
}

.if-shop-help__title {
  font-family: var(--if-font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 6px 0 !important;
}

.if-shop-help__text {
  font-size: 0.78rem !important;
  color: var(--if-muted) !important;
  line-height: 1.5 !important;
  margin: 0 0 14px 0 !important;
}

/* ── TOOLBAR ── */
.if-shop-main {
  min-width: 0;
}

.if-shop-toolbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  padding: 0 0 20px 0 !important;
  margin: 0 0 32px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  flex-wrap: wrap !important;
}

.if-shop-toolbar__left,
.if-shop-toolbar__right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.if-shop-filter-toggle {
  display: none;
  align-items: center;
  min-height: 44px;
  gap: 8px;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--if-line);
  border-radius: 4px;
  font-family: var(--if-font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--if-charcoal);
  cursor: pointer;
}

.woocommerce-result-count {
  font-family: var(--if-font-body) !important;
  font-size: 0.82rem !important;
  color: var(--if-muted) !important;
  margin: 0 !important;
  letter-spacing: 0.02em !important;
}

.woocommerce-ordering {
  margin: 0 !important;
}

.woocommerce-ordering select {
  padding: 10px 40px 10px 16px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background-color: #fff !important;
  font-size: 0.82rem !important;
  font-family: var(--if-font-body) !important;
  color: var(--if-charcoal) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%232E2C29' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 11px !important;
  min-width: 200px !important;
}

.woocommerce-ordering select:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

/* ── PRODUCT GRID ── */
.if-shop-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 40px 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.if-shop-main ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  min-width: 0 !important;
}

/* ── PAGINATION ── */
.woocommerce-pagination {
  margin-top: 60px !important;
  text-align: center !important;
}

.woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.woocommerce-pagination ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.woocommerce-pagination ul.page-numbers li .page-numbers {
  display: grid !important;
  place-items: center !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  font-variant-numeric: tabular-nums !important;
}

.woocommerce-pagination ul.page-numbers li .page-numbers:hover,
.woocommerce-pagination ul.page-numbers li .page-numbers.current {
  background: var(--if-charcoal) !important;
  border-color: var(--if-charcoal) !important;
  color: #fff !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1023px) {
  .if-shop-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .if-shop-sidebar {
    display: none !important;
  }

  .if-shop-sidebar.is-open {
    display: block !important;
    padding: 24px !important;
    background: #fff !important;
    border: 1px solid var(--if-line) !important;
    border-radius: 6px !important;
    margin-bottom: 24px !important;
  }

  .if-shop-filter-toggle {
    display: inline-flex !important;
  }

  .if-shop-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 16px !important;
  }
}

@media (max-width: 767px) {
  .if-shop-hero {
    padding: 32px 0 40px;
  }

  .if-shop-hero__title {
    font-size: clamp(1.6rem, 6vw, 2.2rem);
  }

  .if-shop-body {
    padding: 32px 0 60px;
  }

  .if-shop-toolbar {
    padding-bottom: 16px !important;
    margin-bottom: 24px !important;
  }

  .woocommerce-ordering select {
    min-width: 140px !important;
    font-size: 0.78rem !important;
    padding: 8px 32px 8px 12px !important;
  }

  .if-shop-main ul.products {
    gap: 24px 12px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SHOP HERO - light background when no image
   ═══════════════════════════════════════════════════════════════ */

/* Light hero (no image) */
.if-shop-hero--light {
  background: var(--if-ivory) !important;
  color: var(--if-charcoal);
  padding: 64px 0 72px;
  position: relative;
  overflow: hidden;
}

.if-shop-hero--light::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(198, 161, 91, 0.08), transparent 55%),
    radial-gradient(ellipse at 80% 70%, rgba(198, 161, 91, 0.05), transparent 55%);
  pointer-events: none;
}

.if-shop-hero--light .if-container {
  position: relative;
  z-index: 1;
}

.if-shop-hero--light .if-shop-breadcrumbs {
  color: var(--if-muted);
}

.if-shop-hero--light .if-shop-breadcrumbs a {
  color: var(--if-muted);
}

.if-shop-hero--light .if-shop-breadcrumbs a:hover {
  color: var(--if-gold-deep);
}

.if-shop-hero--light .if-shop-breadcrumbs [aria-current="page"] {
  color: var(--if-charcoal);
}

.if-shop-hero--light .if-shop-hero__title {
  color: var(--if-charcoal);
}

.if-shop-hero--light .if-shop-hero__desc {
  color: var(--if-body);
}

.if-shop-hero--light .if-shop-hero__count {
  background: var(--if-gold-wash);
  border-color: var(--if-gold);
  color: var(--if-gold-deep);
}

/* Dark hero (with image) */
.if-shop-hero--image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 380px;
  display: flex;
  align-items: center;
}

.if-shop-hero--image .if-shop-hero__content {
  max-width: 620px;
}

/* Responsive */
@media (max-width: 767px) {
  .if-shop-hero--light {
    padding: 40px 0 48px;
  }

  .if-shop-hero--image {
    min-height: 280px;
  }
}


/* ═══════════════════════════════════════════════════════════════
   ORDER CONFIRMATION - Timeline + Discount + Related
   ═══════════════════════════════════════════════════════════════ */

/* Timeline */
.if-order-timeline {
  margin: 48px 0;
  padding: 40px 32px;
  background: #fff;
  border: 1px solid var(--if-line);
  border-radius: 6px;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06);
}

.if-order-timeline__title {
  font-family: var(--if-font-display);
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--if-charcoal);
  margin: 0 0 32px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid var(--if-line);
  letter-spacing: -0.01em;
}

.if-order-timeline__steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  position: relative;
}

.if-order-timeline__steps::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 30px;
  right: 30px;
  height: 2px;
  background: var(--if-line);
  z-index: 0;
}

.if-order-timeline__step {
  flex: 1;
  text-align: center;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.if-order-timeline__icon {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #fff;
  border: 2px solid var(--if-line);
  display: grid;
  place-items: center;
  color: var(--if-muted);
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
}

.if-order-timeline__step.is-done .if-order-timeline__icon {
  background: var(--if-gold);
  border-color: var(--if-gold);
  color: #fff;
}

.if-order-timeline__step.is-current .if-order-timeline__icon {
  background: #fff;
  border-color: var(--if-gold);
  border-width: 3px;
  color: var(--if-gold-deep);
  box-shadow: 0 0 0 6px rgba(198, 161, 91, 0.18);
}

.if-order-timeline__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--if-gold);
  animation: ifOrderPulse 1.6s ease-in-out infinite;
}

@keyframes ifOrderPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.3); opacity: 0.6; }
}

.if-order-timeline__num {
  font-family: var(--if-font-body);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--if-muted);
}

.if-order-timeline__body strong {
  display: block;
  font-family: var(--if-font-body);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--if-charcoal);
  letter-spacing: 0.02em;
  margin-bottom: 2px;
}

.if-order-timeline__body span {
  display: block;
  font-family: var(--if-font-body);
  font-size: 0.72rem;
  color: var(--if-muted);
  line-height: 1.4;
}

.if-order-timeline__step.is-future .if-order-timeline__body strong,
.if-order-timeline__step.is-future .if-order-timeline__body span {
  color: var(--if-faint, #B8B2A7);
}

/* Discount box */
.if-thankyou-discount {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin: 40px 0;
  padding: 28px 32px;
  background: linear-gradient(135deg, #FAF6EE 0%, #F4E9CF 100%);
  border: 1px solid var(--if-gold);
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}

.if-thankyou-discount::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -10%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(198, 161, 91, 0.2), transparent 70%);
  pointer-events: none;
}

.if-thankyou-discount__icon {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: var(--if-gold);
  color: #fff;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

.if-thankyou-discount__body {
  position: relative;
  z-index: 1;
  flex: 1;
}

.if-thankyou-discount__label {
  font-family: var(--if-font-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--if-gold-deep);
  margin: 0 0 6px 0;
}

.if-thankyou-discount__text {
  font-family: var(--if-font-body);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--if-charcoal);
  margin: 0 0 14px 0;
  line-height: 1.5;
}

.if-thankyou-discount__code {
  display: inline-flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 2px dashed var(--if-gold);
  border-radius: 4px;
  padding: 0;
  overflow: hidden;
}

.if-thankyou-discount__code code {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 1rem;
  font-weight: 700;
  color: var(--if-charcoal);
  letter-spacing: 0.06em;
  padding: 12px 20px;
  background: transparent;
}

.if-copy-code {
  padding: 12px 18px;
  background: var(--if-gold);
  color: #fff;
  border: 0;
  font-family: var(--if-font-body);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease;
}

.if-copy-code:hover {
  background: var(--if-gold-deep);
}

.if-copy-code.is-copied {
  background: var(--if-success);
}

/* Thank you actions */
.if-thankyou-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 40px 0;
}

.if-btn--whatsapp {
  background: #25D366;
  color: #fff;
  border: 1px solid #25D366;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.if-btn--whatsapp:hover {
  background: #1DA851;
  border-color: #1DA851;
  color: #fff;
}

/* Related products */
.if-thankyou-related {
  margin: 64px 0 0 0;
  padding-top: 56px;
  border-top: 1px solid var(--if-line);
}

/* Responsive */
@media (max-width: 767px) {
  .if-order-timeline {
    padding: 24px 16px;
  }

  .if-order-timeline__steps {
    flex-direction: column;
    gap: 20px;
  }

  .if-order-timeline__steps::before {
    display: none;
  }

  .if-order-timeline__step {
    flex-direction: row;
    text-align: left;
    gap: 16px;
  }

  .if-order-timeline__body {
    flex: 1;
  }

  .if-thankyou-discount {
    flex-direction: column;
    padding: 22px 20px;
  }

  .if-thankyou-actions .if-btn {
    width: 100%;
    justify-content: center;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CART - product box layout fix
   Prevents product name from wrapping to 4 lines
   ═══════════════════════════════════════════════════════════════ */

/* Remove fixed table layout */
.woocommerce-cart table.shop_table {
  table-layout: auto !important;
  width: 100% !important;
  border-collapse: collapse !important;
}

/* Product name — allow proper width */
.woocommerce-cart table.shop_table .product-name {
  width: auto !important;
  max-width: none !important;
  min-width: 260px !important;
  padding-right: 24px !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.shop_table .product-name a {
  font-family: var(--if-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}

/* Thumbnail — bigger, consistent */
.woocommerce-cart table.shop_table .product-thumbnail {
  width: 130px !important;
  padding-right: 20px !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a {
  display: block !important;
  width: 100px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.08) !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 100px !important;
  height: 133px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Price columns — fixed widths */
.woocommerce-cart table.shop_table .product-price {
  width: 110px !important;
  text-align: right !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  font-variant-numeric: tabular-nums !important;
  padding: 0 20px !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
  width: 120px !important;
  text-align: right !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--if-gold-deep) !important;
  font-variant-numeric: tabular-nums !important;
  padding: 0 16px !important;
}

.woocommerce-cart table.shop_table .product-quantity {
  width: 130px !important;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 0 12px !important;
}

.woocommerce-cart table.shop_table .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  height: 44px !important;
  overflow: hidden !important;
}

.woocommerce-cart table.shop_table .product-quantity input.qty {
  width: 60px !important;
  height: 42px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  background: transparent !important;
  font-variant-numeric: tabular-nums !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart table.shop_table .product-remove {
  width: 50px !important;
  text-align: right !important;
  vertical-align: middle !important;
  padding: 0 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--if-ivory) !important;
  color: var(--if-muted) !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

/* Row height — consistent */
.woocommerce-cart table.shop_table tbody tr.cart_item td {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--if-line) !important;
  vertical-align: middle !important;
}

/* Set variation inline better */
.woocommerce-cart table.shop_table .product-name .variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
  margin: 12px 0 0 0 !important;
  padding: 12px 0 0 0 !important;
  border-top: 1px dashed var(--if-line) !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.78rem !important;
  line-height: 1.4 !important;
  width: 100% !important;
}

.woocommerce-cart table.shop_table .product-name .variation p {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: var(--if-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  margin: 0 !important;
}

/* Responsive */
@media (max-width: 767px) {
  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr,
  .woocommerce-cart table.shop_table td {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table tr.cart_item {
    padding: 20px !important;
    margin-bottom: 16px !important;
    border: 1px solid var(--if-line) !important;
    border-radius: 6px !important;
    display: grid !important;
    grid-template-columns: 90px 1fr !important;
    gap: 14px 16px !important;
    position: relative !important;
    background: #fff !important;
  }

  .woocommerce-cart table.shop_table tr.cart_item td {
    padding: 0 !important;
    border: 0 !important;
    width: auto !important;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail {
    grid-row: 1 / 6 !important;
    width: 90px !important;
    padding: 0 !important;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail a,
  .woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 90px !important;
    height: 120px !important;
  }

  .woocommerce-cart table.shop_table td.product-name {
    min-width: 0 !important;
    padding: 0 40px 0 0 !important;
  }

  .woocommerce-cart table.shop_table td.product-name a {
    font-size: 1rem !important;
  }

  .woocommerce-cart table.shop_table td.product-price,
  .woocommerce-cart table.shop_table td.product-quantity,
  .woocommerce-cart table.shop_table td.product-subtotal {
    text-align: left !important;
    grid-column: 2 !important;
    width: auto !important;
    padding: 0 !important;
    font-size: 0.9rem !important;
  }

  .woocommerce-cart table.shop_table td.product-price::before {
    content: "Price: " !important;
    color: var(--if-muted) !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
  }

  .woocommerce-cart table.shop_table td.product-subtotal::before {
    content: "Total: " !important;
    color: var(--if-muted) !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
  }

  .woocommerce-cart table.shop_table td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: auto !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   ORDER CONFIRMATION - COMPACT LAYOUT
   No long scroll, 2-column, tight spacing.
   ═══════════════════════════════════════════════════════════════ */

.if-thankyou {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 48px 24px 60px !important;
}

/* ── HEADER ── */
.if-thankyou__header {
  text-align: center;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--if-line);
}

.if-thankyou__check {
  width: 68px;
  height: 68px;
  border-radius: 999px;
  background: var(--if-success);
  color: #fff;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  box-shadow: 0 8px 24px rgba(47, 107, 79, 0.25);
  animation: ifThankCheck 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.if-thankyou__check svg {
  width: 32px;
  height: 32px;
}

@keyframes ifThankCheck {
  0%   { transform: scale(0); opacity: 0; }
  60%  { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(1); }
}

.if-thankyou__heading {
  font-family: var(--if-font-display) !important;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.01em !important;
  background: transparent !important;
  padding: 0 !important;
}

.if-thankyou__sub {
  font-size: 1rem;
  color: var(--if-muted);
  margin: 0 auto 24px;
  max-width: 50ch;
  line-height: 1.5;
}

/* Meta strip */
.if-thankyou__meta {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 32px;
  list-style: none;
  padding: 16px 28px;
  margin: 0;
  background: var(--if-ivory);
  border-radius: 6px;
  border: 1px solid var(--if-line);
}

.if-thankyou__meta li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 0 8px;
}

.if-thankyou__meta li + li {
  border-left: 1px solid var(--if-line);
}

.if-thankyou__meta-label {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--if-muted);
}

.if-thankyou__meta-value {
  font-family: var(--if-font-body);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--if-charcoal);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.if-thankyou__meta-value--gold {
  color: var(--if-gold-deep);
}

/* ── 2-COLUMN MAIN ── */
.if-thankyou__main {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 28px;
  margin-bottom: 40px;
  align-items: start;
}

.if-thankyou__panel {
  background: #fff;
  border: 1px solid var(--if-line);
  border-radius: 6px;
  padding: 28px;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04);
}

.if-thankyou__panel-title {
  font-family: var(--if-font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
  background: transparent !important;
}

/* Items list */
.if-thankyou__items {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  display: grid;
  gap: 14px;
}

.if-thankyou__item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border-radius: 4px;
  background: var(--if-ivory);
  transition: background 0.2s ease;
}

.if-thankyou__item:hover {
  background: var(--if-gold-wash);
}

.if-thankyou__item-img {
  width: 56px;
  height: 74px;
  border-radius: 3px;
  overflow: hidden;
  background: #fff;
}

.if-thankyou__item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.if-thankyou__item-body {
  min-width: 0;
}

.if-thankyou__item-name {
  display: block;
  font-family: var(--if-font-display);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--if-charcoal);
  line-height: 1.3;
  margin-bottom: 4px;
  overflow-wrap: break-word;
}

.if-thankyou__item-meta {
  display: block;
  font-family: var(--if-font-body);
  font-size: 0.72rem;
  color: var(--if-muted);
  letter-spacing: 0.02em;
}

.if-thankyou__item-price {
  font-family: var(--if-font-body);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--if-charcoal);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Totals */
.if-thankyou__totals {
  padding-top: 16px;
  border-top: 1px solid var(--if-line);
  display: grid;
  gap: 8px;
}

.if-thankyou__total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-family: var(--if-font-body);
  font-size: 0.85rem;
  color: var(--if-body);
}

.if-thankyou__total-row span:last-child {
  font-weight: 600;
  color: var(--if-charcoal);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.if-thankyou__total-row--grand {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid var(--if-line);
  font-size: 1.1rem !important;
  font-weight: 700;
}

.if-thankyou__total-row--grand span {
  color: var(--if-charcoal) !important;
  font-weight: 700;
}

.if-thankyou__total-row--grand span:last-child {
  color: var(--if-gold-deep) !important;
}

/* Delivery details */
.if-thankyou__detail {
  padding: 14px 0;
  border-bottom: 1px solid var(--if-line-soft);
}

.if-thankyou__detail:first-of-type {
  padding-top: 0;
}

.if-thankyou__detail:last-of-type {
  padding-bottom: 0;
  border-bottom: 0;
}

.if-thankyou__detail-title {
  font-family: var(--if-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-gold-deep) !important;
  margin: 0 0 6px 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.if-thankyou__detail-value,
.if-thankyou__address {
  font-family: var(--if-font-body);
  font-style: normal;
  font-size: 0.88rem;
  color: var(--if-body);
  line-height: 1.55;
  margin: 0;
}

.if-thankyou__address br {
  line-height: 1.7;
}

/* Failed state */
.if-thankyou__failed {
  text-align: center;
  padding: 60px 20px;
}

.if-thankyou__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
  flex-wrap: wrap;
}

/* Empty state */
.if-thankyou__empty {
  text-align: center;
  padding: 80px 20px;
  font-family: var(--if-font-display);
  font-size: 1.5rem;
  color: var(--if-charcoal);
}

/* Footer actions */
.if-thankyou__footer-actions {
  text-align: center;
  padding-top: 32px;
  margin-top: 40px;
  border-top: 1px solid var(--if-line);
}

/* ═══════════════════════════════════════════════════════════════
   TIMELINE inside thank you — compact
   ═══════════════════════════════════════════════════════════════ */
.if-thankyou .if-order-timeline {
  margin: 40px 0 !important;
  padding: 28px 24px !important;
}

.if-thankyou .if-order-timeline__title {
  font-size: 1.2rem !important;
  margin: 0 0 24px 0 !important;
  padding: 0 0 16px 0 !important;
}

.if-thankyou .if-order-timeline__icon {
  width: 40px !important;
  height: 40px !important;
}

.if-thankyou .if-order-timeline__steps::before {
  top: 19px !important;
}

/* ═══════════════════════════════════════════════════════════════
   DISCOUNT + WHATSAPP - 2 columns
   ═══════════════════════════════════════════════════════════════ */
.if-thankyou .if-thankyou-discount {
  margin: 0 0 40px 0 !important;
  padding: 24px 28px !important;
}

.if-thankyou-actions {
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
  margin: 0 0 40px 0 !important;
  flex-wrap: wrap !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid var(--if-line) !important;
}

.if-thankyou .if-thankyou-related {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Related products grid - tight */
.if-thankyou .if-thankyou-related .if-grid--products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.if-thankyou .if-thankyou-related .if-section__head {
  margin-bottom: 28px !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1023px) {
  .if-thankyou__main {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .if-thankyou .if-thankyou-related .if-grid--products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .if-thankyou {
    padding: 32px 16px 40px !important;
  }

  .if-thankyou__meta {
    flex-direction: column;
    gap: 12px;
    padding: 16px 20px;
    width: 100%;
  }

  .if-thankyou__meta li + li {
    border-left: 0;
    border-top: 1px solid var(--if-line);
    padding-top: 12px;
    width: 100%;
  }

  .if-thankyou__panel {
    padding: 20px;
  }

  .if-thankyou__item {
    grid-template-columns: 48px 1fr auto;
    gap: 10px;
    padding: 10px;
  }

  .if-thankyou__item-img {
    width: 48px;
    height: 64px;
  }

  .if-thankyou .if-order-timeline__steps {
    flex-direction: column !important;
    gap: 14px !important;
  }

  .if-thankyou .if-order-timeline__steps::before {
    display: none !important;
  }

  .if-thankyou-actions .if-btn {
    width: 100%;
  }
}


/* ═══════════════════════════════════════════════════════════════
   MY ACCOUNT - MODERN PREMIUM REDESIGN
   Matches cart + checkout style
   ═══════════════════════════════════════════════════════════════ */

/* Page title */
.woocommerce-account .if-page-title,
.woocommerce-account .entry-title {
  font-family: var(--if-font-display) !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

.woocommerce-account .if-page-header::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  background: var(--if-gold);
  margin: 24px auto 48px;
}

/* Layout: sidebar + content */
.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto 80px !important;
}

/* ═══ NAVIGATION SIDEBAR ═══ */
.woocommerce-MyAccount-navigation {
  position: static !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  width: 100% !important;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 4px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  padding: 16px !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
}

.woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-MyAccount-navigation li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  border-left: 2px solid transparent !important;
  transition: all 0.2s ease !important;
}

.woocommerce-MyAccount-navigation li a:hover {
  background: var(--if-ivory) !important;
  color: var(--if-charcoal) !important;
  border-left-color: var(--if-gold) !important;
}

.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border-left-color: var(--if-gold) !important;
  font-weight: 600 !important;
}

.woocommerce-MyAccount-navigation li a::before {
  content: "→";
  opacity: 0.5;
  font-size: 0.85rem;
}

.woocommerce-MyAccount-navigation li.is-active a::before {
  content: "→";
  opacity: 1;
  color: var(--if-gold);
}

/* Logout link special */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--if-sale) !important;
  margin-top: 8px;
  border-top: 1px solid var(--if-line-soft) !important;
  padding-top: 16px !important;
  border-radius: 0 !important;
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #fff !important;
  background: var(--if-sale) !important;
  border-left-color: var(--if-sale) !important;
}

/* ═══ CONTENT AREA ═══ */
.woocommerce-MyAccount-content {
  min-width: 0 !important;
  width: 100% !important;
}

.woocommerce-MyAccount-content > p:first-of-type {
  padding: 24px 28px !important;
  background: var(--if-gold-wash) !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 4px !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: var(--if-body) !important;
  margin: 0 0 32px 0 !important;
}

.woocommerce-MyAccount-content p {
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  color: var(--if-body) !important;
  margin: 0 0 16px 0 !important;
}

.woocommerce-MyAccount-content p a {
  color: var(--if-gold-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.woocommerce-MyAccount-content p a:hover {
  color: var(--if-charcoal) !important;
}

.woocommerce-MyAccount-content h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-MyAccount-content h3 {
  font-family: var(--if-font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 24px 0 16px 0 !important;
}

/* ═══ ORDERS TABLE ═══ */
.woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
}

.woocommerce-orders-table thead {
  background: var(--if-ivory) !important;
}

.woocommerce-orders-table thead th {
  padding: 16px 20px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-charcoal) !important;
  text-align: left !important;
  border-bottom: 1px solid var(--if-line) !important;
}

.woocommerce-orders-table tbody tr {
  border-bottom: 1px solid var(--if-line-soft) !important;
  transition: background 0.2s ease !important;
}

.woocommerce-orders-table tbody tr:last-child {
  border-bottom: 0 !important;
}

.woocommerce-orders-table tbody tr:hover {
  background: var(--if-gold-wash) !important;
}

.woocommerce-orders-table tbody td {
  padding: 20px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.9rem !important;
  color: var(--if-body) !important;
  vertical-align: middle !important;
}

.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-number a,
.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-number {
  font-family: var(--if-font-display) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-total {
  font-weight: 700 !important;
  color: var(--if-gold-deep) !important;
  font-variant-numeric: tabular-nums !important;
}

.woocommerce-orders-table tbody td .button {
  display: inline-block !important;
  padding: 10px 18px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}

.woocommerce-orders-table tbody td .button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Order status pills */
.woocommerce-orders-table mark.order-status,
.woocommerce-orders-table .order-status,
mark.order-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  background: var(--if-gold-wash) !important;
  color: var(--if-gold-deep) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

mark.order-status.status-completed,
mark.order-status.status-delivered {
  background: #E8F4ED !important;
  color: #2F6B4F !important;
}

mark.order-status.status-processing {
  background: #FFF3E0 !important;
  color: #B25D00 !important;
}

mark.order-status.status-on-hold,
mark.order-status.status-pending {
  background: #FEF3C7 !important;
  color: #92400E !important;
}

mark.order-status.status-cancelled,
mark.order-status.status-failed,
mark.order-status.status-refunded {
  background: #FCE7E7 !important;
  color: #9B2C2C !important;
}

/* ═══ LOGIN / REGISTER ═══ */
.woocommerce-account .u-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 40px 36px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
}

.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row {
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label {
  display: block !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--if-charcoal) !important;
  margin-bottom: 8px !important;
}

.woocommerce-account .woocommerce-form-login input.input-text,
.woocommerce-account .woocommerce-form-register input.input-text {
  width: 100% !important;
  height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.95rem !important;
  color: var(--if-charcoal) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
}

.woocommerce-account .woocommerce-form-login input.input-text:focus,
.woocommerce-account .woocommerce-form-register input.input-text:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

.woocommerce-account .woocommerce-form-login button,
.woocommerce-account .woocommerce-form-register button {
  width: 100% !important;
  padding: 16px 24px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  margin-top: 8px !important;
}

.woocommerce-account .woocommerce-form-login button:hover,
.woocommerce-account .woocommerce-form-register button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.82rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme input {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--if-gold) !important;
}

.woocommerce-account .woocommerce-LostPassword {
  text-align: left !important;
  margin-top: 16px !important;
  font-size: 0.82rem !important;
}

.woocommerce-account .woocommerce-LostPassword a {
  color: var(--if-gold-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* ═══ ADDRESSES ═══ */
.woocommerce-address-fields,
.woocommerce-Address {
  background: #fff !important;
  padding: 28px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  margin-bottom: 24px !important;
}

.woocommerce-Address-title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--if-line) !important;
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
  font-family: var(--if-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--if-charcoal) !important;
}

.woocommerce-Address-title .edit {
  font-family: var(--if-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--if-gold-deep) !important;
  text-decoration: none !important;
}

.woocommerce-Address-title .edit:hover {
  color: var(--if-charcoal) !important;
}

.woocommerce-Address address {
  font-family: var(--if-font-body) !important;
  font-size: 0.9rem !important;
  color: var(--if-body) !important;
  line-height: 1.7 !important;
  font-style: normal !important;
}

/* Account details form */
.woocommerce-EditAccountForm {
  background: #fff !important;
  padding: 32px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
}

.woocommerce-EditAccountForm fieldset {
  border: 0 !important;
  padding: 24px 0 0 0 !important;
  margin: 24px 0 0 0 !important;
  border-top: 1px solid var(--if-line) !important;
}

.woocommerce-EditAccountForm legend {
  font-family: var(--if-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  padding: 0 0 8px 0 !important;
}

.woocommerce-EditAccountForm .form-row {
  margin: 0 0 20px 0 !important;
}

.woocommerce-EditAccountForm input.input-text {
  width: 100% !important;
  height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.95rem !important;
  background: #fff !important;
  color: var(--if-charcoal) !important;
  box-sizing: border-box !important;
}

.woocommerce-EditAccountForm input.input-text:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

.woocommerce-EditAccountForm button {
  padding: 14px 28px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.woocommerce-EditAccountForm button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 22px !important;
  margin: 0 0 32px 0 !important;
  border-radius: 4px !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  flex-wrap: wrap !important;
}

.woocommerce-account .woocommerce-message {
  background: #F0F9F2 !important;
  border-left: 4px solid #3D8A63 !important;
  color: #1F5A3D !important;
}

.woocommerce-account .woocommerce-info {
  background: #FFF8E7 !important;
  border-left: 4px solid #D4A24C !important;
  color: #5C4719 !important;
}

.woocommerce-account .woocommerce-error {
  background: #FCF1F1 !important;
  border-left: 4px solid #B93B3B !important;
  color: #7A2626 !important;
}

/* Logged-in order details page */
.woocommerce-view-order .woocommerce-order-details,
.woocommerce-view-order .woocommerce-customer-details {
  background: #fff !important;
  padding: 28px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  margin-bottom: 24px !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1023px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding: 12px !important;
    gap: 6px !important;
    scrollbar-width: none !important;
  }

  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none !important;
  }

  .woocommerce-MyAccount-navigation li a {
    white-space: nowrap !important;
    padding: 10px 16px !important;
  }

  .woocommerce-account .u-columns {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-orders-table,
  .woocommerce-orders-table tbody,
  .woocommerce-orders-table tr,
  .woocommerce-orders-table td {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-orders-table thead {
    display: none !important;
  }

  .woocommerce-orders-table tr {
    border: 1px solid var(--if-line) !important;
    border-radius: 6px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
    background: #fff !important;
  }

  .woocommerce-orders-table td {
    padding: 8px 0 !important;
    border: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .woocommerce-orders-table td::before {
    content: attr(data-title);
    font-weight: 600;
    color: var(--if-muted);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }

  .woocommerce-account .woocommerce-form-login,
  .woocommerce-account .woocommerce-form-register,
  .woocommerce-EditAccountForm {
    padding: 24px 20px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   MY ACCOUNT - DEFINITIVE LAYOUT FIX (flexbox)
   Nav on left, content on right. No stacking.
   ═══════════════════════════════════════════════════════════════ */

/* Reset everything first */
body.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce > *,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  box-sizing: border-box !important;
}

/* Force flex row layout */
body.woocommerce-account .woocommerce {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Nav column — fixed width */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 240px !important;
  width: 240px !important;
  max-width: 240px !important;
  min-width: 240px !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  order: 1 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 16px !important;
  margin: 0 !important;
  display: block !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
  width: 100% !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: block !important;
  width: 100% !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  margin-bottom: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 14px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  width: 100% !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--if-ivory) !important;
  color: var(--if-charcoal) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--if-charcoal) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

/* Content column — flexible */
body.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  order: 2 !important;
}

/* Content typography */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  padding: 20px 24px !important;
  background: var(--if-gold-wash) !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 4px !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  color: var(--if-body) !important;
  margin: 0 0 24px 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
}

/* ── RESPONSIVE - stack on mobile ── */
@media (max-width: 900px) {
  body.woocommerce-account .woocommerce {
    flex-direction: column !important;
    gap: 24px !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    order: 1 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    padding: 12px !important;
    scrollbar-width: none !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    padding: 10px 16px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    order: 2 !important;
    width: 100% !important;
  }
}

/* Hide the WooCommerce default column floating that conflicts */
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
  display: none !important;
  content: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   MY ACCOUNT - COMPLETE REBUILD v2 (definitive)
   All account pages: dashboard, orders, addresses, account details, login
   ═══════════════════════════════════════════════════════════════ */

/* ─── RESET all WooCommerce floats ─── */
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after,
body.woocommerce-account .col2-set::before,
body.woocommerce-account .col2-set::after,
body.woocommerce-account .u-columns::before,
body.woocommerce-account .u-columns::after {
  display: none !important;
  content: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   LAYOUT — nav sidebar + content
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 48px !important;
  align-items: flex-start !important;
  max-width: 1320px !important;
  margin: 0 auto 80px !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Notices + login block span the full row (logged out) and sit above content */
body.woocommerce-account .woocommerce-notices-wrapper,
body.woocommerce-account .if-account-forms {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Center the login/register columns block within the content width */
body.woocommerce-account .if-account-forms.u-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 48px !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 240px !important;
  width: 240px !important;
  max-width: 240px !important;
  min-width: 240px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
  order: 1 !important;
  background: transparent !important;
  border: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 1 auto !important;
  width: calc(100% - 288px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  order: 2 !important;
}

/* ═══════════════════════════════════════════════════════════════
   NAVIGATION SIDEBAR
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 16px !important;
  margin: 0 !important;
  display: block !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: block !important;
  border: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  margin-bottom: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
  content: "→" !important;
  color: var(--if-muted) !important;
  font-size: 0.85rem !important;
  transition: color 0.2s ease !important;
  display: inline-block !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--if-ivory) !important;
  color: var(--if-charcoal) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover::before {
  color: var(--if-gold) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--if-charcoal) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
  color: var(--if-gold) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 8px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--if-line-soft) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--if-sale) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  color: var(--if-sale) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: var(--if-sale) !important;
  color: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover::before {
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════════
   CONTENT — typography & base
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  padding: 20px 24px !important;
  background: var(--if-gold-wash) !important;
  border-left: 3px solid var(--if-gold) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  color: var(--if-body) !important;
  margin: 0 0 28px 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content > p {
  font-family: var(--if-font-body) !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  color: var(--if-body) !important;
  margin: 0 0 20px 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content p a {
  color: var(--if-gold-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  letter-spacing: -0.01em !important;
  background: transparent !important;
}

body.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--if-font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 24px 0 16px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   ORDERS TABLE
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
  margin: 0 0 24px 0 !important;
}

body.woocommerce-account .woocommerce-orders-table thead {
  background: var(--if-ivory) !important;
}

body.woocommerce-account .woocommerce-orders-table thead th {
  padding: 16px 20px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--if-charcoal) !important;
  text-align: left !important;
  border-bottom: 1px solid var(--if-line) !important;
  border-top: 0 !important;
  background: transparent !important;
}

body.woocommerce-account .woocommerce-orders-table tbody tr {
  border-bottom: 1px solid var(--if-line-soft) !important;
  transition: background 0.2s ease !important;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:last-child {
  border-bottom: 0 !important;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:hover {
  background: var(--if-gold-wash) !important;
}

body.woocommerce-account .woocommerce-orders-table tbody td {
  padding: 20px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.9rem !important;
  color: var(--if-body) !important;
  vertical-align: middle !important;
  border: 0 !important;
}

body.woocommerce-account .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-number a {
  font-family: var(--if-font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--if-charcoal) !important;
  text-decoration: none !important;
}

body.woocommerce-account .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-total {
  font-weight: 700 !important;
  color: var(--if-gold-deep) !important;
  font-variant-numeric: tabular-nums !important;
}

body.woocommerce-account .woocommerce-orders-table .button {
  display: inline-block !important;
  padding: 10px 20px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}

body.woocommerce-account .woocommerce-orders-table .button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Status pills */
body.woocommerce-account mark.order-status {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 12px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  background: var(--if-gold-wash) !important;
  color: var(--if-gold-deep) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

body.woocommerce-account mark.order-status.status-completed,
body.woocommerce-account mark.order-status.status-delivered {
  background: #E8F4ED !important;
  color: #2F6B4F !important;
}

body.woocommerce-account mark.order-status.status-processing {
  background: #FFF3E0 !important;
  color: #B25D00 !important;
}

body.woocommerce-account mark.order-status.status-on-hold,
body.woocommerce-account mark.order-status.status-pending {
  background: #FEF3C7 !important;
  color: #92400E !important;
}

body.woocommerce-account mark.order-status.status-cancelled,
body.woocommerce-account mark.order-status.status-failed,
body.woocommerce-account mark.order-status.status-refunded {
  background: #FCE7E7 !important;
  color: #9B2C2C !important;
}

/* ═══════════════════════════════════════════════════════════════
   ADDRESSES - 2 COLUMN GRID (fixes broken layout)
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-Addresses,
body.woocommerce-account .col2-set.addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after,
body.woocommerce-account .col2-set.addresses::before,
body.woocommerce-account .col2-set.addresses::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-account .woocommerce-Address,
body.woocommerce-account .col2-set.addresses .col-1,
body.woocommerce-account .col2-set.addresses .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 28px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
  position: static !important;
}

body.woocommerce-account .woocommerce-Address-title,
body.woocommerce-account .woocommerce-Address .title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
  float: none !important;
}

body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3,
body.woocommerce-account .woocommerce-Address .title h3 {
  font-family: var(--if-font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  letter-spacing: -0.01em !important;
  background: transparent !important;
}

body.woocommerce-account .woocommerce-Address-title .edit,
body.woocommerce-account .woocommerce-Address .edit {
  font-family: var(--if-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--if-gold-deep) !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border: 1px solid var(--if-gold) !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  float: none !important;
}

body.woocommerce-account .woocommerce-Address-title .edit:hover,
body.woocommerce-account .woocommerce-Address .edit:hover {
  background: var(--if-gold) !important;
  color: #fff !important;
}

body.woocommerce-account .woocommerce-Address address {
  font-family: var(--if-font-body) !important;
  font-style: normal !important;
  font-size: 0.9rem !important;
  color: var(--if-body) !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-account .woocommerce-Address address br {
  line-height: 1.75 !important;
}

/* ═══════════════════════════════════════════════════════════════
   ACCOUNT DETAILS FORM — 2-column grid
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-EditAccountForm {
  background: #fff !important;
  padding: 36px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
  max-width: 100% !important;
  width: 100% !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
body.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
  width: calc(50% - 12px) !important;
  float: left !important;
  display: inline-block !important;
  vertical-align: top !important;
  clear: none !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row-first {
  margin-right: 24px !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row-first + .form-row-last {
  clear: none !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row-wide {
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .clear {
  clear: both !important;
  display: block !important;
}

body.woocommerce-account .woocommerce-EditAccountForm label {
  display: block !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 8px 0 !important;
}

body.woocommerce-account .woocommerce-EditAccountForm input.input-text {
  width: 100% !important;
  height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.95rem !important;
  background: #fff !important;
  color: var(--if-charcoal) !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
  float: none !important;
}

body.woocommerce-account .woocommerce-EditAccountForm input.input-text:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

body.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: 0 !important;
  padding: 32px 0 8px 0 !important;
  margin: 32px 0 0 0 !important;
  border-top: 1px solid var(--if-line) !important;
  clear: both !important;
}

body.woocommerce-account .woocommerce-EditAccountForm legend {
  font-family: var(--if-font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  padding: 0 0 6px 0 !important;
  margin: 0 0 20px 0 !important;
  background: transparent !important;
}

body.woocommerce-account .woocommerce-EditAccountForm button.button,
body.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
  padding: 16px 32px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  margin-top: 16px !important;
}

body.woocommerce-account .woocommerce-EditAccountForm button.button:hover,
body.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* ═══════════════════════════════════════════════════════════════
   LOGIN / REGISTER — 2-column cards
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account.logged-out .woocommerce {
  display: block !important;
  max-width: 1100px !important;
  margin: 0 auto 80px !important;
}

body.woocommerce-account.logged-out #customer_login,
body.woocommerce-account .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.woocommerce-account .u-column1,
body.woocommerce-account .u-column2,
body.woocommerce-account .u-column1.col-1,
body.woocommerce-account .u-column2.col-2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-account .u-column1 h2,
body.woocommerce-account .u-column2 h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 40px 36px !important;
  background: #fff !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 32px rgba(28, 27, 25, 0.06) !important;
  box-sizing: border-box !important;
}

body.woocommerce-account .woocommerce-form-login .form-row,
body.woocommerce-account .woocommerce-form-register .form-row {
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
}

body.woocommerce-account .woocommerce-form-login .form-row label,
body.woocommerce-account .woocommerce-form-register .form-row label {
  display: block !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 8px 0 !important;
}

body.woocommerce-account .woocommerce-form-login input.input-text,
body.woocommerce-account .woocommerce-form-register input.input-text {
  width: 100% !important;
  height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.95rem !important;
  color: var(--if-charcoal) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
}

body.woocommerce-account .woocommerce-form-login input.input-text:focus,
body.woocommerce-account .woocommerce-form-register input.input-text:focus {
  border-color: var(--if-gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.15) !important;
  outline: none !important;
}

body.woocommerce-account .woocommerce-form-login button.button,
body.woocommerce-account .woocommerce-form-register button.button {
  width: 100% !important;
  padding: 16px 24px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  margin: 8px 0 0 0 !important;
}

body.woocommerce-account .woocommerce-form-login button.button:hover,
body.woocommerce-account .woocommerce-form-register button.button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* Remember me + forgot password */
body.woocommerce-account .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.82rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  color: var(--if-body) !important;
  margin: 0 !important;
  cursor: pointer !important;
}

body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--if-gold) !important;
  margin: 0 !important;
}

body.woocommerce-account .woocommerce-form-login .lost_password,
body.woocommerce-account .woocommerce-LostPassword {
  text-align: right !important;
  margin: 0 0 12px 0 !important;
  font-size: 0.82rem !important;
}

body.woocommerce-account .woocommerce-form-login .lost_password a,
body.woocommerce-account .woocommerce-LostPassword a {
  color: var(--if-gold-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* Row with remember + forgot */
body.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme),
body.woocommerce-account .woocommerce-form-login .login-remember-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* ═══════════════════════════════════════════════════════════════
   NOTICES
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 22px !important;
  margin: 0 0 28px 0 !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  flex-wrap: wrap !important;
  border-left-width: 4px !important;
  border-left-style: solid !important;
}

body.woocommerce-account .woocommerce-message {
  background: #F0F9F2 !important;
  border-left-color: #3D8A63 !important;
  color: #1F5A3D !important;
}

body.woocommerce-account .woocommerce-info {
  background: #FFF8E7 !important;
  border-left-color: #D4A24C !important;
  color: #5C4719 !important;
}

body.woocommerce-account .woocommerce-error {
  background: #FCF1F1 !important;
  border-left-color: #B93B3B !important;
  color: #7A2626 !important;
}

body.woocommerce-account .woocommerce-message .button,
body.woocommerce-account .woocommerce-info .button {
  margin-left: auto !important;
  padding: 10px 20px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* ═══════════════════════════════════════════════════════════════
   VIEW ORDER (single order view)
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-order-details,
body.woocommerce-account .woocommerce-customer-details {
  background: #fff !important;
  padding: 28px !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  margin: 0 0 24px 0 !important;
  box-shadow: 0 4px 16px rgba(28, 27, 25, 0.04) !important;
}

body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-column__title {
  font-family: var(--if-font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid var(--if-line) !important;
}

/* ═══════════════════════════════════════════════════════════════
   DOWNLOADS / PAYMENT METHODS / etc
   ═══════════════════════════════════════════════════════════════ */

body.woocommerce-account .woocommerce-table {
  width: 100% !important;
  border: 1px solid var(--if-line) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.woocommerce-account .woocommerce-table thead {
  background: var(--if-ivory) !important;
}

body.woocommerce-account .woocommerce-table th {
  padding: 14px 18px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--if-charcoal) !important;
  text-align: left !important;
  border-bottom: 1px solid var(--if-line) !important;
}

body.woocommerce-account .woocommerce-table td {
  padding: 16px 18px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.88rem !important;
  color: var(--if-body) !important;
  border-bottom: 1px solid var(--if-line-soft) !important;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 1023px) {
  body.woocommerce-account .woocommerce {
    flex-direction: column !important;
    gap: 28px !important;
    max-width: 100% !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    order: 1 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    padding: 12px !important;
    scrollbar-width: none !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    padding: 10px 16px !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 100% !important;
    width: 100% !important;
    order: 2 !important;
  }

  /* Addresses: 1 column on tablet */
  body.woocommerce-account .woocommerce-Addresses,
  body.woocommerce-account .col2-set.addresses {
    grid-template-columns: 1fr !important;
  }

  /* Account details: single column */
  body.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
  body.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
  }

  /* Login: single column */
  body.woocommerce-account.logged-out #customer_login,
  body.woocommerce-account .u-columns.col2-set {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-account .woocommerce-orders-table,
  body.woocommerce-account .woocommerce-orders-table thead,
  body.woocommerce-account .woocommerce-orders-table tbody,
  body.woocommerce-account .woocommerce-orders-table tr,
  body.woocommerce-account .woocommerce-orders-table th,
  body.woocommerce-account .woocommerce-orders-table td {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-account .woocommerce-orders-table thead {
    display: none !important;
  }

  body.woocommerce-account .woocommerce-orders-table tr {
    border: 1px solid var(--if-line) !important;
    border-radius: 6px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
    background: #fff !important;
  }

  body.woocommerce-account .woocommerce-orders-table td {
    padding: 8px 0 !important;
    border: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
  }

  body.woocommerce-account .woocommerce-orders-table td::before {
    content: attr(data-title);
    font-family: var(--if-font-body) !important;
    font-weight: 600 !important;
    color: var(--if-muted) !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
  }

  body.woocommerce-account .woocommerce-form-login,
  body.woocommerce-account .woocommerce-form-register,
  body.woocommerce-account .woocommerce-EditAccountForm,
  body.woocommerce-account .woocommerce-Address {
    padding: 24px 20px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   MY ACCOUNT - FINAL FIXES
   1. Login box: center aligned
   2. Notice bars: proper alignment + icon
   3. Password show/hide icons: light styled
   ═══════════════════════════════════════════════════════════════ */

/* ─── 1. LOGIN BOX — CENTER ─── */
body.woocommerce-account.logged-out .woocommerce {
  display: block !important;
  max-width: 100% !important;
  margin: 0 auto 80px !important;
}

body.woocommerce-account.logged-out #customer_login,
body.woocommerce-account .u-columns.col2-set {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: 100% !important;
}

body.woocommerce-account .u-column1,
body.woocommerce-account .u-column2 {
  flex: 0 1 420px !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Single column when only login exists */
body.woocommerce-account .u-column1:only-child {
  flex: 0 1 440px !important;
  max-width: 440px !important;
  margin: 0 auto !important;
}

body.woocommerce-account .u-column1 h2,
body.woocommerce-account .u-column2 h2 {
  font-family: var(--if-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--if-charcoal) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register {
  padding: 40px 36px !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* ─── 2. NOTICE BARS — PROPER ALIGNMENT ─── */

/* WooCommerce info notice (RESEND bar) */
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 16px 22px !important;
  margin: 0 0 24px 0 !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
  flex-wrap: wrap !important;
  border-left-width: 4px !important;
  border-left-style: solid !important;
  list-style: none !important;
  position: relative !important;
}

/* Remove default WooCommerce pseudo-elements */
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-error::before {
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px !important;
  border-radius: 999px !important;
  padding: 0 !important;
  position: static !important;
  margin: 0 !important;
}

/* Info icon */
body.woocommerce-account .woocommerce-info::before {
  background-color: #D4A24C !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") !important;
}

/* Message icon */
body.woocommerce-account .woocommerce-message::before {
  background-color: #3D8A63 !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
}

/* Error icon */
body.woocommerce-account .woocommerce-error::before {
  background-color: #B93B3B !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .woocommerce-info {
  background: #FFF8E7 !important;
  border-left-color: #D4A24C !important;
  color: #5C4719 !important;
}

body.woocommerce-account .woocommerce-message {
  background: #F0F9F2 !important;
  border-left-color: #3D8A63 !important;
  color: #1F5A3D !important;
}

body.woocommerce-account .woocommerce-error {
  background: #FCF1F1 !important;
  border-left-color: #B93B3B !important;
  color: #7A2626 !important;
}

/* RESEND button in notice */
body.woocommerce-account .woocommerce-info .button,
body.woocommerce-account .woocommerce-info .woocommerce-Button,
body.woocommerce-account .woocommerce-message .button {
  margin-left: auto !important;
  padding: 10px 20px !important;
  background: var(--if-charcoal) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal) !important;
  border-radius: 4px !important;
  font-family: var(--if-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.25s ease !important;
  flex-shrink: 0 !important;
  order: 99 !important;
}

body.woocommerce-account .woocommerce-info .button:hover,
body.woocommerce-account .woocommerce-info .woocommerce-Button:hover {
  background: var(--if-gold) !important;
  border-color: var(--if-gold) !important;
  color: var(--if-charcoal) !important;
}

/* ─── 3. PASSWORD SHOW/HIDE ICONS — LIGHT STYLED ─── */

/* WooCommerce adds eye icons on password fields */
body.woocommerce-account .show-password-input,
body.woocommerce-account .password-input .show-password-input,
.woocommerce-EditAccountForm .show-password-input,
.woocommerce-form-login .show-password-input,
.woocommerce-form-register .show-password-input {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 52px !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--if-muted) !important;
  cursor: pointer !important;
  border: 0 !important;
  border-left: 1px solid var(--if-line) !important;
  border-radius: 0 4px 4px 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-account .show-password-input::before,
body.woocommerce-account .show-password-input::after,
.woocommerce-EditAccountForm .show-password-input::before,
.woocommerce-EditAccountForm .show-password-input::after,
.woocommerce-form-login .show-password-input::before,
.woocommerce-form-login .show-password-input::after,
.woocommerce-form-register .show-password-input::before,
.woocommerce-form-register .show-password-input::after {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23857F74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  border-radius: 0 !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-account .show-password-input.display-password::before,
body.woocommerce-account .show-password-input.display-password::after,
.woocommerce-EditAccountForm .show-password-input.display-password::before,
.woocommerce-EditAccountForm .show-password-input.display-password::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9834A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cline x1='3' y1='3' x2='21' y2='21'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .show-password-input:hover,
.woocommerce-EditAccountForm .show-password-input:hover,
.woocommerce-form-login .show-password-input:hover,
.woocommerce-form-register .show-password-input:hover {
  background: var(--if-ivory) !important;
}

body.woocommerce-account .show-password-input:hover::before,
.woocommerce-EditAccountForm .show-password-input:hover::before,
.woocommerce-form-login .show-password-input:hover::before,
.woocommerce-form-register .show-password-input:hover::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C6A15B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
}

/* Password input wrapper */
body.woocommerce-account .password-input,
body.woocommerce-account .woocommerce-EditAccountForm .password-input,
body.woocommerce-account .woocommerce-form-login .password-input,
body.woocommerce-account .woocommerce-form-register .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

body.woocommerce-account .password-input input.input-text,
body.woocommerce-account .woocommerce-EditAccountForm .password-input input.input-text {
  padding-right: 64px !important;
}

/* Kill any black backgrounds from WooCommerce default icons */
body.woocommerce-account .woocommerce-EditAccountForm button.show-password-input,
body.woocommerce-account .woocommerce-form-login button.show-password-input,
body.woocommerce-account .woocommerce-form-register button.show-password-input {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-left: 1px solid var(--if-line) !important;
  color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 767px) {
  body.woocommerce-account.logged-out #customer_login,
  body.woocommerce-account .u-columns.col2-set {
    padding: 0 16px !important;
  }

  body.woocommerce-account .u-column1,
  body.woocommerce-account .u-column2 {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }

  body.woocommerce-account .woocommerce-info,
  body.woocommerce-account .woocommerce-message {
    padding: 14px 18px !important;
    gap: 10px !important;
  }

  body.woocommerce-account .woocommerce-info .button {
    margin-left: 0 !important;
    width: 100% !important;
    text-align: center !important;
    order: 99 !important;
    margin-top: 8px !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   CART TOTALS — CORRECTIVE (last wins)
   Root cause: nowrap on table cells + long shipping destination
   text forced the column wide, pushing right-aligned Subtotal /
   Order Total amounts outside the visible panel.
   ══════════════════════════════════════════════════════════════ */
.woocommerce-cart .cart_totals table {
  table-layout: fixed !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Keep monetary amounts on one line only */
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.cart_totals .woocommerce-Price-amount {
  white-space: nowrap;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
  margin: 6px 0 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--if-muted);
}

.woocommerce-cart .cart_totals .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .shipping-calculator-form {
  width: 100% !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .form-row,
.woocommerce-cart .cart_totals .shipping-calculator-form select,
.woocommerce-cart .cart_totals .shipping-calculator-form input {
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.82rem;
}

/* ══════════════════════════════════════════════════════════════
   CART ITEM META (wholesale Set / Total Pieces rows) — CORRECTIVE
   Stack each key/value pair on its own line so values never wrap
   alone onto a second line inside the narrow product-name column.
   NOTE: must match WC's specificity (… .product-name .variation)
   which sets display:flex/grid and otherwise wins over ours.
   ══════════════════════════════════════════════════════════════ */
.cart .wc-item-meta,
.cart dl.variation,
.woocommerce-cart table.shop_table .product-name .wc-item-meta,
.woocommerce-cart table.shop_table .product-name dl.variation,
.woocommerce table.shop_table .product-name dl.variation {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: 8px !important;
  row-gap: 3px !important;
  align-items: baseline !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
}

.cart .wc-item-meta p,
.cart dl.variation p,
.woocommerce-cart table.shop_table .product-name dl.variation p,
.woocommerce table.shop_table .product-name dl.variation p {
  display: inline !important;
  margin: 0 !important;
  font-size: inherit !important;
}

.cart .wc-item-meta dt,
.cart dl.variation dt,
.woocommerce-cart table.shop_table .product-name dl.variation dt,
.woocommerce table.shop_table .product-name dl.variation dt {
  display: inline !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--if-muted) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.cart .wc-item-meta dd,
.cart dl.variation dd,
.woocommerce-cart table.shop_table .product-name dl.variation dd,
.woocommerce table.shop_table .product-name dl.variation dd {
  display: inline !important;
  margin: 0 !important;
  font-size: 0.82rem !important;
  color: var(--if-charcoal) !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* ══════════════════════════════════════════════════════════════
   SHOP — CURATED WHOLESALE SECTION (below product grid)
   ══════════════════════════════════════════════════════════════ */
.if-shop-curate {
  background: var(--if-ivory, #faf7f0);
  border-top: 1px solid var(--if-line, #e7e0d2);
  padding: clamp(48px, 6vw, 88px) 0;
}

.if-shop-curate__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.if-shop-curate__intro h2 {
  font-family: var(--if-font-display, 'Cormorant Garamond', serif);
  font-size: clamp(1.75rem, 3.2vw, 2.6rem);
  line-height: 1.1;
  color: var(--if-ink, #1c1b19);
  margin: 12px 0 16px;
}

.if-shop-curate__text {
  color: var(--if-muted, #6b6659);
  font-size: 1rem;
  line-height: 1.7;
  max-width: 46ch;
  margin-bottom: 28px;
}

.if-shop-curate__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 22px;
}

.if-shop-curate__points li {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--if-white, #fff);
  border: 1px solid var(--if-line, #e7e0d2);
  border-radius: 10px;
  padding: 20px 22px;
}

.if-shop-curate__num {
  font-family: var(--if-font-display, serif);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--if-gold-deep, #a8823c);
  line-height: 1;
  flex: 0 0 auto;
}

.if-shop-curate__points h3 {
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--if-ink, #1c1b19);
  margin: 0 0 4px;
}

.if-shop-curate__points p {
  font-size: 0.9rem;
  color: var(--if-muted, #6b6659);
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 880px) {
  .if-shop-curate__grid {
    grid-template-columns: 1fr;
  }
}

/* ══════════════════════════════════════════════════════════════
   CART — LOWER WHOLESALE EXPLAINER SECTION
   ══════════════════════════════════════════════════════════════ */
.if-cart-lower {
  background: var(--if-ivory, #faf7f0);
  border-top: 1px solid var(--if-line, #e7e0d2);
  padding: clamp(44px, 5vw, 76px) 0;
  margin-top: clamp(32px, 4vw, 56px);
}

.if-cart-lower__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.if-cart-lower__intro h2 {
  font-family: var(--if-font-display, 'Cormorant Garamond', serif);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  line-height: 1.12;
  color: var(--if-ink, #1c1b19);
  margin: 12px 0 16px;
}

.if-cart-lower__text {
  color: var(--if-muted, #6b6659);
  font-size: 0.98rem;
  line-height: 1.7;
  max-width: 46ch;
}

.if-cart-lower__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

.if-cart-lower__points li {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--if-white, #fff);
  border: 1px solid var(--if-line, #e7e0d2);
  border-radius: 10px;
  padding: 18px 22px;
}

.if-cart-lower__num {
  font-family: var(--if-font-display, serif);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--if-gold-deep, #a8823c);
  line-height: 1;
  flex: 0 0 auto;
}

.if-cart-lower__points h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--if-ink, #1c1b19);
  margin: 0 0 4px;
}

.if-cart-lower__points p {
  font-size: 0.88rem;
  color: var(--if-muted, #6b6659);
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 880px) {
  .if-cart-lower__grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   §G + §M NOTICE SYSTEM — authoritative final override

   WooCommerce's default success colour is green. This brand's identity is
   white/ivory + champagne gold (#C6A15B) / antique gold (#9B7737), so green
   is removed from SUCCESS notices (it was previously hard-coded across the
   cart, checkout, and account blocks: bg #F0F9F2/#F1F7F3, border #3D8A63,
   text #1F5A3D, check-circle #3D8A63, button #1F5A3D).

   Semantic states are preserved and remain clearly distinct:
     • SUCCESS (.woocommerce-message)  → white bg + gold accent + gold check
     • INFO    (.woocommerce-info)     → warm ivory-gold wash + gold accent
     • ERROR   (.woocommerce-error)    → red wash + red accent + red icon
     • WARNING (validation / .woocommerce-error on forms) stays red.

   This block is appended LAST and re-declares every context selector used
   earlier (cart / checkout / account) with !important, so it wins the cascade
   regardless of load order.
   ═══════════════════════════════════════════════════════════════ */

/* ── SUCCESS: Added to cart / completed action ── */
.woocommerce-message,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
body.woocommerce-account .woocommerce-message,
.woocommerce .woocommerce-message {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 1px solid rgba(198, 161, 91, 0.45) !important;
  border-left: 4px solid #C6A15B !important;
  color: #1C1B19 !important;
  box-shadow: 0 2px 10px rgba(198, 161, 91, 0.12) !important;
}

/* Success check-circle icon → champagne gold disc, white tick. */
.woocommerce-message::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-account .woocommerce-message::before {
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  background-color: #C6A15B !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px !important;
  border-radius: 999px !important;
  padding: 0 !important;
  position: static !important;
}

/* Success action button (e.g. "Continue Shopping") → charcoal, gold on hover.
   This replaces the previous dark-green button (#1F5A3D / hover #164430). */
.woocommerce-message .button,
.woocommerce-cart .woocommerce-message .button,
.woocommerce-checkout .woocommerce-message .button,
body.woocommerce-account .woocommerce-message .button {
  background: #1C1B19 !important;
  color: #FFFFFF !important;
  border: 1px solid #1C1B19 !important;
  border-radius: 4px !important;
}

.woocommerce-message .button:hover,
.woocommerce-cart .woocommerce-message .button:hover,
.woocommerce-checkout .woocommerce-message .button:hover,
body.woocommerce-account .woocommerce-message .button:hover {
  background: #C6A15B !important;
  border-color: #C6A15B !important;
  color: #1C1B19 !important;
}

/* Focus visibility for keyboard users on the notice action. */
.woocommerce-message .button:focus-visible {
  outline: 2px solid #C6A15B !important;
  outline-offset: 2px !important;
}

/* ── INFO: keep the warm ivory-gold wash, gold accent (distinct from success) ── */
.woocommerce-info,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
  background: #FFF8E7 !important;
  background-color: #FFF8E7 !important;
  border: 1px solid rgba(198, 161, 91, 0.5) !important;
  border-left: 4px solid #C6A15B !important;
  color: #5C4719 !important;
  box-shadow: none !important;
}

/* ── ERROR: remain errors — red wash + red accent + red icon ── */
.woocommerce-error,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-error {
  background: #FCF1F1 !important;
  background-color: #FCF1F1 !important;
  border: 1px solid rgba(185, 59, 59, 0.4) !important;
  border-left: 4px solid #B93B3B !important;
  color: #7A2626 !important;
  box-shadow: none !important;
}

.woocommerce-error::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-error::before {
  background-color: #B93B3B !important;
}

/* ── Notice layout: never cover content, wrap cleanly on mobile ── */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
body.woocommerce-account .woocommerce-message {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 22px !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

.woocommerce-cart .woocommerce-message .button,
.woocommerce-checkout .woocommerce-message .button {
  margin-left: auto !important;
  white-space: nowrap !important;
}

@media (max-width: 599px) {
  .woocommerce-cart .woocommerce-message .button,
  .woocommerce-checkout .woocommerce-message .button,
  body.woocommerce-account .woocommerce-message .button {
    margin-left: 0 !important;
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   §F SHOP GRID FIX — authoritative final block

   ROOT CAUSE of the blank first grid cell:
   WooCommerce ships a clearfix on the product list:
       ul.products::before { content: " "; display: table; }
   In a normal float/flex layout that pseudo-element is harmless, but the
   theme renders `ul.products` as a CSS Grid (`display: grid`). In Grid, a
   ::before with `display: table` becomes a real grid item and silently
   consumes cell 1 of row 1 — which is why the first product appeared pushed
   into column 2, leaving an empty slot. Neutralising the clearfix removes the
   phantom cell. The ::after clearfix is removed too for symmetry.
   ═══════════════════════════════════════════════════════════════ */
ul.products::before,
ul.products::after,
.if-shop-main ul.products::before,
.if-shop-main ul.products::after,
.related.products ul.products::before,
.related.products ul.products::after,
.upsells.products ul.products::before,
.upsells.products ul.products::after {
  content: none !important;
  display: none !important;
}

/* ── Shared product-card consistency ──
   Out-of-stock products legitimately show a "View Product" link instead of
   "Add to Cart" (they cannot be purchased). Give that fallback the SAME
   button geometry as the primary add-to-cart button so every card in the
   grid matches — same height, width, radius, alignment — only the colour
   differs to signal a secondary action. */
.if-shop-main ul.products li.product .if-product-card__actions .button,
.if-shop-main ul.products li.product .if-product-card__actions .if-btn,
.if-shop-main ul.products li.product .if-product-card__actions .add_to_cart_button,
.if-shop-main ul.products li.product .if-product-card__actions a.button,
.related.products ul.products li.product .if-product-card__actions .button,
.related.products ul.products li.product .if-product-card__actions .if-btn,
.related.products ul.products li.product .if-product-card__actions a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  border-radius: 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* Primary action (Add to Cart) — solid dark. */
.if-shop-main ul.products li.product .if-product-card__actions .add_to_cart_button,
.if-shop-main ul.products li.product .if-product-card__actions .button:not(.if-btn--outline),
.related.products ul.products li.product .if-product-card__actions .add_to_cart_button {
  background: var(--if-charcoal, #1c1b19) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal, #1c1b19) !important;
}

/* Secondary action (View Product for out-of-stock) — outlined, same size. */
.if-shop-main ul.products li.product .if-product-card__actions .if-btn--outline,
.if-shop-main ul.products li.product .if-product-card__actions .button.if-btn--outline,
.if-shop-main ul.products li.product .if-product-card__actions a.button:not(.add_to_cart_button):not(.added_to_cart) {
  background: transparent !important;
  color: var(--if-charcoal, #1c1b19) !important;
  border: 1px solid var(--if-charcoal, #1c1b19) !important;
}


/* ═══════════════════════════════════════════════════════════════
   §G SUCCESS NOTICE — authoritative final block (green → gold)

   ROOT CAUSE: Multiple scattered blocks force the WooCommerce success
   notice (".woocommerce-message" — e.g. "Added to cart") to a green
   palette (#F0F9F2 bg, #3D8A63 border/icon, #1F5A3D button) that clashes
   with the brand's ivory/gold design system. This final block overrides
   every context (base, cart, checkout, account) back to the gold-wash
   background + gold left border + gold check-circle icon, and reverts
   the Continue-Shopping button to the charcoal/gold system. Info notices
   stay ivory-gold; error notices stay red.
   ═══════════════════════════════════════════════════════════════ */

/* ── Success notice: gold wash + gold accent ── */
.woocommerce-message,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
body.woocommerce-account .woocommerce-message {
  background: var(--if-gold-wash, #FAF6EE) !important;
  border: 0 !important;
  border-left: 4px solid var(--if-gold, #C6A15B) !important;
  border-radius: 4px !important;
  color: var(--if-ink, #2E2C29) !important;
  box-shadow: 0 2px 8px rgba(198, 161, 91, 0.10) !important;
}

/* ── Success check-circle icon: gold disc, white tick ── */
.woocommerce-message::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-account .woocommerce-message::before {
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  background-color: var(--if-gold, #C6A15B) !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px !important;
  border-radius: 999px !important;
  padding: 0 !important;
  position: static !important;
  margin: 0 !important;
}

/* ── Continue-Shopping / notice button: charcoal → gold hover ── */
.woocommerce-message .button,
.woocommerce-cart .woocommerce-message .button,
.woocommerce-checkout .woocommerce-message .button,
body.woocommerce-account .woocommerce-message .button {
  margin-left: auto !important;
  padding: 10px 22px !important;
  background: var(--if-charcoal, #1C1B19) !important;
  color: #fff !important;
  border: 1px solid var(--if-charcoal, #1C1B19) !important;
  border-radius: 4px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.25s ease, color 0.25s ease !important;
}

.woocommerce-message .button:hover,
.woocommerce-cart .woocommerce-message .button:hover,
.woocommerce-checkout .woocommerce-message .button:hover,
body.woocommerce-account .woocommerce-message .button:hover {
  background: var(--if-gold, #C6A15B) !important;
  color: var(--if-charcoal, #1C1B19) !important;
  border-color: var(--if-gold, #C6A15B) !important;
}

/* ── Info notice: keep ivory-gold (ensure not overridden to green) ── */
.woocommerce-info,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
body.woocommerce-account .woocommerce-info {
  background: #FFF8E7 !important;
  border-left-color: #D4A24C !important;
  color: #5C4719 !important;
}

/* ── Error notice: keep red ── */
.woocommerce-error,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-error {
  background: #FCF1F1 !important;
  border-left-color: #B93B3B !important;
  color: #7A2626 !important;
}

/* ═══════════════════════════════════════════════════════════════
   §K PRODUCT INFORMATION — authoritative final block (center + expand)

   ROOT CAUSE: The single-product layout is a wrapping flex row
   (".product { display:flex; flex-wrap:wrap }"). ".if-product-details"
   is a flex child with "flex: 0 1 auto" and no explicit width, so it
   shrink-wraps to its max-content size — which is capped at 900px by
   the inner grid's max-width — instead of filling the 1200px line.
   That leaves ~300px of dead whitespace on the right and pushes the
   section off-centre. Fix: make the section span the full flex line
   ("flex-basis:100%" / "width:100%") and centre the content grid
   within it at a readable max-width, so the heading and table are
   balanced across the page.
   ═══════════════════════════════════════════════════════════════ */
.if-product-details {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Keep the detail table a readable, centred measure inside the full-width section */
.if-product-details__grid {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Section head spans full width and stays centred */
.if-product-details__head {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  text-align: center !important;
}

/* ═══════════════════════════════════════════════════════════════
   §M WOOCOMMERCE MESSAGE (layout.css override) — authoritative
   layout.css sets ".woocommerce .woocommerce-message" to green with
   higher specificity (0,2,0) than the base ".woocommerce-message".
   This block (in woocommerce.css, which loads after layout.css)
   reasserts the gold success language at equal specificity so no
   page falls back to the green WC default.
   ═══════════════════════════════════════════════════════════════ */
.woocommerce .woocommerce-message {
  border-left-color: var(--if-gold, #C6A15B) !important;
  background: var(--if-gold-wash, #FAF6EE) !important;
}

.woocommerce .woocommerce-message .button {
  background: var(--if-charcoal, #1C1B19) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════════
   §Q PRODUCT INFORMATION — move into the right column (authoritative)

   ROOT CAUSE: main.js restructures the product page into two columns —
   left (gallery + reviews tabs) and right (summary). The reviews panel
   is much taller than the summary, so ~560x870px of dead space opens
   under the summary, while ".if-product-details" (Product Information)
   rendered as a full-width flex sibling BELOW both columns. The JS now
   moves the section into the right column (under the summary); this
   block restyles it as a compact information panel that matches the
   reviews box beside it — same top offset, full column width, single
   stacked rows. Below 1024px the columns already stack, so the panel
   simply follows the summary as before (no overlap / clipping).
   ═══════════════════════════════════════════════════════════════ */

/* Compact panel inside the right column — beat the old full-width §K block */
.single-product .if-product-right-col .summary {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

.single-product .if-product-right-col .if-product-details {
  flex: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 40px 0 0 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--if-line) !important;
  box-sizing: border-box !important;
}

/* Head aligns left to mirror the reviews box beside it */
.single-product .if-product-right-col .if-product-details__head {
  max-width: none !important;
  width: 100% !important;
  margin: 0 0 20px 0 !important;
  text-align: left !important;
}

.single-product .if-product-right-col .if-product-details__head h2 {
  font-size: clamp(1.3rem, 1.8vw, 1.6rem) !important;
}

/* One stacked column of rows fits the narrow column cleanly */
.single-product .if-product-right-col .if-product-details__grid {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  grid-template-columns: 1fr !important;
}

.single-product .if-product-right-col .if-product-details__row {
  padding: 16px 20px !important;
}

.single-product .if-product-right-col .if-product-details__row:nth-child(odd) {
  border-right: 0 !important;
}

/* Restore sane bottom borders for the single-column stack */
.single-product .if-product-right-col .if-product-details__row:nth-last-child(-n+2) {
  border-bottom: 1px solid var(--if-line-soft) !important;
}

.single-product .if-product-right-col .if-product-details__row:last-child {
  border-bottom: 0 !important;
}

/* Small screens: right column is already full width — keep the panel natural */
@media (max-width: 1023px) {
  .single-product .if-product-right-col .if-product-details {
    margin: 24px 0 0 0 !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   Phase Q responsive QA — tap-target overrides.
   Later duplicate breakpoint blocks above re-set sizes with
   !important; this end-of-file block wins all of them.
   ───────────────────────────────────────────────────────────── */
.woocommerce-cart table.shop_table .product-remove a.remove,
table.shop_table .product-remove a.remove {
  width: 44px !important;
  height: 44px !important;
}

input.qty {
  min-height: 44px !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
  display: inline-flex !important;
  align-items: center;
  min-height: 44px;
  padding: 10px 0;
}

select.orderby {
  min-height: 44px !important;
}

.woocommerce .if-check label,
.woocommerce form .woocommerce-form__label-for-checkbox,
.wc_payment_method > label,
.comment-form-cookies-consent label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

label.if-check,
.woocommerce .if-check label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* ═══════════════════════════════════════════════════════════════
   PHASE R — MOBILE PERFECT: form controls & gallery trigger
   1) Gallery zoom: a later .single-product block pinned the trigger
      to 42px !important, overriding the Phase Q 44px rule. Restored.
   2) select.orderby measured 12.48px font — iOS zooms focused fields
      below 16px. Raised on touch devices.
   3) Comment-form submit input#submit measured 12.48px / WP search
      input.search-submit measured 27px tall — both raised to the
      44px/16px touch minimum on pointer:coarse.
   4) Native checkboxes measured 18×18 — enlarged to 22px on touch
      (labels already have min-height from Phase Q).
   ═══════════════════════════════════════════════════════════════ */
.single-product .woocommerce-product-gallery__trigger {
  width: 44px !important;
  height: 44px !important;
}

@media (pointer: coarse) {
  .woocommerce-ordering select.orderby {
    font-size: 16px !important;
  }

  .woocommerce #respond input#submit,
  .comment-form input[type="submit"],
  input.search-submit {
    font-size: 16px !important;
    min-height: 44px !important;
  }

  input[type="checkbox"],
  input[type="radio"] {
    width: 24px !important;
    height: 24px !important;
  }

  /* Equal-specificity override: the earlier .woocommerce-checkout block
     (0,3,0) pins checkout checkboxes to 20px — below the 24px WCAG 2.2
     target. Same selectors, touch-only, desktop unchanged. */
  .woocommerce-checkout .form-row .input-checkbox,
  .woocommerce-checkout #ship-to-different-address-checkbox {
    width: 24px !important;
    height: 24px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PHASE R — card-action text clip @320 (mirrored selectors)
   The unified card-button block above (0,5,0 !important) pins
   padding 12/18 on WC pages; at 320px a 2-col grid column is
   ~136px wide, leaving a 100px content box for the 105px
   uppercase "VIEW PRODUCT" label (sw 141 vs cw 136, clipped by
   overflow:hidden). Equal selectors, later in the file, touch
   viewport only — desktop/360+ unchanged.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 359px) {
  .if-shop-main ul.products li.product .if-product-card__actions .button,
  .if-shop-main ul.products li.product .if-product-card__actions .if-btn,
  .if-shop-main ul.products li.product .if-product-card__actions .add_to_cart_button,
  .if-shop-main ul.products li.product .if-product-card__actions a.button,
  .related.products ul.products li.product .if-product-card__actions .button,
  .related.products ul.products li.product .if-product-card__actions .if-btn,
  .related.products ul.products li.product .if-product-card__actions a.button,
  .if-shop-main .if-product-card__actions .if-btn {
    padding: 12px 14px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════
   FIX: PRODUCT GALLERY ALIGNMENT & BLANK IMAGE ON CLICK
   ═══════════════════════════════════════════════════════════════ */

/* 1. Thumbnails ko Left side (Top-Left) par lane ke liye */
.single-product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row !important;
    gap: 15px !important;
    align-items: flex-start !important;
}

.single-product .flex-control-thumbs {
    display: flex !important;
    flex-direction: column !important;
    width: 80px !important;
    margin-top: 0 !important;
    order: -1 !important; /* Thumbnails ko left shift karne ke liye */
}

.single-product .flex-control-thumbs li {
    width: 100% !important;
}

.single-product .woocommerce-product-gallery__wrapper {
    flex: 1 !important; /* Main image ko baqi jagah dene ke liye */
    width: auto !important;
}

/* 2. Click par Image Blank hone ka Fix
   NOTE: :not(.zoomImg) added — jquery.zoom keeps its clone at inline
   opacity:0 until hover; forcing opacity:1 here made the 1500x1862
   clone cover every active slide with its plain top-left crop, which
   is why the main image looked blank/solid after each thumbnail click. */
.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Mobile view mein thumbnails wapas neeche (horizontal) ho jayein */
@media (max-width: 767px) {
    .single-product .woocommerce-product-gallery {
        flex-direction: column !important;
    }
    .single-product .flex-control-thumbs {
        flex-direction: row !important;
        width: 100% !important;
        order: 0 !important;
        margin-top: 10px !important;
        justify-content: center !important;
    }
    .single-product .flex-control-thumbs li {
        width: 60px !important;
    }
}
/* ═══════════════════════════════════════════════════════════════
   FINAL PROFESSIONAL GALLERY FIX
   ═══════════════════════════════════════════════════════════════ */

/* 1. Purane Zoom Icon ko hatao */
.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
}

/* 2. Cursor Zoom ke liye tayyari (Image ko clip rakhein) */
.single-product .woocommerce-product-gallery__image {
    overflow: hidden !important;
    cursor: crosshair !important;
}

.single-product .woocommerce-product-gallery__image img {
    transition: transform 0.1s linear !important; /* Smooth Zoom */
    /* NOTE: `top: 0 !important` was removed — it pinned WC's .zoomImg
       clone and killed the vertical pan of the cursor-based zoom. */
    margin: 0 !important;
}

/* 3. Gallery Layout: Left Thumbnails, Right Main Image */
.single-product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row !important;
    gap: 15px !important;
    align-items: flex-start !important;
    width: 100% !important;
}

/* 4. Thumbnails (Left Side, Scrollable) */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
    order: -1 !important; /* Left side par lane ke liye */
    width: 80px !important; /* Thumbnails ki width */
    flex-shrink: 0 !important; /* Squeeze hone se bachane ke liye */
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: 480px !important; /* 10+ images par scrollbar aayega */
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Scrollbar Styling */
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
    width: 3px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb {
    background: var(--if-gold, #c8a97e);
    border-radius: 4px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    width: 100% !important;
    margin: 0 !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    opacity: 0.6 !important;
    border: 1px solid transparent !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    opacity: 1 !important;
    border-color: var(--if-gold, #c8a97e) !important;
}

/* 5. Main Image Area */
.single-product .woocommerce-product-gallery .flex-viewport {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

/* 6. Mobile View */
@media (max-width: 767px) {
    .single-product .woocommerce-product-gallery {
        flex-direction: column !important;
    }
    .single-product .woocommerce-product-gallery .flex-control-thumbs {
        flex-direction: row !important;
        max-height: none !important;
        overflow-y: hidden !important;
        overflow-x: auto !important;
        width: 100% !important;
        margin-top: 10px !important;
        order: 1 !important;
    }
    .single-product .woocommerce-product-gallery .flex-control-thumbs li {
        width: 70px !important;
        flex-shrink: 0 !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT GALLERY — ROOT-CAUSE FIXES (blank on thumb click
   + cursor-zoom clone clamp)

   1) BLANK ON CLICK: FlexSlider lays its slides out by floats and
      relies on its inline `width: count×100%` on the wrapper.
      Earlier !important rules (`flex: 1 / width: auto`) neutralised
      that inline width, so every floated slide wrapped onto the NEXT
      LINE (stacked vertically inside a 425px box) and flexslider's
      horizontal translate3d() moved into empty space → blank main
      image. Fix: turn the wrapper into a horizontal flex rail
      (inline width becomes irrelevant) and give each slide
      `flex: 0 0 100%` so one slide always exactly fills the
      flex-viewport, which remains the clipping box.

   2) CURSOR ZOOM: WooCommerce's Amazon-style zoom (jquery.zoom)
      appends a natural-size `.zoomImg` clone and pans it with
      left/top. Theme `img !important` rules (width: 100%,
      max-height, object-fit) clamped the clone to the container
      (ratios → 0, no real zoom, visible jitter) and the former
      `top: 0 !important` (removed above) froze its vertical pan.
      Fix: exempt .zoomImg from the clamp rules so it renders at
      natural size and pans freely under the cursor.
   ═══════════════════════════════════════════════════════════════ */

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    overflow: visible !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
    flex: 0 0 100% !important;
    float: none !important;
}

.single-product .woocommerce-product-gallery__image img.zoomImg {
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    /* Clone is purely visual (all jquery.zoom events bind on the source
       slide). Without this the invisible/visible clone swallowed image
       clicks, so PhotoSwipe could never open from the main image. */
    pointer-events: none !important;
}
/* ═══════════════════════════════════════════════════════════════
   FIX: MATCH LEFT IMAGE CARD HEIGHT WITH RIGHT DETAILS CARD
   ═══════════════════════════════════════════════════════════════ */

/* 1. Parent container ko stretch karein taake dono columns barabar hon */
.single-product div.product {
    align-items: stretch !important; 
}

/* 2. Left Column ko flex bana kar gallery ko stretch karein */
.single-product .if-product-left-col {
    display: flex !important;
    flex-direction: column !important;
}

/* 3. Gallery ko baqi jagah lene dein (Tabs ke upar tak) */
.single-product .if-product-left-col .woocommerce-product-gallery {
    flex: 1 !important; 
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 24px !important; /* Tabs aur gallery ke darmiyan thora gap */
}

/* 4. Gallery ke andar ki images ko 100% height dein (object-fit cover se image kharab nahi hogi) */
.single-product .if-product-left-col .woocommerce-product-gallery .flex-viewport,
.single-product .if-product-left-col .woocommerce-product-gallery__wrapper,
.single-product .if-product-left-col .woocommerce-product-gallery__image,
.single-product .if-product-left-col .woocommerce-product-gallery__image img {
    height: 100% !important;
    object-fit: cover !important; /* Image stretch nahi hogi, box ko cover karegi */
}

/* 5. Right Column ko flex dein taake ye apni jagah lock ho jaye */
.single-product .if-product-right-col {
    display: flex !important;
    flex-direction: column !important;
}