/* ==========================================================================
   Blue Belle — WooCommerce layer
   Reworks the default WooCommerce markup into the theme's editorial look.
   ========================================================================== */

/* --- Layout -------------------------------------------------------------- */
.woocommerce-page .bb-main { padding-block: clamp(28px, 4vw, 52px); }
.bb-shop-layout { display: block; }
.woocommerce .woocommerce-breadcrumb { display: none; }

/* --- Notices ------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  list-style: none;
  margin: 0 0 26px;
  padding: 15px 22px;
  border-radius: 14px;
  border: 0;
  border-left: 4px solid var(--bb-green);
  background: var(--bb-green-tint);
  color: var(--bb-green-dark);
  font-size: 14.5px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.woocommerce-error { border-left-color: var(--bb-pink-dark); background: var(--bb-pink-tint); color: #9c2b57; }
.woocommerce-info { border-left-color: var(--bb-green); }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button { margin-left: auto; }
.woocommerce-error li { list-style: none; }
.woocommerce form .form-row.woocommerce-invalid label { color: var(--bb-pink-dark); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--bb-pink-dark); }

/* --- Buttons ------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce .wc-forward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 15px 30px;
  border: 2px solid var(--bb-pink);
  border-radius: var(--bb-radius-pill);
  background: var(--bb-pink);
  color: #fff;
  font-family: var(--bb-body);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.3s var(--bb-ease), border-color 0.3s var(--bb-ease),
              transform 0.3s var(--bb-ease), box-shadow 0.3s var(--bb-ease), color 0.3s var(--bb-ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover {
  background: var(--bb-pink-dark);
  border-color: var(--bb-pink-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 26px -14px rgba(225, 76, 134, 0.9);
}
.woocommerce .button.bb-btn--green,
.woocommerce button.button.bb-btn--green { background: var(--bb-green); border-color: var(--bb-green); }
.woocommerce .button.bb-btn--green:hover { background: var(--bb-green-dark); border-color: var(--bb-green-dark); }
.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after { top: auto; }

/* --- Toolbar (custom filter bar injected by the theme) ------------------- */
.bb-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 30px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--bb-line);
}
.bb-shop-filters { display: flex; gap: 9px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.bb-shop-filters a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: var(--bb-radius-pill);
  border: 1px solid var(--bb-line);
  background: #fff;
  color: var(--bb-ink);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: all 0.28s var(--bb-ease);
}
.bb-shop-filters a:hover { border-color: var(--bb-green); color: var(--bb-green); transform: translateY(-2px); }
.bb-shop-filters .is-active a { background: var(--bb-green); border-color: var(--bb-green); color: #fff; }
.bb-shop-filters a span { font-size: 11px; opacity: 0.7; }
.bb-shop-tools { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.woocommerce .woocommerce-result-count { margin: 0; font-size: 13.5px; color: var(--bb-muted); }
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select,
.woocommerce-page select {
  padding: 11px 40px 11px 16px;
  border-radius: var(--bb-radius-pill);
  border: 1px solid var(--bb-line);
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a76' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
  -webkit-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--bb-ink);
  cursor: pointer;
  max-width: 260px;
}
.woocommerce .woocommerce-ordering select:focus { outline: none; border-color: var(--bb-green); box-shadow: var(--bb-ring); }

/* --- Product loop -------------------------------------------------------- */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
  margin: 0 0 40px;
  padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; content: none; }
.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  background: #fff;
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.4s var(--bb-ease), box-shadow 0.4s var(--bb-ease), border-color 0.4s var(--bb-ease);
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--bb-shadow);
  border-color: rgba(0, 139, 116, 0.28);
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display: block; position: relative; overflow: hidden; }
.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
  transition: transform 0.8s var(--bb-ease), opacity 0.3s;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--bb-head) !important;
  font-size: 1.1rem !important;
  font-weight: 700;
  padding: 18px 22px 4px !important;
  margin: 0;
  color: var(--bb-ink);
  line-height: 1.3;
}
.woocommerce ul.products li.product .bb-loop-cat {
  display: block;
  padding: 16px 22px 0;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bb-muted);
}
.woocommerce ul.products li.product .star-rating { margin: 6px 22px 0; font-size: 12px; }
.woocommerce ul.products li.product .price {
  display: block;
  padding: 6px 22px 22px;
  margin: 0;
  color: var(--bb-green);
  font-size: 1.03rem;
  font-weight: 700;
  margin-top: auto;
}
.woocommerce ul.products li.product .price del { color: var(--bb-muted); font-weight: 500; font-size: 0.9rem; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--bb-pink-dark); font-weight: 700; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  position: absolute;
  left: 14px; right: 14px; bottom: 14px;
  margin: 0 !important;
  padding: 13px 18px;
  transform: translateY(140%);
  opacity: 0;
  transition: transform 0.4s var(--bb-ease), opacity 0.35s var(--bb-ease), background-color 0.3s;
  z-index: 3;
  box-shadow: 0 18px 34px -18px rgba(225, 76, 134, 0.9);
  width: auto !important;
}
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product:focus-within .button,
.woocommerce ul.products li.product .button.loading,
.woocommerce ul.products li.product .added_to_cart { transform: none; opacity: 1; }
.woocommerce ul.products li.product .added_to_cart {
  position: static;
  display: block;
  margin: 0 22px 20px !important;
  background: var(--bb-green);
  border-color: var(--bb-green);
  text-align: center;
}
.woocommerce ul.products li.product .onsale {
  position: absolute;
  top: 14px; left: 14px;
  right: auto;
  z-index: 4;
  min-height: 0;
  min-width: 0;
  height: auto;
  line-height: 1.2;
  padding: 6px 13px;
  border-radius: var(--bb-radius-pill);
  background: var(--bb-pink-dark);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0;
  box-shadow: 0 8px 18px -10px rgba(225, 76, 134, 0.95);
}
.woocommerce ul.products li.product .bb-loop-new {
  position: absolute;
  top: 14px; right: 14px;
  z-index: 4;
  padding: 6px 13px;
  border-radius: var(--bb-radius-pill);
  background: var(--bb-green);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; text-decoration: none; }

/* Star ratings */
.woocommerce .star-rating,
.woocommerce .star-rating span { color: var(--bb-pink); }
.woocommerce .star-rating::before { color: rgba(255, 111, 165, 0.32); }
.woocommerce p.stars a { color: var(--bb-pink); }

/* --- Pagination ---------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination { margin: 20px 0 10px; }
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px; height: 46px;
  padding: 0 14px;
  border-radius: 13px;
  border: 1px solid var(--bb-line);
  background: #fff;
  color: var(--bb-ink);
  font-weight: 600;
  font-size: 14px;
  transition: all 0.25s var(--bb-ease);
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--bb-green); color: var(--bb-green); }
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--bb-green); border-color: var(--bb-green); color: #fff;
}

/* --- Single product ------------------------------------------------------ */
.woocommerce div.product { margin: 0; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 40px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: var(--bb-radius-lg); overflow: hidden; }
.woocommerce div.product div.images img { border-radius: var(--bb-radius-lg); }
.woocommerce div.product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 12px; }
.woocommerce div.product .flex-control-thumbs li { width: auto; margin: 0; float: none; }
.woocommerce div.product .flex-control-thumbs img { border-radius: 12px; opacity: 0.65; transition: opacity 0.3s; }
.woocommerce div.product .flex-control-thumbs img:hover,
.woocommerce div.product .flex-control-thumbs img.flex-active { opacity: 1; }
.woocommerce div.product .woocommerce-product-gallery__trigger {
  background: #fff;
  border-radius: 50%;
  box-shadow: var(--bb-shadow-sm);
}
.woocommerce div.product .product_title {
  font-family: var(--bb-head);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-bottom: 12px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--bb-green);
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 18px;
  font-family: var(--bb-head);
}
.woocommerce div.product p.price del { color: var(--bb-muted); font-size: 1.1rem; font-weight: 500; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--bb-pink-dark); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--bb-muted); font-size: 15.5px; margin-bottom: 26px; }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 14px; }
.woocommerce div.product .product_meta {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--bb-line);
  font-size: 13.5px;
  color: var(--bb-muted);
  display: grid;
  gap: 8px;
}
.woocommerce div.product .product_meta a { color: var(--bb-green); }
.woocommerce div.product form.cart { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 24px; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce .quantity input[type="number"] {
  width: 96px;
  padding: 15px 12px 15px 20px;
  border: 2px solid var(--bb-line);
  border-radius: var(--bb-radius-pill);
  font-family: inherit;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  color: var(--bb-ink);
  background: #fff;
}
.woocommerce .quantity input[type="number"]:focus { outline: none; border-color: var(--bb-green); }
.woocommerce div.product form.cart .button { padding: 16px 38px; }
.woocommerce div.product .stock { font-size: 14px; font-weight: 600; color: var(--bb-green); }
.woocommerce div.product .out-of-stock { color: var(--bb-pink-dark); }
.woocommerce div.product .single_add_to_cart_button.disabled { background: var(--bb-muted); border-color: var(--bb-muted); }
.woocommerce div.product .product-share { margin-top: 22px; display: flex; gap: 10px; align-items: center; font-size: 13px; color: var(--bb-muted); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 20px; padding-top: 40px; border-top: 1px solid var(--bb-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 30px; display: flex; gap: 10px; flex-wrap: wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #fff;
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius-pill);
  margin: 0;
  padding: 0;
  box-shadow: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 13px 24px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bb-ink);
  display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--bb-green); border-color: var(--bb-green); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; padding: 0; color: var(--bb-muted); }
.woocommerce div.product .woocommerce-tabs .panel h2 { color: var(--bb-ink); font-size: 1.4rem; }

/* Related / upsells */
.woocommerce .related.products,
.woocommerce .upsells.products {
  margin-top: 56px;
  padding-top: 46px;
  border-top: 1px solid var(--bb-line);
  clear: both;
}
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 { font-size: 1.8rem; margin-bottom: 28px; }

/* --- Cart ---------------------------------------------------------------- */
.woocommerce table.shop_table {
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: #fff;
}
.woocommerce table.shop_table th {
  background: var(--bb-green-tint);
  color: var(--bb-green-dark);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 16px 18px;
  border: 0;
}
.woocommerce table.shop_table td { padding: 18px; border-top: 1px solid var(--bb-line); vertical-align: middle; }
.woocommerce table.shop_table_responsive tr td::before { color: var(--bb-muted); font-weight: 700; }
.woocommerce table.cart img { width: 84px; border-radius: 12px; }
.woocommerce table.cart a.remove {
  width: 30px; height: 30px;
  line-height: 28px;
  border-radius: 50%;
  color: var(--bb-pink-dark) !important;
  background: var(--bb-pink-tint);
  font-size: 18px;
}
.woocommerce table.cart a.remove:hover { background: var(--bb-pink-dark); color: #fff !important; }
.woocommerce .cart-collaterals { margin-top: 34px; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce .cart-collaterals .cart_totals > h2 { font-size: 1.5rem; }
.woocommerce .cart-collaterals .cart_totals table { margin-bottom: 20px; }
.woocommerce .cart-collaterals .cart_totals table th { background: transparent; color: var(--bb-ink); text-transform: none; letter-spacing: 0; font-size: 14.5px; }
.woocommerce .cart-collaterals .cart_totals table td { font-weight: 700; }
.woocommerce .cart-collaterals .cart_totals .order-total td,
.woocommerce .cart-collaterals .cart_totals .order-total th { font-size: 1.1rem; }
.woocommerce .cart-collaterals .cart_totals .amount { color: var(--bb-green); }
.woocommerce .cart .actions .coupon { display: flex; gap: 10px; flex-wrap: wrap; }
.woocommerce .cart .actions .coupon input[type="text"] {
  padding: 13px 18px;
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius-pill);
  font-family: inherit;
  font-size: 14px;
  min-width: 200px;
}
.woocommerce .cart .actions .coupon input[type="text"]:focus { outline: none; border-color: var(--bb-green); }
.woocommerce .cart .actions > .button { background: var(--bb-green); border-color: var(--bb-green); }
.woocommerce .cart .actions > .button:hover { background: var(--bb-green-dark); border-color: var(--bb-green-dark); }
.woocommerce .cart .actions .coupon .button { background: #fff; border-color: var(--bb-line); color: var(--bb-ink); }
.woocommerce .cart .actions .coupon .button:hover { background: var(--bb-ink); border-color: var(--bb-ink); color: #fff; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { font-size: 13.5px; padding: 18px 34px; }
.woocommerce .cross-sells > h2 { font-size: 1.5rem; }

/* Empty cart / no products */
.woocommerce-cart .cart-empty,
.woocommerce .cart-empty { font-family: var(--bb-head); font-size: 1.5rem; margin-bottom: 20px; }
.woocommerce-cart .return-to-shop { margin-top: 10px; }
.woocommerce .woocommerce-no-products-found { text-align: center; }

/* --- Checkout ------------------------------------------------------------ */
.woocommerce-checkout .woocommerce { display: block; }
.woocommerce form.checkout { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 42px; align-items: start; }
.woocommerce form.checkout #customer_details { grid-column: 1; }
.woocommerce form.checkout #order_review_heading,
.woocommerce form.checkout #order_review { grid-column: 2; }
.woocommerce form.checkout #order_review { background: var(--bb-cream); border: 1px solid var(--bb-line); border-radius: var(--bb-radius-lg); padding: 28px; }
.woocommerce-checkout h3 { font-size: 1.32rem; margin-bottom: 18px; }
.woocommerce form .form-row { padding: 0; margin: 0 0 18px; }
.woocommerce form .form-row label { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bb-muted); margin-bottom: 8px; display: block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  padding: 14px 17px;
  border: 1px solid var(--bb-line);
  border-radius: 12px;
  background: #fff;
  font-family: inherit;
  font-size: 15px;
  color: var(--bb-ink);
  height: auto;
  line-height: 1.5;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { outline: none; border-color: var(--bb-green); box-shadow: var(--bb-ring); }
.woocommerce .select2-container .select2-selection--single { display: flex; align-items: center; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.5; color: var(--bb-ink); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 10px; }
.woocommerce .woocommerce-checkout-review-order-table { background: #fff; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0 0 18px; }
.woocommerce-checkout #payment div.payment_box { background: var(--bb-green-tint); color: var(--bb-green-dark); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 18px 0 0; }
.woocommerce-checkout #payment #place_order { width: 100%; }
.woocommerce ul.wc_payment_methods li { list-style: none; }
.woocommerce form .woocommerce-terms-and-conditions-wrapper { margin-bottom: 18px; font-size: 14px; color: var(--bb-muted); }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--bb-muted); }

/* --- My account ---------------------------------------------------------- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; align-items: start; }
.woocommerce-account.logged-out .woocommerce { display: block; max-width: 520px; margin-inline: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; float: none; background: #fff; border: 1px solid var(--bb-line); border-radius: var(--bb-radius); padding: 14px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--bb-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--bb-green-tint); color: var(--bb-green-dark); }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
.woocommerce-account .woocommerce-MyAccount-content p { color: var(--bb-muted); }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: #fff;
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius-lg);
  padding: 34px;
}
.woocommerce-account .woocommerce-form-login__rememberme { font-size: 14px; }
.woocommerce-account .woocommerce-LostPassword { font-size: 14px; margin-top: 12px; }

/* --- Sidebar widgets ----------------------------------------------------- */
.bb-shop-sidebar .widget { background: #fff; border: 1px solid var(--bb-line); border-radius: var(--bb-radius); padding: 24px; margin-bottom: 24px; }
.bb-shop-sidebar .widget-title { font-family: var(--bb-head); font-size: 1.1rem; margin-bottom: 16px; }
.bb-shop-sidebar ul { list-style: none; padding: 0; margin: 0; }
.bb-shop-sidebar ul li { padding: 9px 0; border-bottom: 1px dashed var(--bb-line); font-size: 14.5px; }
.bb-shop-sidebar ul li:last-child { border-bottom: 0; }
.bb-shop-sidebar ul li a { color: var(--bb-ink); display: flex; justify-content: space-between; gap: 10px; }
.bb-shop-sidebar ul li a:hover { color: var(--bb-green); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--bb-line); border-radius: 4px; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--bb-green); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--bb-pink); border: 2px solid #fff; box-shadow: var(--bb-shadow-sm); }
.woocommerce .widget_price_filter .price_slider_amount .button { padding: 10px 20px; font-size: 11px; }
.woocommerce .widget_price_filter .price_label { font-size: 14px; color: var(--bb-muted); }

/* --- Mini cart ----------------------------------------------------------- */
.widget_shopping_cart_content .cart_list { list-style: none; padding: 0; margin: 0; }
.widget_shopping_cart_content .cart_list li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--bb-line); position: relative; }
.widget_shopping_cart_content .cart_list li a { font-size: 14px; }
.widget_shopping_cart_content .cart_list li img { width: 60px; border-radius: 10px; float: none; margin: 0; }
.widget_shopping_cart_content .total { display: flex; justify-content: space-between; padding: 14px 0; font-weight: 700; border-bottom: 1px solid var(--bb-line); }
.widget_shopping_cart_content .buttons { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }

/* --- Order received / tables -------------------------------------------- */
.woocommerce-order .woocommerce-thankyou-order-received { font-family: var(--bb-head); font-size: 1.8rem; color: var(--bb-green-dark); margin-bottom: 24px; }
.woocommerce ul.woocommerce-order-overview { list-style: none; padding: 0; display: flex; gap: 26px; flex-wrap: wrap; margin-bottom: 32px; }
.woocommerce ul.woocommerce-order-overview li { font-size: 13px; color: var(--bb-muted); border: 0; padding: 0; margin: 0; text-transform: uppercase; letter-spacing: 0.1em; }
.woocommerce ul.woocommerce-order-overview li strong { display: block; font-size: 15px; color: var(--bb-ink); text-transform: none; letter-spacing: 0; margin-top: 6px; }

/* --- Responsive ---------------------------------------------------------- */
@media (max-width: 1100px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .woocommerce form.checkout { grid-template-columns: 1fr; }
  .woocommerce form.checkout #customer_details,
  .woocommerce form.checkout #order_review_heading,
  .woocommerce form.checkout #order_review { grid-column: 1; }
}
@media (max-width: 640px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; padding: 14px 16px 2px !important; }
  .woocommerce ul.products li.product .price { padding: 4px 16px 18px; font-size: 0.96rem; }
  .woocommerce ul.products li.product .bb-loop-cat { padding: 12px 16px 0; }
  .woocommerce ul.products li.product .button { position: static; transform: none; opacity: 1; margin: 0 16px 16px !important; padding: 11px 14px; font-size: 11px; }
  .woocommerce .shop_table .product-thumbnail { display: none; }
}

/* --- Single product breadcrumb bar -------------------------------------- */
.bb-product-crumbs { padding-top: 30px; }.bb-product-crumbs .bb-crumbs { margin-bottom: 0; color: var(--bb-muted); }
.bb-product-crumbs .bb-crumbs a { color: var(--bb-ink); }
.bb-product-crumbs .bb-crumbs a:hover { color: var(--bb-green); }
.bb-product-crumbs .bb-crumbs span[aria-current] { color: var(--bb-green); }

/* --- Search results list ------------------------------------------------ */
.bb-search-products li.bb-search-post .bb-loop-cat { padding-top: 0; }
.bb-search-products li.bb-search-post .woocommerce-loop-product__title { font-size: 1.05rem !important; }

/* --- Cart / checkout / account page frame ------------------------------- */
.bb-woo-page__body .woocommerce { max-width: 1120px; margin-inline: auto; }
.bb-woo-page__body .woocommerce > h2,
.bb-woo-page__body .woocommerce > h3 { margin-bottom: 20px; }
.woocommerce-cart .bb-woo-page__body .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .bb-woo-page__body .cart-collaterals .cart_totals { max-width: 480px; width: 100%; }
.woocommerce-cart .bb-woo-page__body .cart_totals > h2 { font-size: 1.35rem; }
.woocommerce-cart .bb-woo-page__body .shop_table { margin-bottom: 26px; }
.bb-woo-page__body .woocommerce-message,
.bb-woo-page__body .woocommerce-info { border-radius: 14px; }
.woocommerce-account .bb-woo-page__body .woocommerce { max-width: 1180px; }
.woocommerce-account .bb-woo-page__body .woocommerce-form-login,
.woocommerce-account .bb-woo-page__body .woocommerce-form-register { max-width: 560px; margin-inline: auto; }
