/* =========================================================
   EBL Audio Entertainment — WooCommerce page styles
   Loaded only on WooCommerce pages / product archives.
   ========================================================= */

/* ---------- Undo the float grid so CSS grid can take over ----------
   woocommerce-layout.css floats loop items at a fixed percentage width.
   The theme lays the loop out with CSS grid instead. */
.woocommerce ul.products.product-grid,
.woocommerce-page ul.products.product-grid {
  margin: 0 0 140px;
  padding: 0;
}
.woocommerce ul.products.product-grid::before,
.woocommerce ul.products.product-grid::after,
.woocommerce-page ul.products.product-grid::before,
.woocommerce-page ul.products.product-grid::after { content: none; display: none; }
.woocommerce ul.products.product-grid li.product,
.woocommerce-page ul.products.product-grid li.product {
  width: auto;
  float: none;
  clear: none;
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: inherit;
}
.woocommerce ul.products.product-grid li.product a img,
.woocommerce-page ul.products.product-grid li.product a img { margin: 0; box-shadow: none; }
.woocommerce ul.products.product-grid li.product .card__name,
.woocommerce ul.products.product-grid li.product .card__price { margin-left: 0; margin-right: 0; }
.woocommerce .shop-main ul.products.product-grid { margin-bottom: 70px; }

/* ---------- Shared WooCommerce chrome ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background: var(--light);
  border-top: 3px solid var(--red);
  border-radius: 4px;
  padding: 18px 24px;
  margin: 0 0 32px;
  font-size: 15px;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
}
.woocommerce-error { border-top-color: #c0392b; }
.woocommerce-message a,
.woocommerce-info a { color: var(--red); text-decoration: underline; }
.woocommerce-message .button,
.woocommerce-info .button {
  margin-left: auto;
  text-decoration: none;
}
.woocommerce-error li { list-style: none; }
.demo_store { display: none; }

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce-page .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 34px;
  border: 0;
  border-radius: 6px;
  background: var(--black);
  color: #fff;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  transition: background .25s, transform .25s, box-shadow .25s, color .25s;
  white-space: nowrap;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce #respond input#submit:hover { background: var(--red); color: #fff; }
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt,
.woocommerce #place_order { background: var(--red); }
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce #place_order:hover { background: var(--red-dark); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(208, 0, 0, .3); }
.woocommerce .button:disabled,
.woocommerce .button.disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

.woocommerce .price,
.woocommerce span.amount { color: var(--text); }
.woocommerce del { color: var(--muted); opacity: 1; }
.woocommerce ins { text-decoration: none; }
.woocommerce .required { color: var(--red); border: 0; }

/* Star ratings (Woo font icons) */
.woocommerce .star-rating,
.woocommerce p.stars a { color: var(--gold); }
.woocommerce .star-rating { font-size: 14px; letter-spacing: 2px; }

/* ---------- Shop toolbar ---------- */
.shop-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding-bottom: 24px;
  margin-bottom: 44px;
  border-bottom: 1px solid var(--line);
}
.woocommerce .woocommerce-result-count {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select {
  height: 48px;
  min-width: 230px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  font-size: 15px;
  cursor: pointer;
}
.woocommerce .woocommerce-ordering select:focus { border-color: var(--red); outline: none; }

.term-description { color: var(--muted); max-width: 760px; margin: 0 auto 40px; text-align: center; }

/* ---------- Single product ---------- */
.product-breadcrumb {
  padding: 26px var(--inner) 0;
}
.product-breadcrumb .woocommerce-breadcrumb,
.product-breadcrumb .ebl-breadcrumb {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.product-breadcrumb a { color: var(--text); }
.product-breadcrumb a:hover { color: var(--red); }

.single-product .product-main { padding: 34px var(--inner) 90px; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px 60px; }
.woocommerce div.product .woocommerce-product-gallery { grid-column: 1; margin: 0; }
.woocommerce div.product .summary { grid-column: 2; margin: 0; }

/*
 * WooCommerce floats these at width: 48%, which inside the grid above leaves
 * each one at under half its column with a dead gap beside it. Its rules are
 * #content-scoped (.woocommerce #content div.product div.images), and the
 * theme wraps the page in #content, so clearing the float needs to match that
 * specificity — hence the #content variants and the doubled-up class.
 */
.woocommerce div.product div.images.woocommerce-product-gallery,
.woocommerce #content div.product div.images.woocommerce-product-gallery,
.woocommerce-page div.product div.images.woocommerce-product-gallery,
.woocommerce-page #content div.product div.images.woocommerce-product-gallery,
.woocommerce div.product div.summary.entry-summary,
.woocommerce #content div.product div.summary.entry-summary,
.woocommerce-page div.product div.summary.entry-summary,
.woocommerce-page #content div.product div.summary.entry-summary {
  width: auto;
  float: none;
}

/* The sale flash on a single product sits outside .card__media, so it misses
   the loop badge styling and falls back to WooCommerce's olive circle. */
.woocommerce div.product > .onsale,
.woocommerce div.product .woocommerce-product-gallery .onsale {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 3;
  min-height: 0;
  min-width: 0;
  margin: 0;
  padding: 1px 10px;
  border-radius: 3px;
  background: var(--red);
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.woocommerce div.product { position: relative; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce div.product .woocommerce-product-gallery + .summary ~ * { grid-column: 1 / -1; }

.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius: var(--radius); overflow: hidden; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--radius); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 14px 0 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: auto; float: none; margin: 0; list-style: none; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 4px; opacity: .6; transition: opacity .2s; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce div.product .woocommerce-product-gallery__trigger {
  position: absolute; right: 18px; top: 18px; z-index: 5;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
  display: grid; place-items: center;
  font-size: 0;
}
.woocommerce div.product .woocommerce-product-gallery__trigger::after {
  content: "+";
  font-size: 24px;
  line-height: 1;
  color: var(--black);
}

.woocommerce div.product .product_title {
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 500;
  line-height: 1.15;
  margin-bottom: 14px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size: 26px; font-weight: 500; margin-bottom: 20px; color: var(--text); }
.woocommerce div.product p.price del { font-size: 20px; margin-right: 8px; }
.woocommerce div.product p.price ins { color: var(--red); }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link { color: var(--muted); font-size: 14px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); line-height: 1.8; margin-bottom: 30px; }
.woocommerce div.product .woocommerce-product-details__short-description ul li { list-style: disc; margin-left: 20px; }

.woocommerce div.product form.cart { margin: 0 0 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .quantity { display: inline-flex; }
.woocommerce .quantity input.qty {
  width: 86px; height: 52px;
  border: 1px solid var(--line);
  border-radius: 6px;
  text-align: center;
  font-size: 16px;
  background: #fff;
}
.woocommerce .quantity input.qty:focus { border-color: var(--red); outline: none; }
.woocommerce div.product form.cart .button { flex: 0 0 auto; min-width: 210px; background: var(--red); }
.woocommerce div.product form.cart .button:hover { background: var(--red-dark); }

.woocommerce table.variations { width: 100%; border: 0; margin-bottom: 18px; }
.woocommerce table.variations td,
.woocommerce table.variations th { border: 0; padding: 8px 0; vertical-align: middle; }
.woocommerce table.variations label { font-weight: 500; }
.woocommerce table.variations select {
  width: 100%; height: 52px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 14px;
  background: #fff;
  cursor: pointer;
}
.woocommerce .woocommerce-variation-price { margin-bottom: 16px; }
.woocommerce a.reset_variations { font-size: 13px; color: var(--red); }

.woocommerce div.product .product_meta {
  border-top: 1px solid var(--line);
  padding-top: 22px;
  font-size: 14px;
  color: var(--muted);
  display: grid;
  gap: 8px;
}
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .product_meta a { color: var(--text); }
.woocommerce div.product .product_meta a:hover { color: var(--red); }

.ebl-product-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.ebl-product-actions button {
  display: inline-flex; align-items: center; gap: 9px;
  height: 44px; padding: 0 20px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  font-size: 13px; letter-spacing: 1.4px; text-transform: uppercase;
  transition: .2s;
}
.ebl-product-actions button:hover { border-color: var(--red); color: var(--red); }
.ebl-product-actions button.is-on { background: var(--red); border-color: var(--red); color: #fff; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 90px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 36px;
  padding: 0;
  margin: 0 0 34px;
  border-bottom: 1px solid var(--line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0 0 16px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--text); border-bottom-color: var(--red); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 24px; font-weight: 500; margin-bottom: 18px; }
.woocommerce div.product .woocommerce-tabs .panel p { line-height: 1.8; margin-bottom: 16px; color: var(--muted); }
.woocommerce table.shop_attributes { width: 100%; border: 0; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
  text-align: left;
  font-style: normal;
}
.woocommerce table.shop_attributes th { width: 220px; font-weight: 500; }
.woocommerce table.shop_attributes td p { margin: 0; }

/* Reviews */
.woocommerce #reviews #comments ol.commentlist { padding: 0; }
.woocommerce #reviews #comments ol.commentlist li { margin-bottom: 24px; list-style: none; }
.woocommerce #reviews #comments ol.commentlist li .comment_container {
  background: var(--light);
  border-radius: var(--radius);
  padding: 24px 26px;
  display: flex;
  gap: 18px;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
  position: static;
  width: 56px; height: 56px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  flex: 1;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta { font-size: 14px; color: var(--muted); margin-bottom: 8px; }
.woocommerce #review_form_wrapper { margin-top: 40px; }
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 14px 15px;
  background: #fff;
}
.woocommerce #review_form #respond p { margin-bottom: 18px; }

/* Related / upsells */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
  font-size: 32px;
  font-weight: 500;
  text-align: center;
  margin: 0 0 40px;
}
.woocommerce .related .product-grid,
.woocommerce .upsells .product-grid,
.woocommerce .cross-sells .product-grid { margin-bottom: 0; }

/* A product with only two related items used to leave half of a four-column
   row empty, with the cards stranded against the left edge. Flex wrapping
   centres a short row the way a grid of fixed tracks cannot, while the basis
   keeps a full row at the same four-across rhythm as the catalogue. */
.woocommerce .related ul.products.product-grid,
.woocommerce .upsells ul.products.product-grid,
.woocommerce .cross-sells ul.products.product-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.woocommerce .related ul.products.product-grid li.product,
.woocommerce .upsells ul.products.product-grid li.product,
.woocommerce .cross-sells ul.products.product-grid li.product {
  flex: 1 1 calc(25% - 24px);
  min-width: 140px;
  max-width: 300px;
}

/* Buttons that plugins hang off the loop hooks (Quick view, Compare, …) land
   at the end of the card as loose inline boxes of whatever width their label
   happens to be. Line them up: equal width, equal height, flush to the bottom
   of every card in the row however tall the names above them run. */
.woocommerce ul.products.product-grid li.product {
  display: flex;
  flex-direction: column;
}
.woocommerce ul.products.product-grid li.product > .card__media { flex: 0 0 auto; }
.woocommerce ul.products.product-grid li.product > a.button,
.woocommerce ul.products.product-grid li.product > button:not(.card__icon):not(.card__add),
.woocommerce ul.products.product-grid li.product > .button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 10px 0 0;
  padding: 0 14px;
  border-radius: 6px;
  text-align: center;
}
/* The first of those buttons takes the slack, so the stack sits at the
   bottom of the card and the rows stay level. */
.woocommerce ul.products.product-grid li.product > a.button:first-of-type,
.woocommerce ul.products.product-grid li.product > .button:first-of-type { margin-top: auto; }

/* ---------- Cart ---------- */
.woocommerce table.shop_table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  margin-bottom: 36px;
}
.woocommerce table.shop_table th {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 0 14px 16px;
  text-align: left;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
}
.woocommerce table.shop_table td {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 22px 14px;
  vertical-align: middle;
}
.woocommerce table.shop_table td:first-child,
.woocommerce table.shop_table th:first-child { padding-left: 0; }
.woocommerce table.shop_table td.product-thumbnail img { width: 86px; border-radius: 4px; }
.woocommerce table.shop_table td.product-name a { font-size: 17px; font-weight: 500; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--red); }
.woocommerce table.shop_table td.product-name .variation { font-size: 13px; color: var(--muted); margin-top: 4px; }
.woocommerce a.remove {
  display: grid; place-items: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  color: var(--muted) !important;
  font-size: 20px;
  line-height: 1;
  background: var(--light);
}
.woocommerce a.remove:hover { background: var(--red); color: #fff !important; }
.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals { display: grid; grid-template-columns: 1fr 420px; gap: 50px; align-items: start; }
.woocommerce-cart .cart-collaterals .cross-sells { grid-column: 1; }
.woocommerce-cart .cart-collaterals .cart_totals { grid-column: 2; width: 100%; float: none; }
.woocommerce .cart_totals h2 { font-size: 22px; font-weight: 500; margin-bottom: 20px; }
.woocommerce-cart .cart_totals {
  background: var(--light);
  border-radius: var(--radius);
  padding: 30px 32px;
}
.woocommerce-cart .cart_totals table.shop_table { margin-bottom: 20px; }
.woocommerce-cart .cart_totals table.shop_table th { padding: 14px 0; border-bottom: 1px solid #e6e6e6; letter-spacing: 1px; }
.woocommerce-cart .cart_totals table.shop_table td { padding: 14px 0; border-bottom: 1px solid #e6e6e6; text-align: right; }
.woocommerce-cart .wc-proceed-to-checkout .button { width: 100%; }
.woocommerce .coupon { display: flex; gap: 12px; flex-wrap: wrap; }
.woocommerce .coupon input[type="text"],
.woocommerce #coupon_code {
  height: 52px;
  width: 220px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 16px;
  background: #fff;
}
.woocommerce .actions { padding-top: 10px !important; }
.woocommerce-cart table.cart td.actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; }

.woocommerce-cart .cart-empty { font-size: 22px; text-align: center; }
.woocommerce-cart .return-to-shop { text-align: center; }

/* ---------- Checkout ---------- */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 60px; align-items: start; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout h3 { font-size: 24px; font-weight: 500; margin-bottom: 24px; }
.woocommerce-checkout #order_review_heading { grid-column: 2; margin-bottom: 20px; }
.woocommerce-checkout #order_review {
  grid-column: 2;
  background: var(--light);
  border-radius: var(--radius);
  padding: 30px 32px;
}
.woocommerce form .form-row { padding: 0; margin: 0 0 20px; display: block; }
.woocommerce form .form-row label { display: block; font-size: 15px; font-weight: 500; margin-bottom: 8px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  width: 100%;
  height: 52px;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 0 15px;
  background: #fff;
  font-size: 15px;
  line-height: 50px;
  outline: none;
}
.woocommerce form .form-row textarea { height: 110px; padding: 14px 15px; line-height: 1.6; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(208, 0, 0, .1); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; padding: 0; color: var(--text); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--red); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #cfe8d8; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0 0 20px; }
.woocommerce-checkout #payment ul.payment_methods li { list-style: none; margin-bottom: 12px; }
.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border-radius: 4px;
  font-size: 14px;
  color: var(--muted);
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment div.form-row { padding: 0; }
.woocommerce-checkout #payment #place_order { width: 100%; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 18px; font-size: 14px; }

.woocommerce-order-received .woocommerce-order { max-width: 900px; margin: 0 auto; }
.woocommerce ul.order_details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
  margin: 0 0 40px;
  padding: 28px 30px;
  background: var(--light);
  border-radius: var(--radius);
}
.woocommerce ul.order_details li {
  float: none;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 12px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--muted);
  list-style: none;
}
.woocommerce ul.order_details li strong { display: block; margin-top: 6px; font-size: 17px; letter-spacing: 0; text-transform: none; color: var(--text); }

/* ---------- My account ---------- */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 280px;
  float: left;
  margin-right: 50px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { background: var(--light); border-radius: var(--radius); padding: 12px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 13px 26px;
  font-size: 15px;
  border-left: 3px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { border-left-color: var(--red); color: var(--red); background: #fff; }
.woocommerce-account .woocommerce-MyAccount-content { overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 22px; font-weight: 500; margin-bottom: 18px; }
.woocommerce-account .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2 { width: 100%; float: none; }
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 32px 34px;
  margin: 0;
}
.woocommerce form.login .button,
.woocommerce form.register .button { background: var(--red); }
.woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 10px; font-weight: 400 !important; }
.woocommerce-form__label-for-checkbox input { width: auto !important; height: auto !important; }
.woocommerce-LostPassword { font-size: 14px; }
.woocommerce-LostPassword a { color: var(--red); }

/* ---------- Mini cart (drawer) ---------- */
.drawer .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 100%; }
.woocommerce ul.cart_list,
.woocommerce ul.product_list_widget { padding: 0; margin: 0 0 20px; flex: 1; }
.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 4px 14px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  list-style: none;
}
.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
  grid-row: span 2;
  width: 72px;
  height: 90px;
  object-fit: cover;
  border-radius: 4px;
  margin: 0;
  float: none;
  background: var(--light);
}
.woocommerce ul.cart_list li a:not(.remove),
.woocommerce ul.product_list_widget li a:not(.remove) {
  grid-column: 2;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  display: block;
}
.woocommerce ul.cart_list li a:not(.remove):hover { color: var(--red); }
.woocommerce ul.cart_list li .quantity,
.woocommerce ul.product_list_widget li .quantity { grid-column: 2; font-size: 14px; color: var(--muted); display: block; }
.woocommerce ul.cart_list li a.remove,
.woocommerce ul.product_list_widget li a.remove {
  grid-column: 3;
  grid-row: 1 / span 2;
  position: static;
  justify-self: end;
}
.woocommerce ul.cart_list li dl { margin: 2px 0 0; padding: 0; border: 0; grid-column: 2; font-size: 13px; color: var(--muted); }
.woocommerce ul.cart_list li dl dt,
.woocommerce ul.cart_list li dl dd { display: inline; margin: 0; padding: 0; float: none; }
.drawer .woocommerce-mini-cart__total,
.drawer .woocommerce-mini-cart__buttons,
.drawer .woocommerce-mini-cart__empty-message { margin: 0; }
.drawer .woocommerce-mini-cart__total {
  border-top: 2px solid var(--line);
  padding: 18px 0;
  font-size: 18px;
  display: flex;
  justify-content: space-between;
}
.drawer .woocommerce-mini-cart__total strong { font-weight: 500; }
.drawer .woocommerce-mini-cart__buttons { display: grid; gap: 12px; }
.drawer .woocommerce-mini-cart__buttons .button { width: 100%; }
.drawer .woocommerce-mini-cart__buttons .checkout { background: var(--red); }
.drawer .woocommerce-mini-cart__buttons .checkout:hover { background: var(--red-dark); }
.drawer .woocommerce-mini-cart__empty-message { text-align: center; color: var(--muted); padding: 50px 0; }

.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
  border-top: 2px solid var(--line);
  padding: 18px 0;
  margin: 0;
  font-size: 18px;
  display: flex;
  justify-content: space-between;
}
.woocommerce .widget_shopping_cart .total strong { font-weight: 500; }
.woocommerce .widget_shopping_cart .buttons,
.woocommerce.widget_shopping_cart .buttons { display: grid; gap: 12px; margin: 0; }
.woocommerce .widget_shopping_cart .buttons .button { width: 100%; }
.woocommerce .widget_shopping_cart .buttons .checkout { background: var(--red); }
.woocommerce .widget_shopping_cart .buttons .checkout:hover { background: var(--red-dark); }
.woocommerce .widget_shopping_cart p.woocommerce-mini-cart__empty-message { text-align: center; color: var(--muted); padding: 50px 0; }

/* Woo sidebar widgets */
.widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--line); border-radius: 4px; }
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle { background: var(--red); }
.widget_price_filter .price_slider_amount .button { height: 42px; padding: 0 20px; font-size: 11px; }
.woocommerce-widget-layered-nav-list li { margin-bottom: 10px; }

/* Blocks-based cart/checkout fallbacks */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { font-family: var(--font); }
/* The Cart and Checkout blocks colour their button text from the theme's link
   colour, which here is the same red as the button fill — the "Proceed to
   Checkout" label disappeared into its own background. Set both halves. */
.wc-block-components-button:not(.is-link) {
  background: var(--red);
  color: #fff;
  border: 0;
  border-radius: 6px;
  min-height: 52px;
  padding: 0 28px;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus,
.wc-block-components-button:not(.is-link):active { background: var(--red-dark); color: #fff; }
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit; }

@media (max-width: 1200px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary { grid-column: 1; }
  .woocommerce .cart-collaterals,
  .woocommerce-cart .cart-collaterals { grid-template-columns: 1fr; }
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-cart .cart-collaterals .cross-sells { grid-column: 1; }
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { grid-column: 1; }
}

@media (max-width: 991px) {
  /* Replaces woocommerce-smallscreen.css, which the theme dequeues. */
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2,
  .woocommerce-page .col2-set .col-1,
  .woocommerce-page .col2-set .col-2 { width: 100%; float: none; }
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading { width: 100%; float: none; }
  .woocommerce div.product form.cart .button { width: 100%; }

  .single-product .product-main { padding: 50px 24px 70px; }
  .woocommerce div.product .woocommerce-tabs { margin-top: 60px; }
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; float: none; margin: 0 0 34px; }
  .woocommerce-account .col2-set { grid-template-columns: 1fr; gap: 30px; }
  .woocommerce table.shop_table thead { display: none; }
  .woocommerce-cart table.shop_table tr { display: grid; grid-template-columns: 90px 1fr auto; gap: 4px 14px; padding: 18px 0; border-bottom: 1px solid var(--line); align-items: center; }
  .woocommerce-cart table.shop_table td { border: 0; padding: 0; }
  .woocommerce-cart table.shop_table td.product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
  .woocommerce-cart table.shop_table td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
  .woocommerce-cart table.shop_table td.product-name { grid-column: 2; grid-row: 1; }
  .woocommerce-cart table.shop_table td.product-price,
  .woocommerce-cart table.shop_table td.product-quantity,
  .woocommerce-cart table.shop_table td.product-subtotal { grid-column: 2; }
  .woocommerce-cart table.shop_table td.actions { grid-column: 1 / -1; display: flex; }
  .woocommerce .coupon input[type="text"] { width: 100%; }
}
