/* Hasan Bijoux WooCommerce integration */
body.woocommerce {
  --woocommerce: var(--hb-navy);
  --wc-primary: var(--hb-navy);
  --wc-primary-text: #fff;
  --wc-secondary: #edf4f5;
  --wc-secondary-text: var(--hb-ink);
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce input[type="submit"],
.woocommerce .single_add_to_cart_button {
  border-color: var(--hb-navy) !important;
  background: var(--hb-navy) !important;
  color: #fff !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce input[type="submit"]:hover,
.woocommerce .single_add_to_cart_button:hover {
  border-color: var(--hb-navy-soft) !important;
  background: var(--hb-navy-soft) !important;
  color: #fff !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce input[type="submit"].alt { background: var(--hb-navy) !important; }
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce input[type="submit"].alt:hover { background: var(--hb-navy-soft) !important; }

/* Pink is reserved for customer-facing Add to cart actions only. */
.woocommerce .button.add_to_cart_button,
.woocommerce .button.hb-loop-add-to-cart,
.woocommerce .button.single_add_to_cart_button,
.woocommerce .button.add_to_cart_button:hover,
.woocommerce .button.hb-loop-add-to-cart:hover,
.woocommerce .button.single_add_to_cart_button:hover {
  border-color: #de98b0 !important;
  background: #de98b0 !important;
  color: #fff !important;
}
.hb-woo { padding: 54px 0 84px; }
body.woocommerce-cart .hb-content,
body.woocommerce-checkout .hb-content,
.hb-content:has(.hb-commerce-page) { padding-top: 46px; background: linear-gradient(180deg, #f5fafb 0, #fff 360px); }
.hb-content article.hb-commerce-page { max-width: none; }
.hb-commerce-page .entry-content,
.hb-commerce-page .entry-content > * { max-width: none; }
.hb-commerce-page-header { max-width: 760px; margin: 0 0 34px; }
.hb-commerce-page-header .hb-section-kicker { margin: 0 0 8px; }
.hb-commerce-page-header .entry-title { margin: 0; letter-spacing: -.045em; }
.hb-commerce-page-intro { max-width: 590px; margin: 10px 0 0; color: var(--hb-muted); line-height: 1.6; }
.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 24px;
  color: var(--hb-muted);
  font-size: .84rem;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--hb-muted); text-decoration: none; }
.hb-woo .woocommerce-products-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid var(--hb-line); }
.hb-woo .woocommerce-products-header .page-title { margin: 0; color: var(--hb-navy); font-size: clamp(1.65rem, 2.7vw, 2.35rem); font-weight: 760; letter-spacing: -.045em; line-height: 1.06; }
.hb-woo .term-description { max-width: 620px; margin: 8px 0 0; color: var(--hb-muted); font-size: .9rem; line-height: 1.55; }
.woocommerce .woocommerce-result-count { color: var(--hb-muted); }
.woocommerce .woocommerce-ordering select { width: auto; min-width: 220px; }

.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 18px;
  margin: 34px 0 0;
  padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  position: relative;
}
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a img {
  margin: 0 0 14px;
  aspect-ratio: 4 / 5;
  width: 100%;
  object-fit: cover;
  border-radius: 14px;
  background: #f0ede7;
  border: 1px solid var(--hb-line);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--hb-navy);
  font-family: inherit;
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.35;
  padding: 0;
  margin: 0 0 5px;
}
.woocommerce ul.products li.product .price {
  color: var(--hb-ink);
  font-size: .94rem;
  font-weight: 700;
  margin: 0 0 11px;
}
.woocommerce ul.products li.product .price del { color: #8a8d92; font-weight: 500; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 15px;
  margin: 5px 0 0;
  font-size: .84rem;
}
.woocommerce span.onsale {
	min-width: auto;
	min-height: auto;
	line-height: 1;
	top: 20px !important;
	left: 15px !important;
	margin: 0;
	padding: 7px 9px;
	background: #ba6d87;
	color: #fff;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 750;
	right: auto !important;
}

.hb-shop-layout { display: grid; grid-template-columns: 252px minmax(0, 1fr); gap: clamp(24px, 3vw, 38px); align-items: start; }
.hb-shop-filter-toggle,.hb-shop-filter-toggle-label { display: none; }
.hb-shop-filters { position: sticky; top: 18px; padding: 8px 18px 18px; border: 1px solid #e5ded5; border-radius: 16px; background: linear-gradient(180deg, #fffdfa 0, #fff 100%); box-shadow: 0 12px 30px rgba(23,58,71,.055); }
.hb-shop-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 0 16px; border-bottom: 1px solid var(--hb-line); }
.hb-shop-filter-heading p { margin: 0 0 2px; color: var(--hb-muted); font-size: .65rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.hb-shop-filter-heading h2 { margin: 0; color: var(--hb-navy); font-size: 1.08rem; letter-spacing: -.025em; }
.hb-shop-filter-heading a { display: inline-flex; align-items: center; gap: 5px; color: var(--hb-teal); font-size: .72rem; font-weight: 800; text-decoration: none; }
.hb-shop-filter-heading a span { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #e5f0f1; font-size: .62rem; }
.hb-shop-filter-group { margin: 0; padding: 17px 0; border-bottom: 1px solid var(--hb-line); }
.hb-shop-filter-group h3,.hb-shop-filter-group .widget-title { margin: 0 0 11px; color: var(--hb-navy); font-family: inherit; font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.hb-shop-filter-group ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hb-shop-filter-group li a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 31px; padding: 5px 7px; border-radius: 6px; color: var(--hb-ink); font-size: .83rem; text-decoration: none; transition: background .16s ease, color .16s ease; }
.hb-shop-filter-group li a:hover,.hb-shop-filter-group li a.is-current { background: #edf4f5; color: var(--hb-teal); font-weight: 750; }
.hb-shop-filter-group li a span { color: var(--hb-muted); font-size: .7rem; }
.hb-shop-price-inputs { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6px; color: var(--hb-muted); }
.hb-shop-price-inputs input { width: 100%; min-width: 0; height: 40px; padding: 7px 9px; border: 1px solid #ddd7ce; border-radius: 8px; background: #fff; color: var(--hb-ink); font: inherit; font-size: .78rem; outline: 0; transition: border-color .16s ease, box-shadow .16s ease; }
.hb-shop-price-inputs input:focus { border-color: var(--hb-teal); box-shadow: 0 0 0 3px rgba(47,120,145,.12); }
.hb-shop-filter-check { display: flex; align-items: center; gap: 9px; min-height: 30px; margin: 0 0 5px; padding: 4px 6px; border-radius: 6px; color: var(--hb-ink); font-size: .82rem; cursor: pointer; transition: background .16s ease; }
.hb-shop-filter-check:hover { background: #f4f7f7; }
.hb-shop-filter-check:last-child { margin-bottom: 0; }
.hb-shop-filter-check input { width: 15px; height: 15px; margin: 0; accent-color: var(--hb-teal); }
.hb-shop-filter-widgets .widget + .widget { margin-top: 14px; }
.hb-shop-filter-widgets .widget { font-size: .82rem; }
.hb-shop-filter-submit { width: 100%; min-height: 44px; margin-top: 16px; border-radius: 9px; font-size: .8rem; font-weight: 750; letter-spacing: .01em; }
.hb-shop-results { min-width: 0; }
.hb-shop-results .woocommerce-result-count { margin: 6px 0 24px; color: var(--hb-muted); font-size: .82rem; }
.hb-shop-results .woocommerce-ordering { margin: 0 0 20px; }
.hb-shop-results .woocommerce-ordering select { height: 40px; min-width: 190px; border-color: #ddd7ce; border-radius: 8px; background: #fff; color: var(--hb-navy); font-size: .78rem; font-weight: 700; }
.hb-shop-results .woocommerce-pagination { margin: 56px 0 0; padding-top: 16px; border-top: 1px solid var(--hb-line); }

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
  gap: 54px;
  align-items: start;
}
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary {
  float: none;
  width: auto;
  margin: 0;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: 16px;
  background: #f0ede7;
}
.woocommerce div.product .product_title { margin: 0 0 12px; font-size: clamp(2rem, 3.7vw, 3.25rem); }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--hb-navy);
  font-size: 1.25rem;
  font-weight: 750;
}
.woocommerce-product-details__short-description { color: #555960; }
.woocommerce div.product form.cart { display: flex; gap: 10px; align-items: center; margin: 26px 0; }
.woocommerce .quantity .qty { width: 78px; min-height: 46px; }
.woocommerce div.product form.cart .button { min-height: 46px; }
.woocommerce div.product .product_meta {
  color: var(--hb-muted);
  font-size: .86rem;
  border-top: 1px solid var(--hb-line);
  padding-top: 18px;
}
.woocommerce div.product .product_meta > span { display: block; margin: 5px 0; }

.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: 34px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0 0 22px;
  border-bottom: 1px solid var(--hb-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  background: transparent;
  border-radius: 0;
  margin: 0 24px 0 0;
  padding: 0 0 10px;
}
.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.active { border-bottom: 2px solid var(--hb-gold); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 0; color: var(--hb-ink); }
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products { grid-column: 1 / -1; margin-top: 20px; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border: 1px solid var(--hb-line);
  border-top: 3px solid var(--hb-teal);
  background: #fff;
  color: var(--hb-ink);
  border-radius: 12px;
  padding: 16px 18px 16px 48px;
}
.woocommerce-error { border-top-color: #a84949; }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--hb-teal); }
.woocommerce-error::before { color: #a84949; }

.woocommerce table.shop_table {
  border: 1px solid var(--hb-line);
  border-radius: 12px;
  background: #fff;
  border-collapse: separate;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 15px; border-color: var(--hb-line); }
.woocommerce-cart table.cart img { width: 72px; border-radius: 8px; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  background: #fff;
  border: 1px solid var(--hb-line);
  border-radius: 14px;
  padding: 22px;
}
.woocommerce .cart-collaterals .cart_totals { float: right; width: min(100%, 500px); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { border: 1px solid #d8d5cf; border-radius: 10px; min-height: 46px; padding: 10px 13px; }
.woocommerce-checkout #payment {
  background: #f4f2ed;
  border-radius: 12px;
}
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--hb-ink); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }

/* Full-width, focused purchase flow. */
.woocommerce-cart .woocommerce-cart-form { border-radius: 16px; box-shadow: 0 12px 32px rgba(36,93,112,.06); }
.woocommerce-cart table.cart { margin: 0; border: 0; border-radius: 0; }
.woocommerce-cart table.cart thead { background: #f7f7f4; }
.woocommerce-cart table.cart th { color: var(--hb-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce-cart table.cart td.product-name a { color: var(--hb-navy); font-weight: 750; text-decoration: none; }
.woocommerce-cart table.cart td.product-price,.woocommerce-cart table.cart td.product-subtotal { color: var(--hb-navy); font-weight: 750; }
.woocommerce-cart table.cart .product-thumbnail img { width: 82px; border-radius: 10px; background: #f5f2ed; }
.woocommerce-cart table.cart .actions { padding: 18px; background: #fafaf8; }
.woocommerce-cart table.cart .coupon { display: flex; gap: 9px; align-items: center; }
.woocommerce-cart table.cart .coupon .input-text { min-height: 44px; min-width: 210px; padding: 9px 12px; border: 1px solid var(--hb-line); border-radius: 9px; }
.woocommerce-cart .cart-collaterals { align-items: start; }
.woocommerce-cart .cart-collaterals .cart_totals { position: sticky; top: 22px; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { margin-top: 0; font-size: 1.38rem; }
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout { margin-bottom: 0; }
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button { min-height: 52px; margin: 17px 0 0; border-radius: 10px; font-size: .92rem; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); column-gap: clamp(24px, 3vw, 46px); row-gap: 0; align-items: start; }
.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 12px; color: var(--hb-navy); font-size: 1.32rem; }
.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 22px; }
.woocommerce-checkout #customer_details > .col-1,.woocommerce-checkout #customer_details > .col-2 { min-height: 100%; }
.woocommerce-checkout #customer_details h3 { margin-top: 0; font-size: 1.25rem; }
.woocommerce-checkout-review-order { padding: 26px; }
.woocommerce-checkout-review-order table { margin: 0; }
.woocommerce-checkout-review-order .shop_table th,.woocommerce-checkout-review-order .shop_table td { padding: 13px 0; }
.woocommerce-checkout #payment { margin-top: 18px; padding: 16px; }
.woocommerce-checkout #payment .place-order { margin-bottom: 0; }
.woocommerce-checkout #place_order { min-height: 52px; border-radius: 10px; font-size: .92rem; }

/* YITH Compare: a full-width, readable side-by-side product table. */
#yith-woocompare { max-width: none; overflow-x: auto; padding: 4px; }
#yith-woocompare .empty-comparison { margin: 0; padding: 28px; border: 1px dashed var(--hb-line); border-radius: 14px; background: #fff; color: var(--hb-muted); text-align: center; }
#yith-woocompare-table { width: 100%; min-width: 760px; margin: 0; overflow: hidden; border: 1px solid var(--hb-line); border-radius: 16px; border-collapse: separate; border-spacing: 0; background: #fff; box-shadow: 0 12px 32px rgba(36,93,112,.06); }
#yith-woocompare-table th,#yith-woocompare-table td { padding: 16px; border: 0; border-bottom: 1px solid var(--hb-line); text-align: center; vertical-align: middle; }
#yith-woocompare-table th { width: 180px; background: #f7f9f8; color: var(--hb-navy); font-size: .76rem; font-weight: 800; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
#yith-woocompare-table tr:last-child th,#yith-woocompare-table tr:last-child td { border-bottom: 0; }
#yith-woocompare-table .product_info td { min-width: 220px; padding: 22px 18px; }
#yith-woocompare-table .image-wrap { position: relative; margin: 0 auto 14px; }
#yith-woocompare-table .image-wrap img { width: min(170px,100%); height: 180px; object-fit: contain; border-radius: 10px; background: #f7f5f1; }
#yith-woocompare-table .product_title { margin: 0; color: var(--hb-navy); font-size: .98rem; line-height: 1.35; }
#yith-woocompare-table .product-anchor { color: inherit; text-decoration: none; }
#yith-woocompare-table .remove a { color: var(--hb-muted); font-size: .75rem; text-decoration: none; }
#yith-woocompare-table .remove a:hover { color: #a84949; }
#yith-woocompare-table .button { min-height: 42px; border-radius: 8px; font-size: .76rem; }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 42px;
  min-height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--hb-line);
  border-radius: 50%;
  background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--hb-navy); color: #fff; border-color: var(--hb-navy); }

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left;
  width: 26%;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--hb-line);
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 15px; text-decoration: none; border-bottom: 1px solid var(--hb-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content { float: right; width: 70%; }

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce div.product { gap: 34px; }
}
@media (max-width: 760px) {
  .hb-woo { padding: 38px 0 64px; }
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related.products,
  .woocommerce div.product .upsells.products { grid-column: auto; }
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count { float: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 24px; }
}

/* Cart page: editorial product list with a focused, sticky order summary. */
body.woocommerce-cart .hb-content {
  padding: clamp(28px,4vw,56px) 0 clamp(72px,8vw,120px);
  background: #f8f6f2;
}
body.woocommerce-cart .hb-content > .hb-container { width: min(calc(100% - 40px),1180px); }
body.woocommerce-cart .hb-commerce-page,
body.woocommerce-cart .hb-cart-page-content,
body.woocommerce-cart .hb-cart-page-content > .woocommerce { max-width: none; margin: 0; }
.hb-cart-page { color: var(--hb-ink); }
.hb-cart-page__header { display: flex; align-items: end; justify-content: space-between; gap: 36px; padding: 0 0 24px; border-bottom: 1px solid #dedbd4; }
.hb-cart-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 7px; color: var(--hb-muted); font-size: .78rem; font-weight: 700; text-decoration: none; }
.hb-cart-back:hover { color: var(--hb-teal); }
.hb-cart-page__header h1 { margin: 0; color: var(--hb-ink); font-size: clamp(2rem,3.3vw,3.1rem); letter-spacing: -.045em; }
.hb-cart-steps { display: flex; align-items: center; gap: 0; margin: 0 0 7px; padding: 0; color: #a7b1b4; font-size: .72rem; list-style: none; }
.hb-cart-steps li { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.hb-cart-steps li:not(:last-child)::after { content: ''; width: clamp(28px,4vw,58px); height: 1px; margin: 0 14px; background: #d8d3c9; }
.hb-cart-steps li span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #e8e5de; color: #9ca6a9; font-size: .67rem; font-weight: 800; }
.hb-cart-steps li.is-current { color: var(--hb-navy); font-weight: 800; }
.hb-cart-steps li.is-current span { background: var(--hb-navy); color: #fff; }
.hb-cart-shipping-progress { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 14px; margin: 24px 0 32px; padding: 17px 20px; border: 1px solid #dce5df; border-radius: 15px; background: #fff; box-shadow: 0 7px 20px rgba(23,58,71,.045); }
.hb-cart-shipping-progress__icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #e5f5ee; color: #17845e; }
.hb-cart-shipping-progress__icon svg { width: 19px; height: 19px; }
.hb-cart-shipping-progress__copy { min-width: 0; display: grid; grid-template-columns: 1fr; }
.hb-cart-shipping-progress__copy strong { color: #17795b; font-size: .84rem; line-height: 1.35; }
.hb-cart-shipping-progress__copy small { margin-top: 1px; color: var(--hb-muted); font-size: .7rem; }
.hb-cart-shipping-progress__track { height: 7px; margin-top: 9px; overflow: hidden; border-radius: 20px; background: #e3ebe7; }
.hb-cart-shipping-progress__track span { display: block; height: 100%; border-radius: inherit; background: #1ab77c; transition: width .35s ease; }
.hb-cart-shipping-progress > b { color: var(--hb-navy); font-size: .7rem; }
.hb-cart-layout { display: grid; grid-template-columns: minmax(0,1.75fr) minmax(330px,.85fr); gap: 28px; align-items: start; }
.woocommerce-cart .woocommerce-cart-form.hb-cart-items { overflow: hidden; border: 1px solid #dedbd4; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(31,52,59,.055); }
.hb-cart-items__head,
.hb-cart-item { display: grid; grid-template-columns: minmax(300px,1fr) 110px 120px 110px; align-items: center; column-gap: 18px; }
.hb-cart-items__head { min-height: 48px; padding: 0 22px; border-bottom: 1px solid #e7e3dd; color: #71858b; font-size: .64rem; font-weight: 850; letter-spacing: .065em; text-transform: uppercase; }
.hb-cart-items__head span:not(:first-child) { text-align: center; }
.hb-cart-item { min-height: 150px; padding: 18px 22px; border-bottom: 1px solid #e7e3dd; }
.hb-cart-item__product { min-width: 0; display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 16px; align-items: center; }
.hb-cart-item__image { display: block; width: 96px; height: 96px; overflow: hidden; border: 1px solid #e5e1da; border-radius: 14px; background: #f3f1ed; }
.hb-cart-item__image img { width: 100% !important; height: 100%; margin: 0; object-fit: cover; }
.hb-cart-item__copy { min-width: 0; }
.hb-cart-item__category { display: inline-flex; max-width: 100%; align-items: center; margin-bottom: 6px; padding: 3px 7px; border-radius: 5px; background: #edf2f3; color: #5c7680; font-size: .58rem; font-weight: 850; letter-spacing: .045em; line-height: 1.25; text-transform: uppercase; }
.hb-cart-item__category a { overflow: hidden; color: inherit; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.hb-cart-item__copy h2 { margin: 0 0 3px; font-size: 1.02rem; line-height: 1.25; letter-spacing: -.015em; }
.hb-cart-item__copy h2 a { color: var(--hb-ink); text-decoration: none; }
.hb-cart-item__copy h2 a:hover { color: var(--hb-teal); }
.hb-cart-item__copy .variation { display: flex; flex-wrap: wrap; gap: 3px 6px; margin: 2px 0 0; color: var(--hb-muted); font-size: .68rem; line-height: 1.35; }
.hb-cart-item__copy .variation dt,
.hb-cart-item__copy .variation dd { float: none; margin: 0; padding: 0; }
.hb-cart-item__copy .variation dd:not(:last-child)::after { content: ' ·'; }
.hb-cart-item__copy .variation p { margin: 0; }
.hb-cart-item__stock { display: inline-flex; margin-top: 5px; padding: 2px 7px; border-radius: 4px; background: #e8f7ef; color: #19835f; font-size: .61rem; font-weight: 800; }
.woocommerce .hb-cart-item__remove { display: inline-flex !important; width: auto !important; height: auto !important; align-items: center; gap: 4px; margin-top: 6px; color: #89999e !important; font-size: .65rem; font-weight: 600; line-height: 1.3; text-decoration: none; }
.woocommerce .hb-cart-item__remove:hover { background: transparent !important; color: #a84949 !important; }
.hb-cart-item__remove svg { width: 13px; height: 13px; }
.hb-cart-item__price,
.hb-cart-item__quantity,
.hb-cart-item__subtotal { text-align: center; }
.hb-cart-item__price,
.hb-cart-item__subtotal { color: var(--hb-ink); font-size: .82rem; font-weight: 800; }
.hb-cart-item__subtotal small { display: block; margin-top: 3px; color: #9aa6aa; font-size: .54rem; font-weight: 500; line-height: 1.25; }
.hb-cart-item__mobile-price { display: none; }
.hb-cart-item .hb-quantity { grid-template-columns: 30px minmax(36px,44px) 30px; min-height: 40px; border-color: #dad5cd; border-radius: 10px; }
.hb-cart-item .hb-quantity .qty { min-height: 38px !important; font-size: .72rem; }
.hb-cart-item .hb-quantity-button { min-height: 38px; padding: 0; color: #6d8087; font-size: .95rem; }
.hb-cart-gift { margin: 18px; border: 1px solid #e3ded6; border-radius: 13px; background: #fdfcf9; }
.hb-cart-gift summary { display: grid; grid-template-columns: 34px minmax(0,1fr) 18px; align-items: center; gap: 10px; padding: 13px 15px; cursor: pointer; list-style: none; }
.hb-cart-gift summary::-webkit-details-marker { display: none; }
.hb-cart-gift__icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #fff1e3; color: #b96e28; }
.hb-cart-gift__icon svg { width: 17px; height: 17px; }
.hb-cart-gift summary strong,
.hb-cart-gift summary small { display: block; }
.hb-cart-gift summary strong { color: var(--hb-ink); font-family: Georgia,"Times New Roman",serif; font-size: .82rem; }
.hb-cart-gift summary small { margin-top: 1px; color: var(--hb-muted); font-size: .62rem; }
.hb-cart-gift__chevron svg { width: 16px; height: 16px; transition: transform .18s ease; }
.hb-cart-gift[open] .hb-cart-gift__chevron svg { transform: rotate(180deg); }
.hb-cart-gift > label { display: block; margin: 0 15px 5px; color: var(--hb-navy); font-size: .68rem; font-weight: 800; }
.hb-cart-gift textarea { width: calc(100% - 30px); min-height: 80px; margin: 0 15px 15px; padding: 10px 12px; border-radius: 9px; resize: vertical; font-size: .78rem; }
.hb-cart-items__actions { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 18px; border-top: 1px solid #e7e3dd; background: #fbfaf7; }
.hb-cart-items__actions > a { color: var(--hb-navy); font-size: .7rem; font-weight: 800; text-decoration: none; }
.woocommerce .hb-cart-items__actions .button { min-height: 36px; margin-left: auto; padding: 7px 13px; border-radius: 8px; background: transparent; color: var(--hb-navy); font-size: .68rem; }
.woocommerce .hb-cart-items__actions .button:disabled { opacity: .45; }
.hb-cart-summary-wrap { position: sticky; top: 22px; }
.woocommerce .cart-collaterals .cart_totals.hb-cart-summary,
.woocommerce .hb-cart-summary { float: none; width: 100%; padding: 0; overflow: hidden; border: 1px solid #dedbd4; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(31,52,59,.075); }
.hb-cart-summary__head { display: flex; align-items: center; justify-content: space-between; margin: 0 20px; padding: 18px 0 15px; border-bottom: 1px solid #e7e3dd; }
.hb-cart-summary__head h2 { margin: 0; color: var(--hb-ink); font-size: 1.05rem; }
.hb-cart-summary__head span { color: var(--hb-muted); font-size: .68rem; }
.hb-cart-coupon { padding: 15px 20px; border-bottom: 1px solid #e7e3dd; }
.hb-cart-coupon label { display: block; margin-bottom: 7px; color: #607780; font-size: .65rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.hb-cart-coupon > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
.hb-cart-coupon input { min-width: 0; min-height: 40px; padding: 8px 11px; border-color: #dedad3; border-radius: 9px; font-size: .7rem; }
.hb-cart-coupon button { min-height: 40px; padding: 7px 15px; border-radius: 9px; font-size: .68rem; }
.woocommerce .hb-cart-summary table.shop_table { width: calc(100% - 40px); margin: 11px 20px 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce .hb-cart-summary table.shop_table th,
.woocommerce .hb-cart-summary table.shop_table td { padding: 6px 0; border: 0; color: var(--hb-muted); font-size: .69rem; font-weight: 500; line-height: 1.35; }
.woocommerce .hb-cart-summary table.shop_table td { color: var(--hb-ink); font-weight: 750; text-align: right; }
.hb-cart-summary__shipping { color: #19835f; font-size: .64rem; font-weight: 800; }
.woocommerce .hb-cart-summary table.shop_table .order-total th,
.woocommerce .hb-cart-summary table.shop_table .order-total td { padding-top: 15px; border-top: 1px solid #e4e0d9; color: var(--hb-ink); vertical-align: top; }
.woocommerce .hb-cart-summary table.shop_table .order-total th strong { display: block; font-family: Georgia,"Times New Roman",serif; font-size: .92rem; }
.woocommerce .hb-cart-summary table.shop_table .order-total th small { display: block; margin-top: 2px; color: #9aa5a8; font-size: .56rem; font-weight: 500; }
.woocommerce .hb-cart-summary table.shop_table .order-total td strong { color: var(--hb-ink); font-family: Georgia,"Times New Roman",serif; font-size: 1.13rem; }
.woocommerce .hb-cart-summary .wc-proceed-to-checkout { padding: 12px 20px 0; }
.woocommerce .hb-cart-summary .wc-proceed-to-checkout .checkout-button { display: flex; min-height: 50px; align-items: center; justify-content: center; margin: 0; border-radius: 11px; background: var(--hb-navy); box-shadow: 0 8px 18px rgba(36,93,112,.17); font-size: .76rem; font-weight: 850; }
.woocommerce .hb-cart-summary .wc-proceed-to-checkout .checkout-button::after { content: '\2192'; margin-left: 9px; font-size: 1rem; font-weight: 400; }
.woocommerce .hb-cart-summary .wc-proceed-to-checkout .checkout-button:hover { background: var(--hb-navy-soft); }
.hb-cart-payment-note { margin: 12px 20px 0; padding: 9px 11px; border-radius: 8px; background: #f7edf2; color: #8d5368; font-size: .6rem; font-weight: 700; text-align: center; }
.hb-cart-payment-note span { margin-right: 5px; }
.hb-cart-assurances { display: grid; gap: 7px; margin: 14px 20px 0; padding: 13px 0 0; border-top: 1px solid #e7e3dd; color: #6f8288; font-size: .61rem; list-style: none; }
.hb-cart-assurances li { display: flex; align-items: center; gap: 7px; }
.hb-cart-assurances li > span { display: inline-flex; color: var(--hb-teal); }
.hb-cart-assurances svg { width: 15px; height: 15px; }
.hb-cart-help { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; padding: 13px 20px 15px; border-top: 1px solid #e7e3dd; color: var(--hb-navy); font-size: .63rem; font-weight: 800; text-decoration: none; }
.hb-cart-help svg { width: 16px; height: 16px; color: #168a67; }
.hb-cart-upsells--cart { max-width: calc(100% - 358px); margin: 24px 0 0; padding: 18px; border: 1px solid #dedbd4; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(31,52,59,.055); }
.hb-cart-upsells-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.hb-cart-upsells-heading > span { display: inline-flex; color: #b96e28; }
.hb-cart-upsells-heading svg { width: 17px; height: 17px; }
.hb-cart-upsells-heading h2 { margin: 0; color: var(--hb-ink); font-size: .95rem; }
.hb-cart-upsells-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.hb-cart-upsell-product { min-width: 0; display: grid; grid-template-columns: 52px minmax(0,1fr); grid-template-rows: auto auto; gap: 8px 10px; padding: 10px; border: 1px solid #e5e1db; border-radius: 12px; background: #fdfcf9; }
.hb-cart-upsell-image { grid-row: 1; display: block; width: 52px; height: 52px; overflow: hidden; border-radius: 9px; background: #f2f0ec; }
.hb-cart-upsell-image img { width: 100%; height: 100%; object-fit: cover; }
.hb-cart-upsell-copy { min-width: 0; display: grid; align-content: center; }
.hb-cart-upsell-name { overflow: hidden; color: var(--hb-ink); font-size: .66rem; font-weight: 800; line-height: 1.25; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.hb-cart-upsell-price { color: var(--hb-teal); font-size: .62rem; font-weight: 800; }
.woocommerce .hb-cart-upsell-add { grid-column: 1/-1; display: grid; min-height: 32px; margin: 0; padding: 5px 8px; place-items: center; border: 1px solid #c9d9de; border-radius: 7px; background: #fff; color: var(--hb-navy); font-size: .61rem; }
.woocommerce .hb-cart-upsell-add:hover { border-color: var(--hb-navy); background: var(--hb-navy); color: #fff; }
.woocommerce-cart .cart-empty { max-width: 680px; margin: 28px auto 18px; padding: 42px 24px; border: 1px solid var(--hb-line); border-top: 3px solid var(--hb-teal); border-radius: 18px; background: #fff; text-align: center; }
.woocommerce-cart .return-to-shop { text-align: center; }

@media (max-width: 1040px) {
  .hb-cart-layout { grid-template-columns: minmax(0,1.45fr) minmax(310px,.85fr); gap: 20px; }
  .hb-cart-items__head,
  .hb-cart-item { grid-template-columns: minmax(250px,1fr) 88px 104px 88px; column-gap: 10px; }
  .hb-cart-item { padding-inline: 16px; }
  .hb-cart-item__product { grid-template-columns: 82px minmax(0,1fr); gap: 12px; }
  .hb-cart-item__image { width: 82px; height: 82px; }
  .hb-cart-upsells--cart { max-width: calc(100% - 330px); }
}

@media (max-width: 860px) {
  .hb-cart-page__header { align-items: start; }
  .hb-cart-steps { margin-top: 14px; }
  .hb-cart-layout { grid-template-columns: 1fr; }
  .hb-cart-summary-wrap { position: static; }
  .hb-cart-upsells--cart { max-width: none; }
}

@media (max-width: 680px) {
  body.woocommerce-cart .hb-content { padding-top: 22px; }
  body.woocommerce-cart .hb-content > .hb-container { width: min(calc(100% - 24px),1180px); }
  .hb-cart-page__header { display: block; padding-bottom: 18px; }
  .hb-cart-page__header h1 { font-size: clamp(1.75rem,8.5vw,2.3rem); }
  .hb-cart-steps { width: 100%; margin-top: 18px; justify-content: space-between; }
  .hb-cart-steps li { gap: 5px; font-size: .62rem; }
  .hb-cart-steps li:not(:last-child)::after { width: clamp(16px,8vw,40px); margin: 0 7px; }
  .hb-cart-steps li span { width: 22px; height: 22px; }
  .hb-cart-shipping-progress { grid-template-columns: 34px minmax(0,1fr); gap: 10px; margin: 18px 0 22px; padding: 14px; }
  .hb-cart-shipping-progress__icon { width: 32px; height: 32px; }
  .hb-cart-shipping-progress > b { display: none; }
  .hb-cart-shipping-progress__copy strong { font-size: .74rem; }
  .hb-cart-shipping-progress__copy small { font-size: .61rem; }
  .woocommerce-cart .woocommerce-cart-form.hb-cart-items { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .hb-cart-items__head { display: none; }
  .hb-cart-item { position: relative; display: grid; grid-template-columns: 78px minmax(0,1fr); grid-template-areas: 'image copy' 'image quantity' 'subtotal subtotal'; min-height: 0; gap: 7px 13px; margin-bottom: 10px; padding: 14px; border: 1px solid #dedbd4; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(31,52,59,.045); }
  .hb-cart-item__product { display: contents; }
  .hb-cart-item__image { grid-area: image; width: 78px; height: 78px; }
  .hb-cart-item__copy { grid-area: copy; padding-right: 0; }
  .hb-cart-item__category { margin-bottom: 4px; font-size: .52rem; }
  .hb-cart-item__copy h2 { font-size: .9rem; }
  .hb-cart-item__stock { font-size: .55rem; }
  .hb-cart-item__price { display: none; }
  .hb-cart-item__mobile-price { display: block; margin-top: 4px; color: var(--hb-ink); font-size: .75rem; font-weight: 800; }
  .woocommerce .hb-cart-item__remove { position: absolute; right: 12px; bottom: 15px; margin: 0; font-size: 0; }
  .hb-cart-item__remove svg { width: 16px; height: 16px; }
  .hb-cart-item__quantity { grid-area: quantity; justify-self: start; }
  .hb-cart-item__subtotal { grid-area: subtotal; padding-top: 11px; border-top: 1px solid #ebe7e1; text-align: left; }
  .hb-cart-item__subtotal::before { content: attr(data-title) ': '; color: var(--hb-muted); font-size: .65rem; font-weight: 600; }
  .hb-cart-item__subtotal small { display: inline; margin-left: 4px; }
  .hb-cart-gift { margin: 14px 0 10px; background: #fff; }
  .hb-cart-items__actions { min-height: 0; padding: 12px 4px; border: 0; background: transparent; }
  .woocommerce .hb-cart-items__actions .button { background: #fff; }
  .woocommerce .cart-collaterals .cart_totals.hb-cart-summary,
  .woocommerce .hb-cart-summary { padding: 0; }
  .hb-cart-upsells-list { grid-template-columns: 1fr; }
  .hb-cart-upsell-product { grid-template-columns: 58px minmax(0,1fr) auto; grid-template-rows: auto; align-items: center; }
  .hb-cart-upsell-image { grid-row: auto; width: 58px; height: 58px; }
  .woocommerce .hb-cart-upsell-add { grid-column: auto; min-width: 68px; }
}
@media (max-width: 460px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .9rem; }
  .woocommerce ul.products li.product .button { padding-inline: 12px; }
}

/* =========================================================
   Hasan Bijoux 1.2 — product details and variation swatches
   ========================================================= */
.woocommerce div.product {
  grid-template-columns: minmax(0, 1.16fr) minmax(370px, .84fr);
  gap: clamp(34px, 5vw, 72px);
}
.woocommerce div.product .summary { position: static; }
.woocommerce div.product .product_title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 1.02;
  font-weight: 760;
  letter-spacing: -.045em;
}
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius: 18px; overflow: hidden; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: 18px; border: 1px solid var(--hb-line); }
.woocommerce div.product .flex-control-thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: 9px; margin: 10px 0 0 !important; padding: 0; }
.woocommerce div.product .flex-control-thumbs li { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product .flex-control-thumbs img { aspect-ratio: 1/1; object-fit: cover; border-radius: 10px; border: 1px solid var(--hb-line); opacity: .72; }
.woocommerce div.product .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--hb-navy); }
.woocommerce div.product form.variations_form.cart { display: block; margin: 24px 0; }
.woocommerce div.product form.variations_form table.variations { display: block; margin: 0 0 12px; border: 0; }
.woocommerce div.product form.variations_form table.variations tbody,
.woocommerce div.product form.variations_form table.variations tr,
.woocommerce div.product form.variations_form table.variations th,
.woocommerce div.product form.variations_form table.variations td { display: block; width: 100%; padding: 0; border: 0; }
.woocommerce div.product form.variations_form table.variations tr { margin-bottom: 20px; }
.woocommerce div.product form.variations_form table.variations th.label { display: none; }
.hb-native-variation-select {
  position: absolute !important;
  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.hb-variation-ui { margin-bottom: 5px; }
.hb-variation-ui-label { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }
.hb-variation-ui-label strong { color: var(--hb-ink); font-size: .84rem; }
.hb-variation-ui-label span { color: var(--hb-muted); font-size: .78rem; }
.hb-swatch-list { display: flex; flex-wrap: wrap; gap: 8px; }
.hb-swatch {
  min-height: 38px;
  padding: 7px 13px;
  background: #fff;
  color: var(--hb-ink);
  border: 1px solid #dcd8d1;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 600;
  transform: none !important;
}
.hb-swatch:hover { background: #f7f5f1; color: var(--hb-navy); border-color: #bab4aa; }
.hb-swatch.is-selected { background: var(--hb-navy); color: #fff; border-color: var(--hb-navy); box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--hb-navy); }
.hb-swatch:disabled { opacity: .32; cursor: not-allowed; text-decoration: line-through; }
.hb-variation-ui--color .hb-swatch-list { gap: 10px; }
.hb-swatch--color {
  width: 58px;
  min-height: 65px;
  padding: 5px 3px;
  border: 0;
  background: transparent;
  border-radius: 9px;
  display: grid;
  justify-items: center;
  gap: 5px;
  color: var(--hb-ink);
}
.hb-swatch--color:hover { background: #f7f5f1; border: 0; }
.hb-swatch--color.is-selected { background: transparent; color: var(--hb-ink); border: 0; box-shadow: none; }
.hb-swatch-color-dot {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: var(--hb-swatch-color);
  border: 1px solid rgba(10,15,43,.14);
  box-shadow: inset 0 0 0 2px #fff;
  outline: 1px solid transparent;
  outline-offset: 2px;
}
.hb-swatch--color.is-selected .hb-swatch-color-dot { outline-color: var(--hb-navy); }
.hb-swatch-text { max-width: 58px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .66rem; line-height: 1.1; }
.woocommerce div.product form.variations_form .reset_variations { display: inline-block; margin-top: 4px; color: var(--hb-muted); font-size: .76rem; }
.woocommerce div.product .single_variation_wrap { border-top: 1px solid var(--hb-line); padding-top: 16px; }
.woocommerce div.product .woocommerce-variation-price { margin-bottom: 12px; }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; gap: 10px; align-items: center; }
.woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1; }
.hb-product-assurances { margin-top: 22px; border: 1px solid var(--hb-line); border-radius: 14px; background: #fff; overflow: hidden; }
.hb-product-assurances > div { display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: center; padding: 13px 15px; border-bottom: 1px solid var(--hb-line); }
.hb-product-assurances > div:last-child { border-bottom: 0; }
.hb-product-assurances > div > span { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #f3f1ed; color: var(--hb-navy); }
.hb-product-assurances svg { width: 17px; height: 17px; }
.hb-product-assurances strong { display: block; color: var(--hb-ink); font-size: .79rem; }
.hb-product-assurances small { display: block; color: var(--hb-muted); font-size: .7rem; line-height: 1.35; margin-top: 2px; }
.woocommerce ul.products li.product { background: #fff; border: 1px solid var(--hb-line); border-radius: 15px; padding: 9px 9px 13px; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(10,15,43,.07); }
.woocommerce ul.products li.product a img { border: 0; border-radius: 11px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price { padding-inline: 3px; }
.woocommerce ul.products li.product .button { margin-left: 3px; }

@media (max-width: 1024px) {
  .woocommerce div.product .summary { position: static; }
}
@media (max-width: 760px) {
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .flex-control-thumbs { grid-template-columns: repeat(4,1fr); }
  .hb-swatch--color { width: 54px; }
}

/* =========================================================
   Refined single-product purchase experience
   ========================================================= */
.single-product .hb-woo { padding-top: 36px; }
.single-product.woocommerce .woocommerce-breadcrumb { margin-bottom: 18px; font-size: .78rem; }
.single-product.woocommerce div.product {
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  gap: clamp(30px, 5vw, 70px);
}
.single-product.woocommerce div.product .woocommerce-product-gallery,
.single-product.woocommerce div.product .summary { width: 100% !important; min-width: 0; }
.single-product.woocommerce div.product .woocommerce-product-gallery__wrapper { overflow: visible; border-radius: 18px; }
.single-product.woocommerce div.product .woocommerce-product-gallery__image:first-child a { display: block; border-radius: 18px; overflow: hidden; background: #f4f4f2; }
.single-product.woocommerce div.product .woocommerce-product-gallery__image:first-child img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  object-fit: contain;
  background: #f4f4f2;
}
.single-product.woocommerce div.product .flex-control-thumbs { grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)); gap: 10px; margin-top: 12px !important; }
.single-product.woocommerce div.product .flex-control-thumbs img { min-height: 74px; border-width: 1px; transition: border-color .18s ease, opacity .18s ease, transform .18s ease; }
.single-product.woocommerce div.product .flex-control-thumbs img:hover { opacity: 1; border-color: var(--hb-teal); transform: translateY(-1px); }
.single-product.woocommerce div.product .summary {
  position: static !important;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--hb-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(36,93,112,.08);
}
.single-product.woocommerce div.product .product_title { margin-bottom: 14px; font-size: clamp(1.9rem, 3.2vw, 3rem); line-height: 1.08; }
.single-product.woocommerce div.product .woocommerce-product-rating { margin-bottom: 16px; }
.single-product.woocommerce div.product p.price,
.single-product.woocommerce div.product span.price { display: block; margin: 0 0 18px; padding: 18px 0; border-block: 1px solid var(--hb-line); font-size: 1.42rem; letter-spacing: -.02em; }
.single-product .woocommerce-product-details__short-description { margin: 0 0 19px; color: var(--hb-muted); line-height: 1.62; }
.single-product.woocommerce div.product form.cart { margin: 22px 0 0; }
.single-product.woocommerce div.product form.cart:not(.variations_form) { display: flex; align-items: stretch; gap: 11px; }
.single-product.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 50px; border-radius: 9px; font-weight: 750; }
.hb-quantity { display: inline-grid; grid-template-columns: 36px minmax(42px, 50px) 36px; align-items: stretch; min-height: 50px; overflow: hidden; border: 1px solid var(--hb-line); border-radius: 9px; background: #fff; }
.hb-quantity .qty { width: 100% !important; min-height: 48px !important; margin: 0 !important; padding: 0 3px !important; border: 0 !important; border-radius: 0 !important; text-align: center; color: var(--hb-ink); font-weight: 700; appearance: textfield; -moz-appearance: textfield; }
.hb-quantity .qty::-webkit-inner-spin-button,.hb-quantity .qty::-webkit-outer-spin-button { appearance: none; margin: 0; }
.hb-quantity-button { display: grid; place-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--hb-navy); font-size: 1.15rem; font-weight: 500; cursor: pointer; transform: none !important; }
.hb-quantity-button:hover:not(:disabled) { background: var(--hb-ivory); color: var(--hb-teal); }
.hb-quantity-button:disabled { color: #b8c6ca; cursor: not-allowed; }
.single-product.woocommerce div.product form.variations_form.cart { margin-top: 20px; }
.single-product.woocommerce div.product .woocommerce-variation-add-to-cart { align-items: stretch; }
.single-product.woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button { min-height: 50px; }
.hb-variation-ui-label { margin-bottom: 11px; }
.hb-variation-ui-label strong { font-size: .9rem; }
.hb-variation-ui-label span { color: var(--hb-teal); font-weight: 650; }
.hb-swatch { min-height: 42px; padding: 8px 14px; border-radius: 9px; }
.hb-swatch:hover { background: var(--hb-ivory); border-color: var(--hb-teal); }
.hb-swatch.is-selected { background: var(--hb-navy); border-color: var(--hb-navy); box-shadow: 0 0 0 2px #fff,0 0 0 3px var(--hb-navy); }
.hb-swatch--color { min-height: 68px; border-radius: 10px; }
.hb-swatch--color.is-selected { background: var(--hb-ivory); }
.hb-swatch-color-dot { width: 34px; height: 34px; border-color: rgba(23,58,71,.18); }
.hb-product-assurances { margin-top: 20px; border-radius: 12px; box-shadow: none; }
.hb-product-assurances > div { padding: 12px 14px; }
.hb-product-assurances > div > span { background: #edf4f5; color: var(--hb-teal); }
.hb-product-information { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--hb-line); }
.hb-product-information h2 { margin: 0 0 10px; color: var(--hb-navy); font-size: .9rem; letter-spacing: .01em; }
.hb-product-information dl { margin: 0; }
.hb-product-information dl > div { display: grid; grid-template-columns: minmax(90px,.65fr) minmax(0,1.35fr); gap: 12px; padding: 9px 0; border-top: 1px solid #edf1f2; font-size: .8rem; }
.hb-product-information dt { color: var(--hb-muted); }
.hb-product-information dd { margin: 0; color: var(--hb-ink); font-weight: 600; overflow-wrap: anywhere; }
.hb-product-information a { color: var(--hb-teal); }
.single-product.woocommerce div.product .product_meta { display: none; }

/* Product details tabs: a calm, readable information hub below the purchase area. */
.single-product.woocommerce div.product .woocommerce-tabs {
  position: relative;
  margin-top: clamp(46px, 7vw, 88px);
  padding-top: 0;
}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid var(--hb-line);
  border-radius: 14px 14px 0 0;
  background: #f3f7f7;
  scrollbar-width: thin;
  scrollbar-color: #b8ccd2 transparent;
}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  transition: background .18s ease, box-shadow .18s ease;
}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: flex;
  min-height: 46px;
  padding: 11px 18px;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  color: var(--hb-muted);
  font-size: .8rem;
  font-weight: 750;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease;
}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color: var(--hb-navy); }
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border: 0;
  background: #fff;
  box-shadow: 0 4px 14px rgba(23,58,71,.09);
}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--hb-navy); }
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
  outline: 3px solid rgba(47,120,145,.22);
  outline-offset: 1px;
}
.single-product.woocommerce div.product .woocommerce-tabs .panel {
  min-height: 230px;
  margin: 0;
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid var(--hb-line);
  border-top: 0;
  border-radius: 0 0 16px 16px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(36,93,112,.07);
  color: #405761;
  font-size: .94rem;
  line-height: 1.75;
}
.single-product.woocommerce div.product .woocommerce-tabs .panel > :last-child { margin-bottom: 0; }
.single-product.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
.single-product.woocommerce div.product .woocommerce-tabs .panel #reviews h2 {
  margin: 0 0 24px;
  color: var(--hb-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.2;
}
.single-product.woocommerce div.product .woocommerce-tabs .panel h3 { color: var(--hb-navy); }
.single-product.woocommerce div.product .woocommerce-tabs .panel p { max-width: 850px; }
.single-product.woocommerce div.product .woocommerce-tabs .panel ul,
.single-product.woocommerce div.product .woocommerce-tabs .panel ol { padding-left: 1.2rem; }

/* Additional information: specifications should scan like a product facts sheet. */
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes {
  width: min(100%, 880px);
  max-width: none;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--hb-line);
  border-radius: 12px;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid var(--hb-line);
  font-size: .84rem;
  line-height: 1.5;
  text-align: left;
  vertical-align: top;
}
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:last-child th,
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:last-child td { border-bottom: 0; }
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes th {
  width: 34%;
  background: #f5f8f8;
  color: var(--hb-navy);
  font-weight: 750;
}
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes td { color: var(--hb-ink); }
.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes td p { margin: 0; padding: 0; }

/* Reviews: separate social proof from the action of writing a review. */
.single-product.woocommerce div.product #reviews {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
  max-width: none;
  margin-inline: 0;
}
.single-product.woocommerce div.product #reviews #comments,
.single-product.woocommerce div.product #reviews #review_form_wrapper { float: none; width: auto; }
.single-product.woocommerce div.product #reviews #comments ol.commentlist { margin: 0; padding: 0; }
.single-product.woocommerce div.product #reviews #comments ol.commentlist li { margin: 0 0 14px; }
.single-product.woocommerce div.product #reviews #comments ol.commentlist li .comment_container {
  position: relative;
  min-height: 62px;
  padding: 18px 18px 18px 82px;
  border: 1px solid var(--hb-line);
  border-radius: 12px;
  background: #fbfcfc;
}
.single-product.woocommerce div.product #reviews #comments ol.commentlist li img.avatar {
  top: 18px;
  left: 18px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #edf4f5;
}
.single-product.woocommerce div.product #reviews #comments ol.commentlist li .comment-text {
  margin: 0;
  padding: 0;
  border: 0;
}
.single-product.woocommerce div.product #reviews #comments ol.commentlist li .meta {
  margin: 3px 0 9px;
  color: var(--hb-muted);
  font-size: .72rem;
}
.single-product.woocommerce div.product #reviews #comments ol.commentlist li .woocommerce-review__author { color: var(--hb-navy); font-size: .8rem; }
.single-product.woocommerce div.product #reviews #comments ol.commentlist li .description p { margin: 0; font-size: .84rem; line-height: 1.65; }
.single-product.woocommerce div.product #reviews .star-rating { color: #d7a328; font-size: .86rem; }
.single-product.woocommerce div.product #reviews .woocommerce-noreviews { margin: 0; padding: 17px 19px; border: 1px dashed #bdd0d5; border-radius: 11px; background: #f6f9f9; color: var(--hb-muted); }
.single-product.woocommerce div.product #review_form #respond {
  margin: 0;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--hb-line);
  border-radius: 14px;
  background: #f7f9f9;
}
.single-product.woocommerce div.product #review_form #respond .comment-reply-title {
  display: block;
  margin-bottom: 7px;
  color: var(--hb-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.25;
}
.single-product.woocommerce div.product #review_form #respond .comment-notes,
.single-product.woocommerce div.product #review_form #respond .logged-in-as { color: var(--hb-muted); font-size: .76rem; line-height: 1.5; }
.single-product.woocommerce div.product #review_form #respond label { display: block; margin-bottom: 6px; color: var(--hb-ink); font-size: .76rem; font-weight: 750; }
.single-product.woocommerce div.product #review_form #respond textarea,
.single-product.woocommerce div.product #review_form #respond input[type="text"],
.single-product.woocommerce div.product #review_form #respond input[type="email"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 11px 12px;
  border: 1px solid #cfdde0;
  border-radius: 9px;
  background: #fff;
  color: var(--hb-ink);
  font: inherit;
  outline: 0;
}
.single-product.woocommerce div.product #review_form #respond textarea { min-height: 130px; resize: vertical; }
.single-product.woocommerce div.product #review_form #respond textarea:focus,
.single-product.woocommerce div.product #review_form #respond input[type="text"]:focus,
.single-product.woocommerce div.product #review_form #respond input[type="email"]:focus {
  border-color: var(--hb-teal);
  box-shadow: 0 0 0 3px rgba(47,120,145,.12);
}
.single-product.woocommerce div.product #review_form #respond .comment-form-rating { padding: 10px 0 4px; }
.single-product.woocommerce div.product #review_form #respond p.stars { margin: 8px 0 14px; font-size: 1.15rem; }
.single-product.woocommerce div.product #review_form #respond p.stars a { color: #d7a328; }
.single-product.woocommerce div.product #review_form #respond .form-submit { margin: 17px 0 0; }
.single-product.woocommerce div.product #review_form #respond .form-submit input { min-height: 46px; padding-inline: 20px; border-radius: 9px; }

@media (max-width: 1024px) {
  .single-product.woocommerce div.product { grid-template-columns: minmax(0,1fr) minmax(310px,.9fr); gap: 28px; }
  .single-product.woocommerce div.product .summary { padding: 24px; }
  .single-product.woocommerce div.product #reviews { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .single-product .hb-woo { padding-top: 25px; }
  .single-product.woocommerce div.product { grid-template-columns: 1fr; gap: 22px; }
  .single-product.woocommerce div.product .summary { padding: 21px 17px; border-radius: 14px; }
  .single-product.woocommerce div.product form.cart:not(.variations_form),
  .single-product.woocommerce div.product .woocommerce-variation-add-to-cart { gap: 9px; }
  .single-product.woocommerce div.product .flex-control-thumbs { grid-template-columns: repeat(4,1fr); }
  .single-product.woocommerce div.product .woocommerce-tabs { margin-top: 28px; }
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
    width: calc(100vw - 40px);
    max-width: 100%;
    padding: 5px;
    border-radius: 12px 12px 0 0;
    scroll-snap-type: x proximity;
  }
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs li { scroll-snap-align: start; }
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height: 42px; padding: 9px 14px; font-size: .75rem; }
  .single-product.woocommerce div.product .woocommerce-tabs .panel { min-height: 0; padding: 22px 17px; border-radius: 0 0 13px 13px; font-size: .88rem; line-height: 1.68; }
  .single-product.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
  .single-product.woocommerce div.product .woocommerce-tabs .panel #reviews h2 { margin-bottom: 18px; font-size: 1.4rem; }
  .single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
  .single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes td { padding: 12px 11px; font-size: .76rem; }
  .single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes th { width: 39%; }
  .single-product.woocommerce div.product #reviews { gap: 26px; }
  .single-product.woocommerce div.product #reviews #comments ol.commentlist li .comment_container { padding: 16px; }
  .single-product.woocommerce div.product #reviews #comments ol.commentlist li img.avatar { position: static; float: left; margin: 0 11px 8px 0; }
  .single-product.woocommerce div.product #review_form #respond { padding: 18px 15px; }
}

/* =========================================================
   Storewide WooCommerce account, cart and mobile experience
   ========================================================= */
.woocommerce .woocommerce-MyAccount-content,
.woocommerce #customer_login .u-column1,
.woocommerce #customer_login .u-column2,
.woocommerce .woocommerce-address-fields,
.woocommerce .woocommerce-EditAccountForm,
.woocommerce .woocommerce-ResetPassword,
.woocommerce .woocommerce-Addresses address {
  box-sizing: border-box;
  border: 1px solid var(--hb-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(36,93,112,.06);
}
.hb-account-layout { display: grid; grid-template-columns: minmax(210px,.28fr) minmax(0,1fr); gap: 26px; align-items: start; }
.hb-account-layout .woocommerce-MyAccount-navigation,
.hb-account-layout .woocommerce-MyAccount-content { float: none; width: auto; margin: 0; }
.hb-account-layout .woocommerce-MyAccount-navigation { border: 1px solid var(--hb-line); border-radius: 16px; overflow: hidden; background: #fff; }
.hb-account-nav-heading { padding: 20px 18px 15px; border-bottom: 1px solid var(--hb-line); color: var(--hb-navy); font-weight: 800; }
.hb-account-nav-heading small { display: block; margin-top: 2px; color: var(--hb-muted); font-size: .72rem; font-weight: 500; }
.hb-account-layout .woocommerce-MyAccount-navigation ul { border: 0; border-radius: 0; }
.hb-account-layout .woocommerce-MyAccount-navigation li a { padding: 12px 16px; color: var(--hb-ink); font-weight: 650; }
.hb-account-layout .woocommerce-MyAccount-navigation li a:hover { background: #edf4f5; color: var(--hb-navy); }
.hb-account-layout .woocommerce-MyAccount-navigation li.is-active a { background: var(--hb-navy); color: #fff; }
.hb-account-layout .woocommerce-MyAccount-content { padding: clamp(20px,3vw,34px); }
.hb-account-layout .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce #customer_login { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.hb-account-auth-shell { max-width: 760px; margin: 28px auto 0; padding: clamp(22px,4vw,42px); border: 1px solid var(--hb-line); border-radius: 18px; background: #fff; box-shadow: 0 16px 42px rgba(36,93,112,.08); }
.hb-account-auth-shell > h2 { margin-top: 0; }
.hb-account-auth-shell form.login { max-width: none; }
.woocommerce #customer_login .u-column1,
.woocommerce #customer_login .u-column2 { float: none; width: auto; padding: clamp(20px,3vw,34px); }
.woocommerce #customer_login h2,
.woocommerce .woocommerce-MyAccount-content h2 { margin-top: 0; font-size: clamp(1.35rem,2.5vw,2rem); }
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register { margin: 0; border: 0; padding: 0; }
.woocommerce .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 7px; margin: 0 12px 12px 0; }
.woocommerce .woocommerce-form-login__rememberme input { width: auto; min-height: 0; }
.woocommerce .woocommerce-LostPassword { margin-bottom: 0; font-size: .86rem; }
.woocommerce-cart-form,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2,
.woocommerce-checkout-review-order { box-sizing: border-box; border: 1px solid var(--hb-line); border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgba(36,93,112,.06); }
.woocommerce-cart-form { overflow: hidden; }
.woocommerce-cart .cart-collaterals { display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,.62fr); gap: 24px; margin-top: 26px; }
.woocommerce-cart .cart-collaterals::before,.woocommerce-cart .cart-collaterals::after { display: none; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: auto; padding: 24px; }
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-bottom: 26px; }
.woocommerce-checkout #customer_details > .col-1,.woocommerce-checkout #customer_details > .col-2 { float: none; width: auto; padding: 24px; }
.woocommerce-checkout-review-order { padding: 24px; }
.woocommerce-checkout #payment { border: 1px solid var(--hb-line); background: #edf4f5; }
.woocommerce .woocommerce-orders-table,.woocommerce .woocommerce-table--order-details { overflow: hidden; }

.hb-account-page { padding: clamp(34px,5vw,72px) 0 88px; background: linear-gradient(180deg,#f5fafb 0,#fbf9f8 340px); }
.hb-account-page .entry-content > * { max-width: none; }
.hb-content .hb-account-page-article { max-width: none; margin: 0; }
.hb-account-entry-layout { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); overflow: hidden; border: 1px solid var(--hb-line); border-radius: 22px; background: #fff; box-shadow: 0 20px 55px rgba(36,93,112,.1); }
.hb-account-welcome { padding: clamp(30px,5vw,66px); background: var(--hb-navy); color: #fff; }
.hb-account-welcome .hb-section-kicker { margin: 0 0 16px; color: var(--hb-rose); }
.hb-account-welcome h1 { margin: 0 0 18px; color: #fff; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: clamp(2rem,3.5vw,3.6rem); font-weight: 760; letter-spacing: -.045em; }
.hb-account-welcome > p:not(.hb-section-kicker) { max-width: 390px; margin: 0; color: #dcebee; line-height: 1.65; }
.hb-account-welcome ul { display: grid; gap: 12px; margin: 32px 0 0; padding: 0; list-style: none; }
.hb-account-welcome li { position: relative; padding-left: 28px; color: #fff; font-size: .9rem; font-weight: 650; }
.hb-account-welcome li::before { content: '✓'; position: absolute; left: 0; top: 0; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--hb-rose); color: var(--hb-navy); font-size: .7rem; }
.hb-account-entry-layout > .entry-content { padding: clamp(30px,5vw,62px); }
.hb-account-page .hb-account-auth-shell { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.hb-account-page .hb-account-auth-shell h2 { margin-bottom: 24px; color: var(--hb-navy); font-size: clamp(1.8rem,3vw,2.6rem); }
.hb-account-page .hb-account-auth-shell .woocommerce-LostPassword { margin-top: 18px; }

@media (max-width: 760px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .hb-home-products .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 20px 12px !important;
    width: 100% !important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .hb-home-products .woocommerce ul.products li.product {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 8px 8px 11px;
  }
  .woocommerce ul.products li.product a img { margin-bottom: 10px; border-radius: 9px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; margin-bottom: 5px; padding: 0 2px; font-size: .88rem; line-height: 1.32; }
  .woocommerce ul.products li.product .price { margin-bottom: 8px; padding: 0 2px; font-size: .86rem; }
  .woocommerce ul.products li.product .button { display: grid; width: 100%; min-height: 42px; margin: 0; padding: 8px; place-items: center; border-radius: 8px; font-size: .78rem; line-height: 1.15; text-align: center; }
  .hb-account-layout,.woocommerce #customer_login,.woocommerce-checkout #customer_details,.woocommerce-cart .cart-collaterals { grid-template-columns: 1fr; gap: 18px; }
  .hb-account-layout .woocommerce-MyAccount-navigation { margin-bottom: 0; }
  .hb-account-layout .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hb-account-layout .woocommerce-MyAccount-navigation li a { min-height: 52px; display: flex; align-items: center; border-bottom: 1px solid var(--hb-line); }
  .hb-account-layout .woocommerce-MyAccount-navigation li:nth-last-child(-n+2) a { border-bottom: 0; }
  .hb-account-layout .woocommerce-MyAccount-content,.woocommerce #customer_login .u-column1,.woocommerce #customer_login .u-column2,.woocommerce-checkout #customer_details > .col-1,.woocommerce-checkout #customer_details > .col-2,.woocommerce-checkout-review-order,.woocommerce .cart-collaterals .cart_totals { padding: 20px 16px; }
  .hb-account-auth-shell { margin-top: 18px; padding: 22px 16px; border-radius: 14px; }
  .hb-account-page { padding: 22px 0 56px; }
  .hb-account-entry-layout { grid-template-columns: 1fr; border-radius: 16px; }
  .hb-account-welcome { padding: 32px 24px; }
  .hb-account-welcome h1 { font-size: 2rem; }
  .hb-account-welcome ul { margin-top: 24px; }
  .hb-account-entry-layout > .entry-content { padding: 28px 18px; }
  .hb-account-page .hb-account-auth-shell { margin: 0; padding: 0; }
  .woocommerce-cart-form { overflow-x: auto; }
  .woocommerce-cart table.cart { min-width: 640px; }
  .woocommerce table.shop_table th,.woocommerce table.shop_table td { padding: 12px 10px; }
}

/* Product card action system: clear purchase choices plus unobtrusive discovery tools. */
.woocommerce ul.products li.product { overflow: hidden; }
.woocommerce ul.products li.product .hb-loop-add-to-cart,
.woocommerce ul.products li.product .hb-loop-buy-now {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: calc(50% - 5px);
  min-height: 42px;
  margin: 0;
  padding: 9px 8px;
  place-items: center;
  border-radius: 9px;
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.1;
  text-align: center;
}
.woocommerce ul.products li.product .hb-loop-button-icon { display: inline-grid; place-items: center; flex: 0 0 auto; }
.woocommerce ul.products li.product .hb-loop-button-icon svg { width: 15px; height: 15px; display: block; }
.woocommerce ul.products li.product .hb-loop-add-to-cart { margin-right: 6px; }
.woocommerce ul.products li.product .hb-loop-buy-now { border-color: var(--hb-teal) !important; background: var(--hb-teal) !important; color: #fff !important; }
.woocommerce ul.products li.product .hb-loop-buy-now:hover { border-color: var(--hb-navy) !important; background: var(--hb-navy) !important; }
.woocommerce ul.products li.product > .compare,
.woocommerce ul.products li.product > .yith-woocompare-add-product,
.woocommerce ul.products li.product > .yith-woocompare-button { display: none !important; }
.hb-product-hover-actions {
  position: absolute;
  z-index: 8;
  top: 20px;
  right: 20px;
  display: grid;
  gap: 7px;
  opacity: 0;
  transform: translate3d(10px, 0, 0);
  transition: opacity .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover .hb-product-hover-actions,
.woocommerce ul.products li.product:focus-within .hb-product-hover-actions { opacity: 1; transform: translateX(0); }
.hb-product-hover-action,
.hb-product-hover-actions .yith-wcwl-add-to-wishlist,
.hb-product-hover-actions .yith-woocompare-add-product { margin: 0 !important; }
.hb-product-hover-action {
  position: relative;
  width: 38px;
  height: 38px;
  opacity: 0;
  transform: translate3d(12px, 0, 0) scale(.82);
}
.hb-product-hover-action--wishlist,
.hb-product-hover-action--compare {
  display: grid;
  place-items: center;
}
.woocommerce ul.products li.product:hover .hb-product-hover-action,
.woocommerce ul.products li.product:focus-within .hb-product-hover-action {
  animation: hb-product-action-in .34s cubic-bezier(.22, .8, .28, 1.15) both;
}
.woocommerce ul.products li.product:hover .hb-product-hover-action:nth-child(1),
.woocommerce ul.products li.product:focus-within .hb-product-hover-action:nth-child(1) { animation-delay: .02s; }
.woocommerce ul.products li.product:hover .hb-product-hover-action:nth-child(2),
.woocommerce ul.products li.product:focus-within .hb-product-hover-action:nth-child(2) { animation-delay: .09s; }
.woocommerce ul.products li.product:hover .hb-product-hover-action:nth-child(3),
.woocommerce ul.products li.product:focus-within .hb-product-hover-action:nth-child(3) { animation-delay: .16s; }
@keyframes hb-product-action-in {
  0% { opacity: 0; transform: translate3d(12px, 0, 0) scale(.82); }
  72% { opacity: 1; transform: translate3d(-1px, 0, 0) scale(1.06); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
.hb-product-hover-actions a,
.hb-product-hover-action--quick-view {
  width: 38px;
  height: 38px;
  min-height: 38px;
  display: grid !important;
  place-items: center;
  padding: 0 !important;
  border: 1px solid var(--hb-line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--hb-navy) !important;
  box-shadow: 0 6px 16px rgba(23,58,71,.12);
  font-size: 0 !important;
  line-height: 1;
  text-decoration: none !important;
  transform: none !important;
}
.woocommerce .hb-product-hover-actions a { border-color: var(--hb-line) !important; background: #fff !important; color: var(--hb-navy) !important; }
.hb-product-hover-action > .yith-wcwl-add-to-wishlist,
.hb-product-hover-action > .yith-woocompare-add-product,
.hb-product-hover-action > .yith-add-to-wishlist-button-block,
.hb-product-hover-action .yith-wcwl-add-button,
.hb-product-hover-action .yith-wcwl-wishlistaddedbrowse,
.hb-product-hover-action .yith-wcwl-wishlistexistsbrowse { width: 38px; height: 38px; }
.hb-product-hover-action > .yith-add-to-wishlist-button-block { position: absolute; z-index: 0; inset: 0; display: block !important; }
.hb-product-hover-action > .yith-add-to-wishlist-button-block > a { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.hb-product-hover-action .yith-wcwl-add-to-wishlist-button__label { display: none !important; }
.hb-product-action-icon {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  pointer-events: none;
  color: var(--hb-navy);
}
.hb-product-action-icon svg,
.hb-product-hover-action--quick-view svg { display: block !important; width: 17px; height: 17px; }
.hb-product-hover-actions a:hover,
.hb-product-hover-action--quick-view:hover { border-color: var(--hb-teal) !important; background: var(--hb-teal) !important; color: #fff !important; }
.woocommerce .hb-product-hover-actions a:hover { border-color: var(--hb-teal) !important; background: var(--hb-teal) !important; color: #fff !important; }
.hb-product-hover-action:hover .hb-product-action-icon { color: #fff; }
.hb-product-hover-action--wishlist .yith-add-to-wishlist-button-block > a,
.hb-product-hover-action--compare > a { border-radius: 50% !important; }
.hb-product-hover-action--compare .hb-product-action-icon { color: var(--hb-navy); }
.hb-product-hover-action--compare:hover .hb-product-action-icon { color: #fff !important; }
.hb-product-hover-action--quick-view { border-color: var(--hb-gold) !important; background: var(--hb-gold) !important; color: #fff !important; }
.hb-product-hover-action--quick-view:hover { border-color: var(--hb-teal) !important; background: var(--hb-teal) !important; }
.hb-product-hover-action--wishlist a svg,
.hb-product-hover-action--compare a svg,
.hb-product-hover-actions img { display: none !important; }
.hb-quick-view-overlay {
  position: fixed;
  z-index: 1800;
  inset: 0;
  background: rgba(10,15,43,.48);
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
}
.hb-quick-view-dialog {
  position: fixed;
  z-index: 1801;
  top: 50%;
  left: 50%;
  width: min(760px, calc(100vw - 32px));
  max-height: min(680px, calc(100dvh - 32px));
  overflow: auto;
  padding: 26px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(10,15,43,.28);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -46%);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
body.hb-quick-view-is-open { overflow: hidden; }
body.hb-quick-view-is-open .hb-quick-view-overlay { opacity: 1; visibility: visible; }
body.hb-quick-view-is-open .hb-quick-view-dialog { opacity: 1; visibility: visible; transform: translate(-50%, -50%); }
.hb-quick-view-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 36px; height: 36px; min-height: 36px; display: grid; place-items: center; padding: 0; border: 1px solid var(--hb-line); border-radius: 50%; background: #fff; color: var(--hb-navy); }
.hb-quick-view-close svg { width: 17px; height: 17px; }
.hb-quick-view-grid { display: grid; grid-template-columns: minmax(220px,.88fr) minmax(0,1.12fr); gap: 28px; align-items: center; }
.hb-quick-view-grid > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 13px; background: #f4f1ec; }
.hb-quick-view-copy h2 { margin: 0 42px 10px 0; color: var(--hb-navy); font-size: 1.7rem; line-height: 1.08; }
.hb-quick-view-price { margin-bottom: 14px; color: var(--hb-ink); font-size: 1.08rem; font-weight: 750; }
.hb-quick-view-copy p { color: var(--hb-muted); line-height: 1.55; }
.hb-quick-view-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hb-quick-view-buttons .button { min-height: 44px; display: inline-grid; place-items: center; padding: 9px 15px; border-radius: 9px; font-size: .82rem; }
.hb-quick-view-details { display: inline-flex; align-items: center; padding: 8px 0; color: var(--hb-navy); font-size: .82rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.hb-quick-view-loading, .hb-quick-view-error { min-height: 180px; display: grid; place-items: center; color: var(--hb-muted); }
@media (max-width: 760px) {
  .hb-product-hover-actions { top: 15px; right: 15px; gap: 5px; opacity: 1; transform: none; }
  .hb-product-hover-action { width: 32px; height: 32px; opacity: 1; transform: none; animation: none !important; }
  .hb-product-hover-actions a, .hb-product-hover-action--quick-view,
  .hb-product-hover-action > .yith-wcwl-add-to-wishlist,
  .hb-product-hover-action > .yith-woocompare-add-product,
  .hb-product-hover-action > .yith-add-to-wishlist-button-block,
  .hb-product-hover-action .yith-wcwl-add-button,
  .hb-product-hover-action .yith-wcwl-wishlistaddedbrowse,
  .hb-product-hover-action .yith-wcwl-wishlistexistsbrowse { width: 32px; height: 32px; min-height: 32px; }
  .hb-product-action-icon svg, .hb-product-hover-action--quick-view svg { width: 15px; height: 15px; }
  .woocommerce ul.products li.product .hb-loop-add-to-cart,
  .woocommerce ul.products li.product .hb-loop-buy-now { width: calc(50% - 3px); min-height: 39px; padding-inline: 4px; font-size: .68rem; gap: 4px; }
  .woocommerce ul.products li.product .hb-loop-button-icon svg { width: 13px; height: 13px; }
  .woocommerce ul.products li.product .hb-loop-add-to-cart { margin-right: 3px; }
  .hb-quick-view-dialog { width: min(100vw - 20px, 460px); padding: 18px; }
  .hb-quick-view-grid { grid-template-columns: 1fr; gap: 18px; }
  .hb-quick-view-grid > img { max-height: 260px; object-fit: contain; }
  .hb-quick-view-copy h2 { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hb-product-hover-actions, .hb-product-hover-action { transition: none; animation: none !important; }
  .woocommerce ul.products li.product:hover .hb-product-hover-action,
  .woocommerce ul.products li.product:focus-within .hb-product-hover-action { opacity: 1; transform: none; }
}
@media (max-width: 760px) {
  body.woocommerce-cart .hb-content,
  body.woocommerce-checkout .hb-content { padding-top: 28px; }
  .hb-commerce-page-header { margin-bottom: 24px; }
  .hb-commerce-page-header .entry-title { font-size: clamp(1.8rem, 9vw, 2.35rem); }
  .woocommerce-cart table.cart .coupon { flex-wrap: wrap; }
  .woocommerce-cart table.cart .coupon .input-text { min-width: 0; width: 100%; }
  .woocommerce-checkout form.checkout { display: block; }
  .woocommerce-checkout form.checkout > #order_review_heading { margin: 26px 0 12px; }
  .woocommerce-checkout form.checkout > #order_review { position: static; }
}

/* Premium product action rail: one predictable visual language for every action. */
.hb-product-hover-actions {
  --hb-product-action-size: 42px;
  gap: 9px;
}
.hb-product-hover-action,
.hb-product-hover-action > .yith-wcwl-add-to-wishlist,
.hb-product-hover-action > .yith-woocompare-add-product,
.hb-product-hover-action > .yith-add-to-wishlist-button-block,
.hb-product-hover-action .yith-wcwl-add-button,
.hb-product-hover-action .yith-wcwl-wishlistaddedbrowse,
.hb-product-hover-action .yith-wcwl-wishlistexistsbrowse {
  box-sizing: border-box;
  width: var(--hb-product-action-size) !important;
  height: var(--hb-product-action-size) !important;
  min-width: var(--hb-product-action-size) !important;
  min-height: var(--hb-product-action-size) !important;
  max-width: var(--hb-product-action-size) !important;
  max-height: var(--hb-product-action-size) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.hb-product-hover-action--wishlist,
.hb-product-hover-action--compare { display: grid; place-items: center; }
.woocommerce .hb-product-hover-actions a,
.hb-product-hover-action--quick-view {
  box-sizing: border-box;
  width: var(--hb-product-action-size) !important;
  height: var(--hb-product-action-size) !important;
  min-width: var(--hb-product-action-size) !important;
  min-height: var(--hb-product-action-size) !important;
  max-width: var(--hb-product-action-size) !important;
  max-height: var(--hb-product-action-size) !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(23,58,71,.14) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.97) !important;
  color: var(--hb-navy) !important;
  line-height: 0 !important;
  box-shadow: 0 7px 18px rgba(10,15,43,.13);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.hb-product-action-icon svg,
.hb-product-hover-action--quick-view svg {
  display: block !important;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  flex: 0 0 auto;
}
.hb-product-hover-action--quick-view { border-color: var(--hb-gold) !important; background: var(--hb-gold) !important; color: #fff !important; }
.woocommerce .hb-product-hover-actions a:hover,
.woocommerce .hb-product-hover-actions a:focus-visible,
.hb-product-hover-action--quick-view:hover,
.hb-product-hover-action--quick-view:focus-visible {
  border-color: var(--hb-teal) !important;
  background: var(--hb-teal) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(23,93,112,.24);
}
.hb-product-hover-action:hover .hb-product-action-icon,
.hb-product-hover-action:focus-within .hb-product-action-icon { color: #fff !important; }
.hb-product-hover-action::after {
  position: absolute;
  z-index: 4;
  top: 50%;
  right: calc(100% + 10px);
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--hb-navy);
  color: #fff;
  content: attr(data-hb-action-label);
  font-size: .68rem;
  font-weight: 750;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translate(5px, -50%);
  transition: opacity .16s ease, transform .16s ease;
}
.hb-product-hover-action:hover::after,
.hb-product-hover-action:focus-within::after { opacity: 1; transform: translate(0, -50%); }
@media (max-width: 760px) {
  .hb-product-hover-actions { --hb-product-action-size: 34px; gap: 6px; }
  .hb-product-action-icon svg,
  .hb-product-hover-action--quick-view svg { width: 16px; height: 16px; }
  .hb-product-hover-action::after { display: none; }
}

/* Compare page layout: counter YITH's wide filler column and oversized loop buttons. */
#yith-woocompare > h2 {
  margin: 0 0 20px;
  color: var(--hb-navy);
  font-family: inherit;
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
  font-weight: 760;
  letter-spacing: -.045em;
}
#yith-woocompare-table_wrapper { margin: 0 !important; }
#yith-woocompare table.compare-list { min-width: 0; table-layout: fixed; }
#yith-woocompare table.compare-list tr .filler { display: none !important; }
#yith-woocompare table.compare-list tbody th:not(.filler),
#yith-woocompare table.compare-list tbody td:not(.filler) { min-width: 0; width: auto; }
#yith-woocompare table.compare-list tbody th:not(.filler) { width: 22%; }
#yith-woocompare table.dataTable.compare-list:not(.compact) tbody td { padding-inline: 18px; }
#yith-woocompare .dataTables_scrollBody { overflow-x: auto !important; }
#yith-woocompare-table .product_info th { padding: 28px 20px; background: linear-gradient(145deg, var(--hb-navy), var(--hb-teal)); color: #fff; font-size: 1.45rem; font-weight: 750; letter-spacing: -.035em; line-height: 1.12; text-transform: none; }
#yith-woocompare-table .product_info th > p { display: none; }
#yith-woocompare-table .product_info td { padding: 22px 18px 24px; }
#yith-woocompare-table .add_to_cart_wrap { display: grid; gap: 8px; justify-items: center; margin-top: 16px; }
#yith-woocompare-table .hb-loop-add-to-cart { display: inline-flex !important; width: auto !important; min-width: 138px; min-height: 42px; margin: 0 !important; padding: 9px 14px !important; justify-content: center; font-size: .76rem !important; }
#yith-woocompare-table .hb-loop-buy-now { display: none !important; }
#yith-woocompare-table tr.remove { display: none; }
#yith-woocompare-table .image-overlay .remove { display: block !important; }
#yith-woocompare-table .image-wrap:hover .image-overlay .remove a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; }
#yith-woocompare-table .image-wrap:hover .image-overlay .remove a::after { line-height: 1; }
@media (max-width: 760px) {
  #yith-woocompare { padding: 0; }
  #yith-woocompare-table { min-width: 620px; }
  #yith-woocompare-table th,#yith-woocompare-table td { padding: 12px; }
  #yith-woocompare-table .product_info th { width: 135px !important; padding: 18px 12px; font-size: 1.12rem; }
  #yith-woocompare-table .product_info td { min-width: 210px; padding: 16px 12px; }
  #yith-woocompare-table .image-wrap img { height: 140px; }
}

/* Responsive catalog filters. */
@media (max-width: 1024px) {
  .hb-shop-layout { grid-template-columns: 218px minmax(0, 1fr); gap: 22px; }
  .hb-shop-filters { padding: 15px; }
}
@media (max-width: 900px) {
  .hb-shop-layout { display: block; }
  .hb-shop-filter-toggle { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
  .hb-shop-filter-toggle-label { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; margin: 4px 0 14px; padding: 10px 14px; border: 1px solid #e2dcd3; border-radius: 10px; background: #fff; box-shadow: 0 5px 16px rgba(23,58,71,.04); color: var(--hb-navy); font-size: .82rem; font-weight: 800; cursor: pointer; }
  .hb-shop-filter-toggle-label span:last-child { font-size: 1.15rem; font-weight: 500; transition: transform .18s ease; }
  .hb-shop-filter-toggle:focus-visible + .hb-shop-filter-toggle-label { outline: 3px solid rgba(47,120,145,.22); outline-offset: 2px; }
  .hb-shop-filters { display: none; position: static; margin: 0 0 20px; padding: 16px; }
  .hb-shop-filter-toggle:checked + .hb-shop-filter-toggle-label { border-color: var(--hb-teal); color: var(--hb-teal); }
  .hb-shop-filter-toggle:checked + .hb-shop-filter-toggle-label span:last-child { transform: rotate(45deg); }
  .hb-shop-filter-toggle:checked ~ .hb-shop-filters { display: block; }
  .hb-shop-results .woocommerce-pagination { margin-top: 48px; }
}

/* Late cart refinements intentionally follow WooCommerce's shared rules. */
.hb-cart-page__header h1 { font-size: clamp(1.9rem,2.5vw,2.65rem); }
.woocommerce a.remove.hb-cart-item__remove {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  align-items: center;
  color: #89999e !important;
  font-size: .65rem !important;
  font-weight: 650;
  line-height: 1.3;
}
.woocommerce a.remove.hb-cart-item__remove:hover { background: transparent !important; color: #a84949 !important; }
.hb-cart-assurances { margin-bottom: 16px; }
.hb-cart-upsells--cart { width: 65.7%; max-width: none; }
.hb-content article.hb-cart-item,
.hb-content article.hb-cart-upsell-product { width: 100%; max-width: none; margin: 0; }
body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) { display: grid; gap: 9px; margin-bottom: 18px; }
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error { min-height: 50px; margin: 0; padding: 12px 128px 12px 45px; font-size: .74rem; }
body.woocommerce-cart .woocommerce-notices-wrapper .button { min-height: 30px; padding: 5px 13px; border-radius: 7px; font-size: .65rem; }
@media (max-width: 1040px) {
  .hb-cart-upsells--cart { width: 62%; }
}
@media (max-width: 860px) {
  .hb-cart-upsells--cart { width: 100%; }
}
@media (max-width: 680px) {
  body.woocommerce-cart { overflow-x: hidden; }
  .hb-cart-page,
  .hb-cart-layout,
  .hb-cart-items,
  .hb-cart-summary-wrap,
  .woocommerce .hb-cart-summary { min-width: 0; max-width: 100%; }
  .hb-cart-page { overflow: hidden; }
  .hb-cart-page__header h1 { max-width: 100%; overflow-wrap: anywhere; }
  .hb-cart-steps { min-width: 0; overflow: hidden; }
  .hb-cart-steps li { min-width: 0; }
  .hb-cart-shipping-progress,
  .hb-cart-item,
  .hb-cart-summary,
  .hb-cart-upsell-product { overflow: hidden; }
  .hb-cart-item__copy h2,
  .hb-cart-item__copy h2 a,
  .hb-cart-upsell-name { overflow-wrap: anywhere; white-space: normal; }
  .woocommerce-cart-form.hb-cart-items { overflow: visible; }
  .hb-cart-items__actions { flex-wrap: wrap; }
  .woocommerce .hb-cart-items__actions .button { flex: 0 0 auto; }
  .woocommerce a.remove.hb-cart-item__remove { position: absolute; right: 12px; bottom: 15px; font-size: 0 !important; }
  .hb-cart-coupon > div { grid-template-columns: minmax(0,1fr) 72px; }
  .hb-cart-coupon button { width: 100%; padding-inline: 6px; }
  .woocommerce .hb-cart-summary table.shop_table_responsive tr { display: table-row; }
  .woocommerce .hb-cart-summary table.shop_table_responsive th,
  .woocommerce .hb-cart-summary table.shop_table_responsive td { display: table-cell; width: auto; background: transparent; text-align: left !important; }
  .woocommerce .hb-cart-summary table.shop_table_responsive td { text-align: right !important; }
  .woocommerce .hb-cart-summary table.shop_table_responsive td::before { display: none; }
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error { padding: 12px 14px 12px 42px; }
  body.woocommerce-cart .woocommerce-notices-wrapper .button { display: none; }
}

/* Wishlist page: a calm, editorial workspace for saved pieces. */
body.woocommerce-wishlist { background: #f7f5f1; }
body.woocommerce-wishlist .hb-content { display: none; }
body.woocommerce-wishlist .site-footer { margin-top: 0; }
.hb-wishlist-page { padding: clamp(34px,5vw,70px) 0 clamp(76px,8vw,124px); background: radial-gradient(circle at 83% 6%,rgba(217,169,185,.12),transparent 26rem),#f7f5f1; }
.hb-wishlist-shell { width: min(calc(100% - 40px),1180px); }
.hb-wishlist-breadcrumb { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; color: #8a969a; font-size: .72rem; font-weight: 650; }
.hb-wishlist-breadcrumb a { display: inline-flex; align-items: center; gap: 6px; color: #73868d; text-decoration: none; }
.hb-wishlist-breadcrumb a:hover { color: var(--hb-navy); }
.hb-wishlist-breadcrumb strong { color: var(--hb-ink); }
.hb-wishlist-hero { display: flex; align-items: end; justify-content: space-between; gap: 34px; padding-bottom: 24px; border-bottom: 1px solid #ded9d1; }
.hb-wishlist-hero__copy { display: flex; align-items: flex-start; gap: 15px; max-width: 700px; }
.hb-wishlist-title-icon { display: grid; place-items: center; flex: 0 0 auto; width: 45px; height: 45px; margin-top: 8px; border-radius: 50%; background: #fce9ee; color: #e94f77; }
.hb-wishlist-title-icon svg { width: 21px; height: 21px; fill: currentColor; stroke-width: 1.4; }
.hb-wishlist-hero .hb-section-kicker { margin: 0 0 5px; color: #aa7b45; font-size: .65rem; letter-spacing: .13em; }
.hb-wishlist-hero h1 { margin: 0; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: clamp(2rem,4vw,3rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.04; }
.hb-wishlist-hero p:last-child { max-width: 630px; margin: 9px 0 0; color: #718188; font-size: .86rem; line-height: 1.55; }
.hb-wishlist-hero__actions { display: flex; gap: 10px; flex: 0 0 auto; }
.hb-wishlist-button { display: inline-flex; min-height: 46px; padding: 10px 17px; align-items: center; justify-content: center; gap: 9px; border: 1px solid var(--hb-navy); border-radius: 10px; background: var(--hb-navy); box-shadow: 0 4px 10px rgba(23,58,71,.12); color: #fff; font: inherit; font-size: .74rem; font-weight: 800; text-decoration: none; cursor: pointer; transition: border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease; }
.hb-wishlist-button:hover { border-color: var(--hb-teal); background: var(--hb-teal); color: #fff; transform: translateY(-1px); }
.hb-wishlist-button svg { width: 17px; height: 17px; }
.hb-wishlist-button--ghost { border-color: #d8d2c8; background: #fff; box-shadow: none; color: var(--hb-navy); }
.hb-wishlist-button--ghost:hover { border-color: var(--hb-navy); background: #fff; color: var(--hb-navy); }
.hb-wishlist-button--ghost svg { transform: rotate(135deg); }
.hb-wishlist-button[disabled] { opacity: .66; cursor: progress; transform: none; }
.hb-wishlist-shipping { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(220px,330px); align-items: center; gap: 15px; margin: 20px 0 28px; padding: 16px 20px; border-radius: 15px; background: linear-gradient(110deg,#173e4d,#1e5364); box-shadow: 0 9px 22px rgba(23,58,71,.12); color: #fff; }
.hb-wishlist-shipping__icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(241,201,73,.35); border-radius: 11px; background: rgba(241,201,73,.12); color: #f4c933; }
.hb-wishlist-shipping__icon svg { width: 21px; height: 21px; }
.hb-wishlist-shipping__copy strong,.hb-wishlist-shipping__copy span { display: block; }
.hb-wishlist-shipping__copy strong { margin-bottom: 3px; color: #ffd44d; font-size: .75rem; letter-spacing: .015em; text-transform: uppercase; }
.hb-wishlist-shipping__copy strong .woocommerce-Price-amount { color: inherit; }
.hb-wishlist-shipping__copy span { color: #e4edf0; font-size: .7rem; line-height: 1.45; }
.hb-wishlist-shipping__meter { min-width: 0; }
.hb-wishlist-shipping__meter > div { height: 4px; overflow: hidden; border-radius: 3px; background: rgba(255,255,255,.25); }
.hb-wishlist-shipping__meter > div span { display: block; height: 100%; border-radius: inherit; background: #f4c933; transition: width .25s ease; }
.hb-wishlist-shipping__meter small { display: block; margin-top: 6px; color: #d4e1e4; font-size: .61rem; text-align: right; }
.hb-wishlist-shipping__meter .woocommerce-Price-amount { color: inherit; }
.hb-wishlist-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 28px; align-items: start; }
.hb-wishlist-main { min-width: 0; }
.hb-wishlist-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 13px 14px; border: 1px solid #e1dbd2; border-radius: 13px; background: rgba(255,255,255,.9); box-shadow: 0 5px 16px rgba(23,58,71,.035); }
.hb-wishlist-search { position: relative; display: block; flex: 1; max-width: 360px; }
.hb-wishlist-search svg { position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; color: #91a0a5; transform: translateY(-50%); pointer-events: none; }
.hb-wishlist-search input { width: 100%; height: 40px; padding: 8px 13px 8px 37px; border: 1px solid #ded8cf; border-radius: 9px; background: #fbfaf8; color: var(--hb-ink); font: inherit; font-size: .73rem; outline: none; }
.hb-wishlist-search input:focus { border-color: var(--hb-teal); box-shadow: 0 0 0 3px rgba(47,120,145,.11); }
.hb-wishlist-toolbar__meta { display: flex; align-items: center; gap: 8px; }
.hb-wishlist-toolbar select { height: 40px; min-width: 150px; padding: 7px 31px 7px 11px; border: 1px solid #ded8cf; border-radius: 9px; background-color: #fff; color: var(--hb-navy); font: inherit; font-size: .7rem; font-weight: 700; }
.hb-wishlist-stock-filter { min-height: 38px; padding: 7px 12px; border: 1px solid #ded8cf; border-radius: 999px; background: #fff; color: #667980; font: inherit; font-size: .68rem; font-weight: 750; cursor: pointer; }
.hb-wishlist-stock-filter[aria-pressed="true"] { border-color: #8ac6aa; background: #edf9f2; color: #257552; }
.hb-wishlist-plugin .wishlist-title-container { display: none !important; }
.hb-wishlist-plugin .woocommerce { margin: 0; }
.hb-wishlist-plugin .wishlist-fragment { max-width: none; }
.hb-wishlist-plugin table.wishlist_view.traditional { display: block !important; width: 100%; margin: 0; border: 0; border-radius: 0; background: transparent; }
.hb-wishlist-plugin table.wishlist_view.traditional thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.hb-wishlist-plugin table.wishlist_view.traditional tbody.wishlist-items-wrapper { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.hb-wishlist-plugin table.wishlist_view.traditional tbody > tr { position: relative; display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid #e2dcd3; border-radius: 16px; background: #fff; box-shadow: 0 7px 20px rgba(23,58,71,.055); transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.hb-wishlist-plugin table.wishlist_view.traditional tbody > tr:not(.wishlist-pagination):hover { border-color: #d2c9bd; box-shadow: 0 13px 30px rgba(23,58,71,.09); transform: translateY(-2px); }
.hb-wishlist-plugin table.wishlist_view.traditional td { display: block; width: auto; padding: 0; border: 0; background: transparent; text-align: left; }
.hb-wishlist-plugin table.wishlist_view.traditional td::before { display: none !important; }
.hb-wishlist-plugin .product-thumbnail { order: 1; }
.hb-wishlist-plugin .product-thumbnail a { display: block; overflow: hidden; background: #f3f1ed; }
.hb-wishlist-plugin .product-thumbnail img { display: block; width: 100% !important; height: auto; aspect-ratio: 4/3; margin: 0; object-fit: cover; transition: transform .35s ease; }
.hb-wishlist-plugin tr:hover .product-thumbnail img { transform: scale(1.018); }
.hb-wishlist-plugin .product-name { order: 2; padding: 16px 16px 5px !important; }
.hb-wishlist-plugin .product-name > a { display: block; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: 1rem; font-weight: 600; line-height: 1.32; text-decoration: none; }
.hb-wishlist-plugin .product-name dl.variation { margin: 8px 0 0; color: #718188; font-size: .68rem; }
.hb-wishlist-plugin .product-price { order: 3; padding: 4px 16px 7px !important; color: var(--hb-navy); font-size: .92rem; font-weight: 800; }
.hb-wishlist-plugin .product-price del { margin-right: 5px; color: #a0aaad; font-size: .72rem; font-weight: 500; }
.hb-wishlist-plugin .product-price ins { text-decoration: none; }
.hb-wishlist-plugin .product-stock-status { order: 4; padding: 4px 16px 14px !important; }
.hb-wishlist-plugin .wishlist-in-stock,.hb-wishlist-plugin .wishlist-out-of-stock { display: inline-flex; align-items: center; gap: 5px; min-height: 24px; padding: 4px 8px; border-radius: 999px; font-size: .63rem; font-weight: 800; }
.hb-wishlist-plugin .wishlist-in-stock { background: #eaf8ef; color: #21805a; }
.hb-wishlist-plugin .wishlist-in-stock::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.hb-wishlist-plugin .wishlist-out-of-stock { background: #f8eded; color: #a84949; }
.hb-wishlist-plugin .product-add-to-cart { order: 5; display: grid !important; grid-template-columns: 1fr; gap: 7px; margin-top: auto; padding: 0 16px 16px !important; }
.woocommerce .hb-wishlist-plugin .product-add-to-cart .button { display: inline-flex !important; width: 100% !important; min-height: 43px; margin: 0 !important; align-items: center; justify-content: center; border-radius: 9px; font-size: .69rem !important; }
.woocommerce .hb-wishlist-plugin .product-add-to-cart .hb-loop-buy-now { min-height: 36px; border: 1px solid #ded8cf !important; background: #faf9f7 !important; color: var(--hb-navy) !important; box-shadow: none; }
.woocommerce .hb-wishlist-plugin .product-add-to-cart .hb-loop-buy-now:hover { border-color: var(--hb-navy) !important; background: #fff !important; }
.hb-wishlist-plugin .dateadded { display: block; margin-bottom: 5px; color: #95a0a4; font-size: .6rem; text-align: center; }
.hb-wishlist-plugin td.product-remove { position: absolute; z-index: 4; top: 12px; right: 12px; }
.woocommerce .hb-wishlist-plugin td.product-remove a.remove { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(214,211,204,.92); border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 3px 8px rgba(23,58,71,.08); color: #809096 !important; font-size: 0; text-decoration: none; backdrop-filter: blur(6px); }
.woocommerce .hb-wishlist-plugin td.product-remove a.remove::before { content: "\00d7"; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.woocommerce .hb-wishlist-plugin td.product-remove a.remove:hover { border-color: #efd5d5; background: #fff5f5; color: #a84949 !important; }
.hb-wishlist-plugin td.product-checkbox { position: absolute; z-index: 4; top: 15px; left: 15px; }
.hb-wishlist-plugin td.product-checkbox input { width: 17px; height: 17px; margin: 0; accent-color: var(--hb-teal); }
.hb-wishlist-plugin table.wishlist_view.traditional tbody > tr:has(.wishlist-empty) { grid-column: 1/-1; min-height: 360px; align-items: center; justify-content: center; border-style: dashed; box-shadow: none; text-align: center; }
.hb-wishlist-plugin table.wishlist_view.traditional tbody > tr:has(.wishlist-empty)::before { content: "\2661"; display: grid; width: 74px; height: 74px; margin-bottom: 15px; place-items: center; border-radius: 50%; background: #fce9ee; color: #e94f77; font-family: Georgia,"Times New Roman",serif; font-size: 2.6rem; line-height: 1; }
.hb-wishlist-plugin td.wishlist-empty { padding: 0 22px !important; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: 1.15rem; }
.hb-wishlist-plugin .wishlist-pagination { grid-column: 1/-1; padding: 15px !important; }
.hb-wishlist-plugin ul.wishlist_view.mobile { display: none !important; }
.hb-wishlist-plugin .yith_wcwl_wishlist_footer { margin-top: 18px; }
.hb-wishlist-plugin .yith_wcwl_wishlist_bulk_action,.hb-wishlist-plugin .yith_wcwl_wishlist_update { margin: 0 0 12px; }
.hb-wishlist-plugin .yith_wcwl_footer_additional_action { display: flex; justify-content: flex-end; margin: 14px 0; }
.hb-wishlist-plugin .yith-wcwl-share { scroll-margin-top: 130px; margin-top: 18px; padding: 18px 20px; border: 1px solid #e2dcd3; border-radius: 14px; background: #fff; box-shadow: 0 6px 18px rgba(23,58,71,.04); }
.hb-wishlist-plugin .yith-wcwl-share-title { margin: 0 0 12px; color: var(--hb-navy); font-family: inherit; font-size: .73rem; font-weight: 800; }
.hb-wishlist-plugin .yith-wcwl-share ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.hb-wishlist-plugin .yith-wcwl-share li { margin: 0; list-style: none; }
.hb-wishlist-plugin .yith-wcwl-share a { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #ded8cf; border-radius: 50%; background: #faf9f7; color: var(--hb-navy); text-decoration: none; transition: transform .18s ease,border-color .18s ease; }
.hb-wishlist-plugin .yith-wcwl-share a:hover { border-color: var(--hb-navy); transform: translateY(-1px); }
.hb-wishlist-plugin .yith-wcwl-share svg { width: 16px; height: 16px; }
.hb-wishlist-plugin .yith-wcwl-after-share-section { margin-top: 13px; }
.hb-wishlist-plugin .yith-wcwl-after-share-section input { width: 100%; height: 40px; padding: 8px 11px; border: 1px solid #ded8cf; border-radius: 8px; background: #faf9f7; color: #718188; font-size: .67rem; }
.hb-wishlist-no-results { min-height: 150px; margin: 0; padding: 55px 20px; border: 1px dashed #d8d0c6; border-radius: 14px; background: rgba(255,255,255,.6); color: #75868c; text-align: center; }
.hb-wishlist-sidebar { display: grid; gap: 20px; position: sticky; top: 22px; }
.hb-wishlist-summary-card,.hb-wishlist-recommendations { border: 1px solid #e2dcd3; border-radius: 17px; background: #fff; box-shadow: 0 8px 24px rgba(23,58,71,.065); }
.hb-wishlist-summary-card { padding: 21px; }
.hb-wishlist-summary-card > header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding-bottom: 15px; border-bottom: 1px solid #ece7df; }
.hb-wishlist-summary-card > header > span { color: #e94f77; line-height: 0; }
.hb-wishlist-summary-card > header svg { width: 17px; height: 17px; fill: currentColor; }
.hb-wishlist-summary-card h2 { margin: 0; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: 1rem; }
.hb-wishlist-summary-card > header strong { color: #809096; font-size: .65rem; }
.hb-wishlist-summary-card__rows { display: grid; gap: 9px; padding: 16px 0; border-bottom: 1px solid #ece7df; }
.hb-wishlist-summary-card__rows p { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; color: #718188; font-size: .68rem; }
.hb-wishlist-summary-card__rows strong { color: var(--hb-ink); font-size: .69rem; text-align: right; }
.hb-wishlist-summary-card__rows .is-saving,.hb-wishlist-summary-card__rows .is-saving strong { color: #23815b; }
.hb-wishlist-summary-card__total { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 17px 0 16px; }
.hb-wishlist-summary-card__total > span { color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: .88rem; font-weight: 600; }
.hb-wishlist-summary-card__total small { display: block; margin-top: 2px; color: #9aa4a7; font-family: sans-serif; font-size: .55rem; font-weight: 400; }
.hb-wishlist-summary-card__total > strong { color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: 1.32rem; }
.hb-wishlist-button--wide { width: 100%; min-height: 49px; }
.hb-wishlist-button--wide svg:last-child { margin-left: auto; }
.hb-wishlist-assurances { display: grid; gap: 9px; margin-top: 16px; padding-top: 15px; border-top: 1px solid #ece7df; }
.hb-wishlist-assurances p { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: #718188; font-size: .61rem; line-height: 1.4; }
.hb-wishlist-assurances svg { flex: 0 0 auto; width: 15px; height: 15px; color: var(--hb-teal); }
.hb-wishlist-recommendations { padding: 19px; }
.hb-wishlist-recommendations > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.hb-wishlist-recommendations .hb-section-kicker { margin: 0; color: #aa6e36; font-size: .61rem; }
.hb-wishlist-recommendations > header a { color: #7d8f95; font-size: .6rem; text-decoration: none; }
.hb-wishlist-recommendations > div { display: grid; gap: 11px; }
.hb-wishlist-recommendation { display: grid; grid-template-columns: 50px minmax(0,1fr) 28px; align-items: center; gap: 10px; }
.hb-wishlist-recommendation__image { display: block; overflow: hidden; border-radius: 8px; background: #f3f1ed; }
.hb-wishlist-recommendation__image img { display: block; width: 50px; height: 55px; object-fit: cover; }
.hb-wishlist-recommendation > div > a { display: -webkit-box; overflow: hidden; color: var(--hb-navy); font-size: .67rem; font-weight: 700; line-height: 1.3; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.hb-wishlist-recommendation > div > span { display: block; margin-top: 4px; color: #65777e; font-size: .63rem; }
.hb-wishlist-recommendation__save { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #ded8cf; border-radius: 50%; color: var(--hb-navy); }
.hb-wishlist-recommendation__save svg { width: 13px; height: 13px; }

@media (max-width: 980px) {
  .hb-wishlist-layout { grid-template-columns: minmax(0,1fr) 295px; gap: 20px; }
  .hb-wishlist-shipping { grid-template-columns: auto minmax(0,1fr) 220px; }
  .hb-wishlist-plugin table.wishlist_view.traditional tbody.wishlist-items-wrapper { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .hb-wishlist-page { padding-top: 28px; }
  .hb-wishlist-shell { width: min(calc(100% - 28px),1180px); }
  .hb-wishlist-hero { align-items: flex-start; flex-direction: column; }
  .hb-wishlist-hero__actions { width: 100%; }
  .hb-wishlist-hero__actions .hb-wishlist-button { flex: 1; }
  .hb-wishlist-shipping { grid-template-columns: auto minmax(0,1fr); }
  .hb-wishlist-shipping__meter { grid-column: 1/-1; }
  .hb-wishlist-layout { grid-template-columns: 1fr; }
  .hb-wishlist-sidebar { position: static; }
  .hb-wishlist-plugin table.wishlist_view.traditional tbody.wishlist-items-wrapper { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .hb-wishlist-breadcrumb { margin-bottom: 14px; }
  .hb-wishlist-hero__copy { gap: 11px; }
  .hb-wishlist-title-icon { width: 39px; height: 39px; margin-top: 6px; }
  .hb-wishlist-hero h1 { font-size: 2rem; }
  .hb-wishlist-hero__actions { flex-direction: column; }
  .hb-wishlist-shipping { padding: 15px; }
  .hb-wishlist-toolbar { align-items: stretch; flex-direction: column; }
  .hb-wishlist-search { max-width: none; }
  .hb-wishlist-toolbar__meta { justify-content: space-between; }
  .hb-wishlist-toolbar select { min-width: 0; width: 100%; }
  .hb-wishlist-toolbar__meta label { flex: 1; }
  .hb-wishlist-plugin table.wishlist_view.traditional tbody.wishlist-items-wrapper { grid-template-columns: 1fr; }
  .hb-wishlist-plugin .product-thumbnail img { aspect-ratio: 5/4; }
}

/* =========================================================
   Editorial single-product experience
   ========================================================= */
.single-product { background: #f8f6f1; }
.single-product .hb-woo { padding: 28px 0 84px; }
.single-product .hb-woo > .hb-container { width: min(calc(100% - 32px), 1240px); }
.single-product.woocommerce .woocommerce-breadcrumb { margin: 0 0 20px; color: #859297; font-size: 1rem; line-height: 1.5; }
.single-product.woocommerce .woocommerce-breadcrumb a { color: #60767e; }
.single-product.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0,1.13fr) minmax(390px,.87fr);
  gap: 28px;
  align-items: start;
}
.single-product.woocommerce div.product > .hb-product-gallery-column { grid-column: 1; min-width: 0; }
.single-product.woocommerce div.product > .summary { grid-column: 2; min-width: 0; }
.single-product.woocommerce div.product > .woocommerce-tabs,
.single-product.woocommerce div.product > .hb-product-reviews-section,
.single-product.woocommerce div.product > .hb-product-pairing,
.single-product.woocommerce div.product > .upsells,
.single-product.woocommerce div.product > .related { grid-column: 1/-1; width: 100%; }

/* Gallery card */
.hb-product-gallery-column { position: relative; }
.single-product.woocommerce div.product .hb-product-gallery-column > .onsale {
  z-index: 3;
  top: 14px;
  left: 14px;
  min-width: 0;
  min-height: 0;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--hb-navy);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.single-product.woocommerce div.product .hb-product-gallery-column .woocommerce-product-gallery { float: none; width: 100% !important; margin: 0; }
.single-product.woocommerce div.product .hb-product-gallery-column .woocommerce-product-gallery__wrapper,
.single-product.woocommerce div.product .hb-product-gallery-column .flex-viewport { border-radius: 18px; background: #ecebe8; }
.single-product.woocommerce div.product .hb-product-gallery-column .woocommerce-product-gallery__image:first-child a { border-radius: 18px; }
.single-product.woocommerce div.product .hb-product-gallery-column .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  height: auto;
  border: 0;
  border-radius: 18px;
  object-fit: cover;
  object-position: center;
}
.single-product.woocommerce div.product .hb-product-gallery-column .woocommerce-product-gallery__trigger {
  top: 14px;
  right: 14px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.8);
  background: rgba(255,255,255,.9);
  box-shadow: 0 5px 18px rgba(23,58,71,.12);
}
.single-product.woocommerce div.product .hb-product-gallery-column .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 9px;
  margin: 10px 0 0 !important;
}
.single-product.woocommerce div.product .hb-product-gallery-column .flex-control-thumbs li { width: auto; margin: 0; }
.single-product.woocommerce div.product .hb-product-gallery-column .flex-control-thumbs img {
  width: 100%;
  min-height: 0;
  aspect-ratio: 1/1;
  border: 2px solid transparent;
  border-radius: 11px;
  object-fit: cover;
  opacity: .72;
}
.single-product.woocommerce div.product .hb-product-gallery-column .flex-control-thumbs img.flex-active { border-color: var(--hb-navy); opacity: 1; }
.hb-product-thumb-carousel {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 38px;
  gap: 9px;
  align-items: center;
  margin-top: 12px;
}
.single-product.woocommerce div.product .hb-product-gallery-column .hb-product-thumb-carousel .flex-control-thumbs {
  display: flex;
  min-width: 0;
  gap: 9px;
  margin: 0 !important;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.single-product.woocommerce div.product .hb-product-gallery-column .hb-product-thumb-carousel .flex-control-thumbs::-webkit-scrollbar { display: none; }
.single-product.woocommerce div.product .hb-product-gallery-column .hb-product-thumb-carousel .flex-control-thumbs li {
  flex: 0 0 calc((100% - 36px)/5);
  scroll-snap-align: start;
}
.hb-product-thumb-carousel__button {
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  place-items: center;
  border: 1px solid #d9dddc;
  border-radius: 50%;
  background: #fff;
  color: var(--hb-navy);
  box-shadow: 0 4px 12px rgba(23,58,71,.08);
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, opacity .18s ease;
}
.hb-product-thumb-carousel__button:hover:not(:disabled),
.hb-product-thumb-carousel__button:focus-visible { border-color: var(--hb-teal); background: var(--hb-teal); color: #fff; }
.hb-product-thumb-carousel__button:disabled { opacity: .32; cursor: default; }
.hb-product-thumb-carousel__button span { font-size: 23px; line-height: 1; transform: translateY(-1px); }
.hb-product-gallery-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 13px; }
.hb-product-gallery-benefits > div { display: flex; min-width: 0; min-height: 92px; padding: 14px; align-items: center; justify-content: center; gap: 10px; border: 1px solid #e3ddd4; border-radius: 12px; background: #fff; text-align: left; }
.hb-product-gallery-benefits > div > span { display: grid; flex: 0 0 auto; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #eef5f6; color: var(--hb-teal); }
.hb-product-gallery-benefits svg { width: 15px; height: 15px; }
.hb-product-gallery-benefits p { margin: 0; }
.hb-product-gallery-benefits strong,.hb-product-gallery-benefits small { display: block; }
.hb-product-gallery-benefits strong { color: var(--hb-navy); font-size: 1rem; line-height: 1.35; }
.hb-product-gallery-benefits small { margin-top: 4px; color: #6f7e84; font-size: 1rem; line-height: 1.45; }

/* Purchase card */
.single-product.woocommerce div.product > .summary {
  position: static !important;
  align-self: start;
  margin: 0;
  padding: 24px;
  border: 1px solid #e2dcd3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(23,58,71,.09);
}
.hb-product-intro { display: flex; min-height: 28px; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: #657980; font-size: 1rem; line-height: 1.35; letter-spacing: .05em; text-transform: uppercase; }
.hb-product-intro span { color: var(--hb-teal); font-weight: 800; }
.hb-product-intro small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.single-product.woocommerce div.product > .summary .product_title { margin: 0 0 8px; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.72rem,2.5vw,2.35rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; }
.hb-product-social-proof { display: flex; min-height: 28px; align-items: center; gap: 8px; margin-bottom: 12px; color: #6c7f86; font-size: 1rem; }
.hb-product-social-proof .star-rating { float: none; margin: 0; color: #e0a400; font-size: 1rem; }
.hb-product-social-proof a { color: #61777f; text-decoration: none; }
.hb-product-new-marker { display: inline-flex; align-items: center; gap: 6px; color: #8a6a40; font-weight: 700; }
.hb-product-new-marker svg { width: 14px; height: 14px; }
.hb-product-price-card { margin: 0 0 14px; padding: 15px; border: 1px solid #e8e0d6; border-radius: 13px; background: #fbf8f3; }
.hb-product-price-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.single-product.woocommerce div.product .hb-product-price-card .price { display: flex; margin: 0; padding: 0; align-items: baseline; flex-wrap: wrap; gap: 7px; border: 0; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: 1.55rem; font-weight: 700; line-height: 1.1; }
.single-product.woocommerce div.product .hb-product-price-card .price del { color: #7f8b8f; font-family: inherit; font-size: 1rem; font-weight: 500; opacity: 1; }
.single-product.woocommerce div.product .hb-product-price-card .price ins { text-decoration: none; }
.hb-product-saving { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; background: #ffeced; color: #c93649; font-size: 1rem; font-weight: 800; text-transform: uppercase; }
.hb-product-payment-note { display: flex; align-items: center; gap: 7px; margin-top: 10px; color: #707e82; font-size: 1rem; line-height: 1.5; }
.hb-product-payment-note svg { width: 13px; height: 13px; color: var(--hb-teal); }
.single-product .woocommerce-product-details__short-description { margin: 0 0 15px; color: #53666e; font-size: 1.0625rem; line-height: 1.65; }
.hb-product-availability { display: flex; padding: 10px 11px; align-items: center; gap: 9px; border: 1px solid #ece3d7; border-radius: 10px; background: #fffbf2; }
.hb-product-availability > span { display: grid; flex: 0 0 auto; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #fff; color: #2c8d64; }
.hb-product-availability svg { width: 15px; height: 15px; }
.hb-product-availability p { margin: 0; color: #405d53; font-size: 1rem; font-weight: 800; }
.single-product.woocommerce div.product .hb-product-availability p.stock { color: #2f755a; }
.hb-product-availability small { display: block; margin-top: 3px; color: #846c4b; font-size: 1rem; line-height: 1.45; }
.single-product.woocommerce div.product > .summary form.cart { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 9px; margin: 14px 0 0; }
.single-product.woocommerce div.product > .summary form.cart .hb-quantity { width: 100%; grid-column: 1; }
.single-product.woocommerce div.product > .summary form.cart .single_add_to_cart_button { grid-column: 2; margin: 0; }
.single-product.woocommerce div.product > .summary form.cart .hb-single-buy-now { grid-column: 1/-1; display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--hb-navy) !important; background: #fff !important; color: var(--hb-navy) !important; }
.single-product.woocommerce div.product > .summary form.cart .hb-single-buy-now:hover { background: #f0f6f7 !important; color: var(--hb-navy) !important; }
.hb-single-buy-now svg { width: 15px; height: 15px; }
.single-product.woocommerce div.product > .summary form.variations_form.cart { display: block; margin-top: 14px; }
.hb-variation-submit-message { margin: 9px 0 11px; padding: 11px 13px; border: 1px solid #dce8e4; border-radius: 9px; background: #f2f8f5; color: #376b57; font-size: 1rem; font-weight: 700; line-height: 1.5; }
.single-product.woocommerce div.product > .summary form.variations_form.cart .variations { margin-bottom: 10px; }
.single-product.woocommerce div.product > .summary .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 9px; }
.single-product.woocommerce div.product > .summary .woocommerce-variation-add-to-cart .hb-single-buy-now { grid-column: 1/-1; }
.single-product.woocommerce div.product > .summary .yith-add-to-wishlist-button-block { margin: 10px 0 0; }
.single-product.woocommerce div.product > .summary .yith-wcwl-add-to-wishlist-button { display: inline-flex; min-height: 40px; padding: 7px 0; align-items: center; gap: 8px; color: #566b73; font-size: 1rem; text-decoration: none; }
.single-product.woocommerce div.product > .summary .yith-wcwl-icon { width: 17px; height: 17px; color: #e34c6b; }
.single-product .hb-product-assurances { display: grid; grid-template-columns: 1fr; margin: 11px 0 0; overflow: hidden; border: 1px solid #e5dfd7; border-radius: 11px; background: #fff; }
.single-product .hb-product-assurances > div { min-height: 68px; padding: 11px 12px; gap: 10px; border: 0; border-top: 1px solid #eee9e3; }
.single-product .hb-product-assurances > div:first-child { border-top: 0; }
.single-product .hb-product-assurances > div > span { width: 26px; height: 26px; }
.single-product .hb-product-assurances svg { width: 14px; height: 14px; }
.single-product .hb-product-assurances strong { font-size: 1rem; line-height: 1.35; }
.single-product .hb-product-assurances small { margin-top: 3px; font-size: 1rem; line-height: 1.45; }
.single-product .hb-product-information { margin-top: 11px; padding: 10px 0 0; }
.single-product .hb-product-information h2 { margin-bottom: 7px; font-size: 1.0625rem; text-transform: uppercase; letter-spacing: .04em; }
.single-product .hb-product-information dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 14px; }
.single-product .hb-product-information dl > div { display: block; padding: 8px 0; font-size: 1rem; line-height: 1.45; }
.single-product .hb-product-information dt { margin-bottom: 2px; }
.single-product .hb-product-information dd { font-size: 1rem; }

/* Editorial content cards */
.single-product.woocommerce div.product .woocommerce-tabs { margin: 22px 0 0; }
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 2px; padding: 0 12px; border: 1px solid #e2dcd3; border-radius: 16px 16px 0 0; background: #faf8f4; }
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height: 52px; padding: 13px 18px; border-radius: 0; font-size: 1rem; }
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff; box-shadow: inset 0 -2px var(--hb-navy); }
.single-product.woocommerce div.product .woocommerce-tabs .panel { min-height: 0; padding: 28px 32px; border-color: #e2dcd3; border-radius: 0 0 16px 16px; box-shadow: 0 10px 25px rgba(23,58,71,.055); font-size: 1rem; line-height: 1.65; }
.single-product.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: 1.38rem; }
.hb-section-heading > span { display: block; margin-bottom: 5px; color: #597780; font-size: 1rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.hb-section-heading h2 { margin: 0; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: 1.42rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.hb-product-care-content > p { max-width: 760px; color: #64757b; }
.hb-product-care-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.hb-product-care-steps > div { padding: 15px; border: 1px solid #e9e2d9; border-radius: 11px; background: #fbf8f3; }
.hb-product-care-steps span { display: grid; width: 32px; height: 32px; margin-bottom: 10px; place-items: center; border-radius: 50%; background: #edf4f5; color: var(--hb-teal); font-size: 1rem; font-weight: 800; }
.hb-product-care-steps strong,.hb-product-care-steps small { display: block; }
.hb-product-care-steps strong { color: var(--hb-navy); font-size: 1rem; }
.hb-product-care-steps small { margin-top: 6px; color: #687a81; font-size: 1rem; line-height: 1.55; }

.hb-product-reviews-section,.hb-product-pairing { margin-top: 14px; padding: 28px 32px; border: 1px solid #e2dcd3; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(23,58,71,.055); }
.hb-product-reviews-header,.hb-product-pairing > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid #eee8e0; }
.woocommerce .hb-product-review-cta { min-height: 44px; padding: 10px 16px; font-size: 1rem; }
.hb-product-rating-summary { display: flex; align-items: center; gap: 16px; padding: 19px 0; border-bottom: 1px solid #eee8e0; }
.hb-product-rating-summary > strong { color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: 2.15rem; line-height: 1; }
.hb-product-rating-summary > div { display: grid; gap: 4px; }
.hb-product-rating-summary .star-rating { float: none; color: #e0a400; }
.hb-product-rating-summary small { color: #6e7f85; font-size: 1rem; }
.hb-awaiting-reviews { color: #627981; font-size: 1rem; font-weight: 700; }
.hb-product-reviews-native { padding-top: 19px; }
.hb-product-reviews-native .woocommerce-Reviews-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.single-product.woocommerce div.product .hb-product-reviews-native #review_form_wrapper { display: none; }
.single-product.woocommerce div.product .hb-product-reviews-section.is-review-form-open .hb-product-reviews-native #review_form_wrapper { display: block; animation: hbReviewReveal .2s ease-out; }
.single-product.woocommerce div.product .hb-product-reviews-section:not(.is-review-form-open) .hb-product-reviews-native #reviews { grid-template-columns: 1fr; }
.single-product.woocommerce div.product .hb-product-reviews-section:not(.is-review-form-open) .hb-product-reviews-native #comments { max-width: none; }
@keyframes hbReviewReveal { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.single-product.woocommerce div.product .hb-product-reviews-native #reviews { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(310px,.85fr); gap: 26px; }
.single-product.woocommerce div.product .hb-product-reviews-native #reviews #comments,
.single-product.woocommerce div.product .hb-product-reviews-native #reviews #review_form_wrapper { width: auto; }

.hb-product-pairing > header > a { display: inline-flex; align-items: center; gap: 7px; color: var(--hb-teal); font-size: 1rem; font-weight: 750; text-decoration: none; }
.hb-product-pairing > header > a svg { width: 14px; height: 14px; }
.hb-product-pairing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding-top: 17px; }
.hb-product-pairing-grid article { display: grid; grid-template-columns: 96px minmax(0,1fr); min-width: 0; overflow: hidden; border: 1px solid #e8e1d8; border-radius: 12px; background: #fdfcfa; }
.hb-product-pairing-image { display: block; background: #eeece8; }
.hb-product-pairing-image img { display: block; width: 96px; height: 110px; object-fit: cover; }
.hb-product-pairing-grid article > div { min-width: 0; padding: 13px 12px; }
.hb-product-pairing-grid small { color: #6d8087; font-size: 1rem; text-transform: uppercase; }
.hb-product-pairing-grid h3 { margin: 6px 0 10px; font-size: 1rem; line-height: 1.4; }
.hb-product-pairing-grid h3 a { color: var(--hb-navy); text-decoration: none; }
.hb-product-pairing-grid article > div > span { color: var(--hb-navy); font-size: 1rem; font-weight: 800; }

.single-product.woocommerce div.product > .related { margin: 22px 0 0; }
.single-product.woocommerce div.product > .related > h2 { margin: 0 0 15px; color: var(--hb-navy); font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.6rem,2.5vw,2.1rem); font-weight: 600; letter-spacing: -.025em; }
.single-product.woocommerce div.product > .related > h2::before { display: block; margin-bottom: 5px; color: #607b84; font-family: sans-serif; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; content: "From the atelier"; }
.single-product.woocommerce div.product > .related ul.products { gap: 15px; }

/* Infinite related-products catalogue. */
.single-product.woocommerce div.product > .hb-infinite-related { grid-column: 1/-1; width: 100%; margin: 26px 0 0; }
.hb-infinite-related > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }
.hb-infinite-related > header .hb-section-heading h2 { font-size: clamp(1.65rem,2.6vw,2.2rem); }
.hb-infinite-related > header > a { display: inline-flex; align-items: center; gap: 7px; color: var(--hb-teal); font-size: 1rem; font-weight: 750; text-decoration: none; }
.hb-infinite-related > header > a svg { width: 15px; height: 15px; }
.woocommerce .hb-infinite-related ul.products.hb-infinite-related-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin: 0; padding: 0; }
.woocommerce .hb-infinite-related ul.products.hb-infinite-related-grid::before,
.woocommerce .hb-infinite-related ul.products.hb-infinite-related-grid::after { display: none; }
.woocommerce .hb-infinite-related ul.products.hb-infinite-related-grid li.product { float: none; width: auto; min-width: 0; margin: 0; }
.woocommerce .hb-infinite-related ul.products.hb-infinite-related-grid li.product > a.woocommerce-LoopProduct-link > img { aspect-ratio: 4/5; object-fit: cover; }
.hb-infinite-related-status { display: flex; min-height: 58px; align-items: center; justify-content: center; gap: 10px; color: #617981; font-size: 1rem; }
.hb-related-loader { width: 17px; height: 17px; border: 2px solid #d7e1e3; border-top-color: var(--hb-teal); border-radius: 50%; animation: hbRelatedSpin .75s linear infinite; }
.hb-related-sentinel { height: 1px; }
@keyframes hbRelatedSpin { to { transform: rotate(360deg); } }

/* Keep every customer-facing product-page label at a readable 16px minimum. */
.single-product .hb-product-intro small,
.single-product.woocommerce div.product p.stock,
.single-product.woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product.woocommerce ul.products li.product .price,
.single-product.woocommerce ul.products li.product .button,
.single-product.woocommerce ul.products li.product span.onsale {
  font-size: 1rem;
}

@media (max-width: 980px) {
  .single-product.woocommerce div.product { grid-template-columns: minmax(0,1fr) minmax(340px,.9fr); gap: 20px; }
  .single-product.woocommerce div.product > .summary { padding: 19px; }
  .hb-product-gallery-benefits { grid-template-columns: 1fr; }
  .hb-product-gallery-benefits > div { min-height: 58px; justify-content: flex-start; }
  .hb-product-pairing-grid { grid-template-columns: 1fr; }
  .single-product.woocommerce div.product .hb-product-reviews-native #reviews { grid-template-columns: 1fr; }
  .woocommerce .hb-infinite-related ul.products.hb-infinite-related-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .single-product .hb-woo { padding-top: 20px; }
  .single-product .hb-woo > .hb-container { width: min(calc(100% - 24px),1240px); }
  .single-product.woocommerce div.product { grid-template-columns: 1fr; gap: 17px; }
  .single-product.woocommerce div.product > .hb-product-gallery-column,
  .single-product.woocommerce div.product > .summary { grid-column: 1; }
  .single-product.woocommerce div.product > .summary { position: static !important; padding: 19px 16px; border-radius: 15px; }
  .single-product.woocommerce div.product .hb-product-gallery-column .woocommerce-product-gallery__image img { border-radius: 14px; }
  .single-product.woocommerce div.product .hb-product-gallery-column .hb-product-thumb-carousel .flex-control-thumbs li { flex-basis: calc((100% - 27px)/4); }
  .hb-product-gallery-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hb-product-gallery-benefits > div { display: grid; min-height: 90px; padding: 10px 7px; place-items: center; gap: 5px; text-align: center; }
  .hb-product-gallery-benefits small { display: none; }
  .single-product.woocommerce div.product .woocommerce-tabs { margin-top: 10px; }
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 7px; }
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 12px; }
  .single-product.woocommerce div.product .woocommerce-tabs .panel,
  .hb-product-reviews-section,.hb-product-pairing { padding: 21px 16px; }
  .hb-product-care-steps { grid-template-columns: 1fr; }
  .hb-product-reviews-header,.hb-product-pairing > header { align-items: flex-start; flex-direction: column; }
  .hb-product-pairing-grid article { grid-template-columns: 86px minmax(0,1fr); }
  .hb-product-pairing-image img { width: 86px; height: 100px; }
  .hb-infinite-related > header { align-items: flex-start; flex-direction: column; }
  .woocommerce .hb-infinite-related ul.products.hb-infinite-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
}
@media (max-width: 430px) {
  .single-product.woocommerce div.product > .summary form.cart,
  .single-product.woocommerce div.product > .summary .woocommerce-variation-add-to-cart { grid-template-columns: 101px minmax(0,1fr); }
  .single-product .hb-product-information dl { grid-template-columns: 1fr; }
}

/* Reorderable Category Products homepage part — storefront collection system. */
.hb-home-product-part {
  --hb-part-gap: 22px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(68px, 7vw, 104px);
  scroll-margin-top: 190px;
  background: var(--hb-part-bg, #fff);
  background-position: center;
  background-size: cover;
}
.hb-home-product-part::before {
  position: absolute;
  z-index: -1;
  top: -190px;
  right: -150px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(47,120,145,.1);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.hb-home-product-part > .hb-container { width: min(calc(100% - 40px), var(--hb-container)); }
.hb-home-product-part--bg-white { --hb-part-bg:#fff; }
.hb-home-product-part--bg-ivory { --hb-part-bg:linear-gradient(180deg,#fcfaf8 0%,#f8f4ef 100%); }
.hb-home-product-part--bg-soft { --hb-part-bg:linear-gradient(145deg,#f9eef2 0%,#f5f8f8 100%); }
.hb-home-product-part--bg-dark { --hb-part-bg:linear-gradient(145deg,#173f4e 0%,#28697d 100%); color:#fff; }
.hb-home-product-part--bg-dark::before { border-color:rgba(255,255,255,.11); box-shadow:0 0 0 74px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018); }

.hb-product-part-head {
  min-height: 126px;
  align-items:flex-end;
  margin-bottom:32px;
  padding-bottom:26px;
  border-bottom:1px solid rgba(36,93,112,.14);
}
.hb-product-part-copy { width:min(100%,760px); }
.hb-product-part-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:11px; }
.hb-product-part-meta .hb-section-kicker { margin:0; }
.hb-product-part-category {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 10px;
  border:1px solid rgba(47,120,145,.18);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:var(--hb-teal);
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.07em;
  line-height:1;
  text-transform:uppercase;
}
.hb-product-part-head h2 { max-width:700px; font-size:clamp(2rem,3.6vw,3.2rem); letter-spacing:-.035em; line-height:1.04; }
.hb-product-part-description { max-width:650px; margin:12px 0 0; color:var(--hb-muted); font-size:.96rem; line-height:1.62; }
.hb-home-product-part--bg-dark .hb-product-part-head { border-bottom-color:rgba(255,255,255,.18); }
.hb-home-product-part--bg-dark h2,
.hb-home-product-part--bg-dark .hb-section-kicker,
.hb-home-product-part--bg-dark .hb-product-part-description { color:#fff; }
.hb-home-product-part--bg-dark .hb-product-part-description { color:rgba(255,255,255,.78); }
.hb-home-product-part--bg-dark .hb-product-part-category { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.1); color:#fff; }

.hb-product-part-actions { display:flex; flex:0 0 auto; align-items:center; gap:14px; }
.hb-product-part-actions .hb-subtle-link {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 16px;
  border:1px solid rgba(36,93,112,.18);
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:var(--hb-navy);
  font-size:.78rem;
  font-weight:750;
  line-height:1;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.hb-product-part-actions .hb-subtle-link::after { content:"→"; font-size:1rem; line-height:1; transition:transform .18s ease; }
.hb-product-part-actions .hb-subtle-link:hover { border-color:var(--hb-teal); background:#fff; color:var(--hb-teal); transform:translateY(-1px); }
.hb-product-part-actions .hb-subtle-link:hover::after { transform:translateX(3px); }
.hb-home-product-part--bg-dark .hb-product-part-actions .hb-subtle-link { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.1); color:#fff; }
.hb-home-product-part--bg-dark .hb-product-part-actions .hb-subtle-link:hover { border-color:#fff; background:#fff; color:var(--hb-navy); }
.hb-product-part-controls { display:flex; gap:8px; }
.hb-product-part-controls button {
  width:42px;
  min-height:42px;
  display:grid;
  padding:0;
  place-items:center;
  border:1px solid rgba(36,93,112,.18);
  border-radius:50%;
  background:#fff;
  color:var(--hb-navy);
  box-shadow:0 5px 16px rgba(23,58,71,.08);
}
.hb-product-part-controls button:hover:not(:disabled) { border-color:var(--hb-teal); background:var(--hb-teal); color:#fff; transform:translateY(-1px); }
.hb-product-part-controls button:disabled { opacity:.34; cursor:default; transform:none; }
.hb-product-part-controls svg { width:17px; height:17px; }
.hb-product-part-controls button:first-child svg { transform:rotate(90deg); }
.hb-product-part-controls button:last-child svg { transform:rotate(-90deg); }

.hb-home-product-part .woocommerce ul.products {
  grid-template-columns:repeat(var(--hb-part-columns,4),minmax(0,1fr));
  gap:var(--hb-part-gap);
  margin:0;
}
.hb-home-product-part .woocommerce ul.products li.product {
  float:none;
  width:auto;
  min-width:0;
  display:flex;
  align-content:flex-start;
  flex-wrap:wrap;
  margin:0;
  padding:10px 10px 14px;
  border:1px solid rgba(36,93,112,.12);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px rgba(23,58,71,.07);
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.hb-home-product-part .woocommerce ul.products li.product:hover { border-color:rgba(47,120,145,.3); box-shadow:0 16px 38px rgba(23,58,71,.13); transform:translateY(-4px); }
.hb-home-product-part .woocommerce ul.products li.product > .woocommerce-LoopProduct-link { width:100%; display:block; overflow:hidden; border-radius:13px 13px 0 0; }
.hb-home-product-part .woocommerce ul.products li.product a img {
  width:100%;
  aspect-ratio:1 / 1.04;
  margin:0 0 14px;
  border:0;
  border-radius:13px;
  background:#f1efeb;
  object-fit:cover;
  transition:transform .38s cubic-bezier(.2,.75,.25,1);
}
.hb-home-product-part .woocommerce ul.products li.product:hover a img { transform:scale(1.025); }
.hb-home-product-part .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height:2.7em;
  display:-webkit-box;
  overflow:hidden;
  margin:0 0 7px;
  padding:0 7px;
  font-size:.93rem;
  font-weight:700;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.hb-home-product-part .woocommerce ul.products li.product .price { width:100%; min-height:24px; margin:0 0 12px; padding:0 7px; font-size:.91rem; }
.hb-home-product-part .woocommerce ul.products li.product .hb-loop-add-to-cart,
.hb-home-product-part .woocommerce ul.products li.product .hb-loop-buy-now { min-height:40px; border-radius:10px; font-size:.74rem; }
.hb-home-product-part[data-columns="2"] { --hb-part-columns:2; }
.hb-home-product-part[data-columns="3"] { --hb-part-columns:3; }
.hb-home-product-part[data-columns="4"] { --hb-part-columns:4; }
.hb-home-product-part[data-columns="5"] { --hb-part-columns:5; --hb-part-gap:18px; }
.hb-home-product-part[data-columns="6"] { --hb-part-columns:6; --hb-part-gap:16px; }

.hb-product-part-products.is-carousel { margin-inline:-5px; padding:5px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.hb-product-part-products.is-carousel::-webkit-scrollbar { display:none; }
.hb-product-part-products.is-carousel .woocommerce { width:100%; }
.hb-product-part-products.is-carousel .woocommerce ul.products { display:grid; width:100%; grid-template-columns:none; grid-template-rows:repeat(var(--hb-part-rows,1),auto); grid-auto-flow:column; grid-auto-columns:calc((100% - (var(--hb-part-columns,4) - 1) * var(--hb-part-gap)) / var(--hb-part-columns,4)); }
.hb-product-part-products.is-carousel .woocommerce ul.products li.product { scroll-snap-align:start; }
.hb-home-product-part[data-rows="1"] { --hb-part-rows:1; }
.hb-home-product-part[data-rows="2"] { --hb-part-rows:2; }
.hb-home-product-part[data-rows="3"] { --hb-part-rows:3; }
.hb-home-product-part[data-rows="4"] { --hb-part-rows:4; }

/* Each skin keeps the same usable anatomy while changing visual character. */
.hb-home-product-part--skin-elevated .woocommerce ul.products li.product { border-color:transparent; box-shadow:0 15px 38px rgba(23,58,71,.13); }
.hb-home-product-part--skin-elevated .woocommerce ul.products li.product:hover { box-shadow:0 22px 50px rgba(23,58,71,.19); transform:translateY(-6px); }
.hb-home-product-part--skin-bordered .woocommerce ul.products li.product { border:1.5px solid rgba(36,93,112,.55); box-shadow:4px 4px 0 rgba(36,93,112,.11); }
.hb-home-product-part--skin-bordered .woocommerce ul.products li.product:hover { border-color:var(--hb-teal); box-shadow:6px 6px 0 rgba(47,120,145,.16); }
.hb-home-product-part--skin-minimal .woocommerce ul.products li.product { padding:0 0 12px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.hb-home-product-part--skin-minimal .woocommerce ul.products li.product:hover { box-shadow:none; transform:translateY(-3px); }
.hb-home-product-part--skin-minimal .woocommerce ul.products li.product > .woocommerce-LoopProduct-link { border-radius:15px; }
.hb-home-product-part--skin-minimal .woocommerce ul.products li.product a img { border-radius:15px; box-shadow:0 8px 26px rgba(23,58,71,.08); }
.hb-home-product-part--skin-editorial .woocommerce ul.products li.product { padding:8px 8px 13px; border:0; border-radius:4px 4px 20px 4px; box-shadow:0 13px 34px rgba(10,15,43,.16); }
.hb-home-product-part--skin-editorial .woocommerce ul.products li.product > .woocommerce-LoopProduct-link { border-radius:2px; }
.hb-home-product-part--skin-editorial .woocommerce ul.products li.product a img { aspect-ratio:1 / 1.08; border-radius:2px; }
.hb-home-product-part--skin-editorial .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:Georgia,"Times New Roman",serif; font-size:1.02rem; font-weight:600; }
.hb-home-product-part--bg-dark .woocommerce ul.products li.product { border-color:rgba(255,255,255,.12); }
.hb-home-product-part--bg-dark.hb-home-product-part--skin-minimal .woocommerce ul.products li.product { padding:10px 10px 14px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.07); }
.hb-home-product-part--bg-dark.hb-home-product-part--skin-minimal .woocommerce-loop-product__title,
.hb-home-product-part--bg-dark.hb-home-product-part--skin-minimal .price { color:#fff; }

@media (max-width:1100px) {
  .hb-home-product-part { --hb-part-columns:3 !important; }
  .hb-home-product-part > .hb-container { width:min(calc(100% - 40px),var(--hb-container)); }
}
@media (max-width:760px) {
  .hb-home-product-part { --hb-part-columns:2 !important; --hb-part-gap:12px; padding-block:56px; scroll-margin-top:20px; }
  .hb-home-product-part > .hb-container { width:min(calc(100% - 28px),var(--hb-container)); }
  .hb-product-part-head { min-height:0; align-items:flex-start; margin-bottom:22px; padding-bottom:20px; }
  .hb-product-part-head h2 { font-size:clamp(1.8rem,8vw,2.35rem); }
  .hb-product-part-description { margin-top:9px; font-size:.88rem; }
  .hb-product-part-actions { width:100%; justify-content:space-between; gap:10px; }
  .hb-product-part-actions .hb-subtle-link { min-height:38px; padding:7px 12px; font-size:.72rem; }
  .hb-product-part-controls button { width:38px; min-height:38px; }
  .hb-home-product-part .woocommerce ul.products { gap:16px 11px !important; }
  .hb-product-part-products.is-carousel .woocommerce ul.products { gap:16px 11px !important; grid-auto-columns:calc((100% - 11px) / 2); }
  .hb-home-product-part .woocommerce ul.products li.product { padding:7px 7px 10px; border-radius:14px; }
  .hb-home-product-part .woocommerce ul.products li.product a img { aspect-ratio:1 / 1.08; margin-bottom:10px; border-radius:10px; }
  .hb-home-product-part .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:2.55em; margin-bottom:5px; padding-inline:3px; font-size:.82rem; }
  .hb-home-product-part .woocommerce ul.products li.product .price { min-height:20px; margin-bottom:8px; padding-inline:3px; font-size:.82rem; }
  .hb-home-product-part .woocommerce ul.products li.product .hb-loop-add-to-cart { width:100%; min-height:38px; margin:0; font-size:.7rem; }
  .hb-home-product-part .woocommerce ul.products li.product .hb-loop-buy-now { display:none; }
}
@media (max-width:420px) {
  .hb-product-part-meta { gap:7px; }
  .hb-product-part-category { display:none; }
  .hb-product-part-actions { align-items:center; }
  .hb-product-part-controls { margin-left:auto; }
}

/* =========================================================
   Focused Checkout — WooCommerce Checkout Block + Stripe
   ========================================================= */

body.woocommerce-checkout .hb-content,
body.woocommerce-checkout .hb-content:has(.hb-commerce-page) {
  padding: clamp(32px,4vw,54px) 0 clamp(64px,7vw,104px);
  background: #f5f4f1;
}
body.woocommerce-checkout { overflow-x: clip; }
body.woocommerce-checkout .hb-content > .hb-container { width: min(calc(100% - 40px),1260px); }
body.woocommerce-checkout .hb-commerce-page-header {
  max-width: 1180px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  column-gap: 52px;
  margin: 0 auto clamp(30px,4vw,46px);
  padding-bottom: 28px;
  border-bottom: 1px solid #dddeda;
}
body.woocommerce-checkout .hb-commerce-page-header .hb-section-kicker {
  grid-column: 1;
  margin-bottom: 5px;
  color: var(--hb-teal);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .15em;
}
body.woocommerce-checkout .hb-commerce-page-header .entry-title {
  grid-column: 1;
  margin: 0;
  color: var(--hb-ink);
  font-size: clamp(2.35rem,4.6vw,4rem);
  line-height: 1;
}
body.woocommerce-checkout .hb-commerce-page-intro {
  grid-column: 1;
  margin: 12px 0 0;
  color: #68787d;
  font-size: .94rem;
}
.hb-checkout-progress {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #859297;
}
.hb-checkout-progress li {
  position: relative;
  min-width: 110px;
  display: grid;
  justify-items: center;
  gap: 7px;
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.25;
  text-align: center;
}
.hb-checkout-progress li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 15px;
  left: calc(50% + 22px);
  width: calc(100% - 44px);
  height: 1px;
  background: #cfd9d9;
}
.hb-checkout-progress li.is-complete::after { background: #82a99e; }
.hb-checkout-progress li > span,
.hb-checkout-progress li a > span {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid #cbd5d6;
  border-radius: 50%;
  background: #fff;
  color: #78878b;
  font-size: .72rem;
  font-weight: 850;
}
.hb-checkout-progress li a { display: contents; color: inherit; text-decoration: none; }
.hb-checkout-progress li.is-complete,
.hb-checkout-progress li.is-current { color: var(--hb-navy); }
.hb-checkout-progress li.is-complete > span,
.hb-checkout-progress li.is-complete a > span {
  border-color: #6f9f92;
  background: #e8f2ee;
  color: #2f6d5d;
}
.hb-checkout-progress li.is-current > span {
  border-color: var(--hb-navy);
  background: var(--hb-navy);
  color: #fff;
  box-shadow: 0 0 0 5px rgba(36,93,112,.10);
}

/* Checkout Block columns. */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding: 0 !important;
  font-size: .9rem;
}
body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(340px,.85fr);
  align-items: start;
  gap: clamp(26px,3.5vw,48px);
}
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar {
  position: sticky !important;
  top: 204px !important;
}
body.woocommerce-checkout .wc-block-checkout__form { display: flex; flex-direction: column; margin: 0; }
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-contact-information-block { order: 10; }
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-shipping-method-block,
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-pickup-options-block,
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-shipping-address-block,
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-billing-address-block,
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-shipping-methods-block { order: 20; }
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-payment-block { order: 30; }
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-express-payment-block,
body.woocommerce-checkout .wc-block-checkout__form > .wc-block-components-express-payment-continue-rule { order: 40; }
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-additional-information-block,
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-order-note-block { order: 50; }
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-terms-block { order: 60; }
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-actions-block { order: 70; }

/* Each task is a distinct, scannable card. */
body.woocommerce-checkout .wc-block-components-checkout-step {
  box-sizing: border-box;
  margin: 0 0 18px;
  padding: clamp(22px,2.4vw,30px) !important;
  border: 1px solid #e4e3de;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(23,58,71,.045);
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin: 0 0 20px; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading { margin: 0; }
body.woocommerce-checkout .wc-block-components-checkout-step__title {
  position: relative;
  margin: 0 !important;
  padding-left: 43px;
  color: var(--hb-ink);
  font-family: inherit;
  font-size: 1.08rem !important;
  font-weight: 780;
  letter-spacing: -.025em;
  line-height: 1.35;
}
body.woocommerce-checkout .wc-block-components-checkout-step__title::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #eaf3f3;
  color: var(--hb-navy);
  font-size: .72rem;
  font-weight: 850;
  transform: translateY(-50%);
}
body.woocommerce-checkout #contact-fields .wc-block-components-checkout-step__title::before { content: "1"; }
body.woocommerce-checkout #shipping-fields .wc-block-components-checkout-step__title::before,
body.woocommerce-checkout #billing-fields .wc-block-components-checkout-step__title::before { content: "2"; }
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-checkout-step__title::before { content: "3"; }
body.woocommerce-checkout .wc-block-components-checkout-step__content { padding: 0 !important; }
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
  margin: 10px 0 0;
  color: #79868a;
  font-size: .74rem;
}

/* Calm, accessible form controls. */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-blocks-components-select { margin-top: 11px; }
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
  min-height: 54px;
  border: 1px solid #cfd7d6;
  border-radius: 11px;
  background-color: #fdfdfc;
  color: var(--hb-ink);
  box-shadow: none;
  font-size: .88rem;
  transition: border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--hb-teal);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(47,120,145,.11);
  outline: 0;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-blocks-components-select__label { color: #67777b; font-size: .76rem; }
body.woocommerce-checkout .wc-block-components-address-form { gap: 0 12px; }
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
  display: inline-flex;
  margin: 8px 0 2px;
  color: var(--hb-teal);
  font-size: .74rem;
  font-weight: 700;
}
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input {
  width: 20px;
  height: 20px;
  min-height: 20px;
  border-radius: 6px;
  accent-color: var(--hb-navy);
}

/* Payment options and Stripe Payment Element. */
body.woocommerce-checkout .wc-block-checkout__payment-method { overflow: hidden; }
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  margin: 0;
  border: 1px solid #dde2df;
  border-radius: 12px;
  background: #fbfbfa;
  box-shadow: none;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option { margin-top: 9px; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: #7da5a9;
  background: #f2f8f7;
  box-shadow: 0 0 0 3px rgba(47,120,145,.08);
}
body.woocommerce-checkout .wc-block-components-radio-control__option { padding: 16px 16px 16px 48px; }
body.woocommerce-checkout .wc-block-components-radio-control__input { left: 17px; accent-color: var(--hb-navy); }
body.woocommerce-checkout .wc-block-components-radio-control__label { color: var(--hb-ink); font-weight: 740; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding: 0 16px 18px; }
body.woocommerce-checkout .wc-block-components-payment-method-icons { align-items: center; gap: 5px; }
body.woocommerce-checkout .wc-block-components-payment-method-icon { max-height: 25px; border-radius: 3px; }
body.woocommerce-checkout .wc-block-checkout__no-payment-methods-notice {
  margin: 0;
  border: 1px solid #e8c5c5;
  border-radius: 11px;
  background: #fff6f5;
  color: #713b3b;
  font-size: .8rem;
}

/* Express wallets are rendered after Payment options by the PHP block filter. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
body.woocommerce-checkout .wc-block-components-express-payment--checkout {
  box-sizing: border-box;
  margin: 0 0 18px;
  padding: clamp(22px,2.4vw,28px);
  border: 1px solid #e2dfd8;
  border-radius: 18px;
  background: linear-gradient(145deg,#fff 0,#fcfaf6 100%);
  box-shadow: 0 10px 30px rgba(23,58,71,.045);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block:empty { display: none; }
body.woocommerce-checkout .wc-block-components-express-payment--checkout {  padding: 0; border: 0; background: transparent; box-shadow: none; }
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container {
  position: static;
  display: block;
  margin: 0 0 17px;
}
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after { display: none; }
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--hb-ink);
  font-size: .88rem;
  font-weight: 800;
  transform: none;
}
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title::before {
  content: "\26A1";
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #f4e8ec;
  color: #9b5f74;
  font-size: .8rem;
}
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons { gap: 10px; }
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons > div,
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons > li {
  min-height: 50px;
  border-radius: 10px;
}
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule { display: none; }

/* Notes, legal copy, and the primary action. */
body.woocommerce-checkout .wc-block-checkout__order-notes {
  padding: 18px 22px !important;
  box-shadow: none;
}
body.woocommerce-checkout .wc-block-checkout__order-notes .wc-block-components-checkout-step__heading-container { margin: 0; }
body.woocommerce-checkout .wc-block-checkout__order-notes .wc-block-components-checkout-step__title { padding-left: 0; font-size: .82rem !important; }
body.woocommerce-checkout .wc-block-checkout__order-notes .wc-block-components-checkout-step__title::before { display: none; }
body.woocommerce-checkout .wc-block-checkout__terms {
  margin: 20px 3px 15px;
  color: #6d7b7e;
  font-size: .75rem;
  line-height: 1.55;
}
body.woocommerce-checkout .wc-block-checkout__terms a { color: var(--hb-navy); font-weight: 700; }
body.woocommerce-checkout .wc-block-checkout__actions { padding: 0; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  min-height: 56px;
  border: 1px solid var(--hb-navy) !important;
  border-radius: 12px !important;
  background: var(--hb-navy) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(36,93,112,.20);
  font-size: .88rem;
  font-weight: 820;
  letter-spacing: .01em;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  border-color: var(--hb-navy-soft) !important;
  background: var(--hb-navy-soft) !important;
  box-shadow: 0 15px 29px rgba(36,93,112,.24);
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button::after {
  content: "\2192";
  margin-left: 10px;
  font-size: 1.05rem;
  font-weight: 500;
}

/* Order summary: stronger hierarchy and a stable sticky card. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  overflow: hidden;
  border: 1px solid #dedfda;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(23,58,71,.085);
}
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper { display: none !important; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  margin: 0 !important;
  padding: 22px 23px 17px !important;
  border-bottom: 1px solid #ebe9e4;
  color: var(--hb-ink);
  font-family: inherit;
  font-size: 1.08rem !important;
  font-weight: 800;
  letter-spacing: -.02em;
}
body.woocommerce-checkout .wc-block-components-order-summary { padding: 5px 22px 7px; }
body.woocommerce-checkout .wc-block-components-order-summary-item { padding: 15px 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item + .wc-block-components-order-summary-item { border-top: 1px solid #efede9; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image { width: 62px; flex: 0 0 62px; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image > img {
  width: 58px;
  height: 66px;
  border-radius: 9px;
  background: #f4f1ec;
  object-fit: cover;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  min-width: 21px;
  height: 21px;
  padding: 0 6px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 99px;
  background: var(--hb-navy);
  color: #fff;
  font-size: .62rem;
  font-weight: 850;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__description { padding-left: 11px; }
body.woocommerce-checkout .wc-block-components-product-name {
  color: var(--hb-ink);
  font-size: .8rem;
  font-weight: 750;
  line-height: 1.35;
}
body.woocommerce-checkout .wc-block-components-product-metadata { color: #79868a; font-size: .68rem; }
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price { color: var(--hb-ink); font-size: .8rem; font-weight: 780; }
body.woocommerce-checkout .wc-block-components-totals-wrapper {
  padding: 0 22px;
  border-top: 1px solid #e9e7e2;
}
body.woocommerce-checkout .wc-block-components-totals-item { padding: 15px 0; }
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value { font-size: .8rem; }
body.woocommerce-checkout .wc-block-components-totals-footer-item {
  padding-block: 19px;
  color: var(--hb-ink);
}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.15rem; font-weight: 850; }
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  padding: 0 22px;
}
body.woocommerce-checkout .wc-block-components-totals-coupon {
  margin: 0;
  border: 0;
  border-radius: 12px;
  background: #f7faf9;
}
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
  min-height: 62px;
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border: 1px dashed #bacdca;
  border-radius: 12px;
  color: var(--hb-ink);
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.3;
  cursor: pointer;
  transition: border-color .18s ease,background .18s ease,color .18s ease;
}
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:focus-visible {
  border-color: var(--hb-teal);
  background: #edf6f4;
  color: var(--hb-navy);
}
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button::before {
  content: "%";
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  margin-right: 11px;
  border-radius: 9px;
  background: #f0dce3;
  color: #985d72;
  font-size: .76rem;
  font-weight: 900;
}
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
  order: 2;
  width: 20px;
  height: 20px;
  margin-left: auto;
  fill: var(--hb-teal);
}
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content {
  padding: 14px 0 2px;
}
body.woocommerce-checkout .wc-block-components-totals-coupon__form {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 9px;
}
body.woocommerce-checkout .wc-block-components-totals-coupon__input { margin: 0; }
body.woocommerce-checkout .wc-block-components-totals-coupon__input input { min-height: 50px; border-radius: 10px; }
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
  min-width: 92px;
  min-height: 50px !important;
  padding-inline: 16px;
  border-radius: 10px !important;
  font-size: .8rem;
}

/* Recommendations belong to the whole flow, not the summary column. */
body.woocommerce-checkout .wc-block-components-sidebar-layout > .hb-cart-upsells--checkout {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 20px 0 0;
  padding: 22px;
  border-color: #e1ddd5;
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 10px 30px rgba(23,58,71,.04);
}
body.woocommerce-checkout .hb-cart-upsells--checkout .hb-cart-upsell-products { grid-template-columns: repeat(3,minmax(0,1fr)); }

@media (max-width: 980px) {
  body.woocommerce-checkout .hb-commerce-page-header { display: block; }
  .hb-checkout-progress { max-width: 390px; margin-top: 25px; }
  .hb-checkout-progress li { min-width: 0; flex: 1; }
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout { grid-template-columns: minmax(0,1fr) minmax(310px,.72fr); gap: 24px; }
}

@media (max-width: 760px) {
  body.woocommerce-checkout .hb-content { padding-top: 27px; }
  body.woocommerce-checkout .hb-content > .hb-container { width: min(calc(100% - 24px),1260px); }
  body.woocommerce-checkout .hb-commerce-page-header { margin-bottom: 24px; padding-bottom: 22px; }
  body.woocommerce-checkout .hb-commerce-page-header .entry-title { font-size: 2.45rem; }
  body.woocommerce-checkout .hb-commerce-page-intro { margin-top: 9px; font-size: .84rem; }
  .hb-checkout-progress { max-width: none; margin-top: 22px; }
  .hb-checkout-progress li { gap: 6px; font-size: .61rem; }
  .hb-checkout-progress li > span,
  .hb-checkout-progress li a > span { width: 28px; height: 28px; }
  .hb-checkout-progress li:not(:last-child)::after { top: 14px; left: calc(50% + 19px); width: calc(100% - 38px); }
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout { display: flex; flex-direction: column; gap: 18px; }
  body.woocommerce-checkout .wc-block-checkout__main,
  body.woocommerce-checkout .wc-block-checkout__sidebar { width: 100% !important; }
  body.woocommerce-checkout .wc-block-checkout__sidebar { position: static !important; order: -1; }
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { border-radius: 15px; box-shadow: 0 10px 28px rgba(23,58,71,.065); }
  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title { padding: 18px !important; }
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block { margin-bottom: 13px; padding: 20px 16px !important; border-radius: 15px; }
  body.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin-bottom: 16px; }
  body.woocommerce-checkout .wc-block-components-checkout-step__title { padding-left: 40px; font-size: 1rem !important; }
  body.woocommerce-checkout .wc-block-components-address-form { gap: 0 8px; }
  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select { min-height: 52px; }
  body.woocommerce-checkout .wc-block-components-express-payment--checkout { padding: 0 !important; }
  body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons { grid-template-columns: 1fr; }
  body.woocommerce-checkout .wc-block-components-order-summary { padding-inline: 17px; }
  body.woocommerce-checkout .wc-block-components-totals-wrapper { padding-inline: 18px; }
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block { padding-inline: 18px; }
  body.woocommerce-checkout .wc-block-components-sidebar-layout > .hb-cart-upsells--checkout { order: 3; margin-top: 7px; padding: 17px; }
  body.woocommerce-checkout .hb-cart-upsells--checkout .hb-cart-upsell-products { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .hb-checkout-back span:last-child { display: none; }
  .hb-checkout-back__icon { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--hb-line); border-radius: 50%; }
  body.woocommerce-checkout .hb-commerce-page-header .entry-title { font-size: 2.2rem; }
  .hb-checkout-progress li:last-child { display: none; }
  .hb-checkout-progress li:not(:last-child)::after { width: calc(100% - 38px); }
  body.woocommerce-checkout .wc-block-components-address-form { display: block; }
  body.woocommerce-checkout .wc-block-components-order-summary-item__image { width: 54px; flex-basis: 54px; }
  body.woocommerce-checkout .wc-block-components-order-summary-item__image > img { width: 50px; height: 58px; }
}
