/* WooCommerce only — B2B reference: clean forms, white surfaces, restrained borders,
   compact product cards, accessible quantities and pill-shaped primary actions.
   No shipping, payment, tax or account business rules are changed here. */
.sgg-woo-shell,
.woo-page-wrapper {
  --sgg-wc-ink: #23272a;
  --sgg-wc-muted: #697079;
  --sgg-wc-line: #e6e8e7;
  --sgg-wc-surface: #fff;
  --sgg-wc-radius: 16px;
  color: var(--sgg-wc-ink);
}
.sgg-woo-shell {
  width: min(1240px, calc(100% - 40px));
  margin: 118px auto 80px;
  min-height: 44vh;
}
.woo-page-wrapper {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  margin: 118px auto 80px;
  min-height: 0;
  padding: 0;
}
.woo-page-wrapper > .row { margin: 0; }
.woo-page-wrapper > .row > .col-12 { padding: 0; min-width: 0; }
.woo-page-wrapper .woo-page-title,
.sgg-woo-shell .woocommerce-products-header__title,
.sgg-woo-shell .product_title {
  color: var(--sgg-wc-ink);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.14;
}
.woo-page-wrapper .woo-page-title,
.sgg-woo-shell .woocommerce-products-header__title {
  font-size: clamp(28px, 3.25vw, 40px);
  margin: 0 0 22px;
}
.sgg-woo-shell .woocommerce-products-header { margin-bottom: 28px; }
.sgg-woo-shell .woocommerce-products-header .term-description,
.sgg-woo-shell .woocommerce-products-header .page-description {
  max-width: 760px;
  line-height: 1.7;
  color: var(--sgg-wc-muted);
}
.sgg-woo-shell .woocommerce-breadcrumb {
  margin-bottom: 24px;
  font-size: 13px;
  color: var(--sgg-wc-muted);
  display: none;
}
.sgg-woo-shell .woocommerce-breadcrumb a { color: inherit; text-decoration: none; }
.sgg-woo-shell .woocommerce-breadcrumb a:hover { color: var(--sgg-wc-ink); }
/* Keep WooCommerce controls native and working; only improve their appearance. */
.sgg-woo-shell .button,
.woo-page-wrapper .button,
.woo-page-wrapper .wp-element-button,
.woo-page-wrapper .wc-block-components-button,
.sgg-woo-shell .single_add_to_cart_button {
  border-radius: 999px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background-color .16s ease, border-color .16s ease, opacity .16s ease;
}
.sgg-woo-shell .button,
.sgg-woo-shell .single_add_to_cart_button,
.woo-page-wrapper .button,
.woo-page-wrapper .wp-element-button,
.woo-page-wrapper .wc-block-components-button:not(.is-link) {
  min-height: 44px;
  padding: 10px 22px;
  background: #25292b;
  color: #fff;
  border: 1px solid #25292b;
}
.sgg-woo-shell .button:hover,
.woo-page-wrapper .button:hover,
.woo-page-wrapper .wp-element-button:hover,
.woo-page-wrapper .wc-block-components-button:not(.is-link):hover {
  background: #414649;
  border-color: #414649;
  color: #fff;
}
.sgg-woo-shell a:focus-visible,
.woo-page-wrapper a:focus-visible,
.sgg-woo-shell button:focus-visible,
.woo-page-wrapper button:focus-visible,
.sgg-woo-shell input:focus-visible,
.woo-page-wrapper input:focus-visible,
.sgg-woo-shell select:focus-visible,
.woo-page-wrapper select:focus-visible {
  outline: 3px solid #227950;
  outline-offset: 2px;
}
.sgg-woo-shell select,
.woo-page-wrapper select,
.sgg-woo-shell input.input-text,
.woo-page-wrapper input.input-text,
.woo-page-wrapper textarea,
.woo-page-wrapper .wc-block-components-text-input input,
.woo-page-wrapper .wc-block-components-combobox .wc-block-components-combobox-control input {
  border: 1px solid #d7dcda;
  background: #fff;
  color: var(--sgg-wc-ink);
  border-radius: 10px;
  min-height: 46px;
  padding: 10px 12px;
  font-size: 16px;
  box-shadow: none;
  max-width: 100%;
}
.sgg-woo-shell .woocommerce-notices-wrapper,
.woo-page-wrapper .woocommerce-notices-wrapper { margin-bottom: 18px; }
.sgg-woo-shell .woocommerce-message,
.woo-page-wrapper .woocommerce-message,
.sgg-woo-shell .woocommerce-info,
.woo-page-wrapper .woocommerce-info,
.sgg-woo-shell .woocommerce-error,
.woo-page-wrapper .woocommerce-error {
  border-radius: 12px;
  border: 1px solid var(--sgg-wc-line);
  border-top: 3px solid #227950;
  background: #fff;
  padding-top: 18px;
  padding-bottom: 18px;
}
.sgg-woo-shell .woocommerce-error,
.woo-page-wrapper .woocommerce-error { border-top-color: #d34949; }
/* Catalog layout — price, image, stock and native AJAX add-to-cart stay intact. */
.sgg-woo-archive .woocommerce-result-count { margin: 9px 0 18px; color: var(--sgg-wc-muted); font-size: 14px; }
.sgg-woo-archive .woocommerce-ordering { margin: 0 0 18px; }
.sgg-woo-archive .woocommerce-ordering select { min-width: 205px; }
.sgg-woo-shell ul.products {
  list-style: none;
  padding: 0;
  margin: 0 0 34px;
}
.sgg-woo-shell ul.products::before,
.sgg-woo-shell ul.products::after { content: ''; display: table; clear: both; }
.sgg-woo-shell ul.products li.product {
  background: var(--sgg-wc-surface);
  padding: 14px;
  border: 1px solid var(--sgg-wc-line);
  border-radius: var(--sgg-wc-radius);
  overflow: hidden;
  min-width: 0;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.sgg-woo-shell ul.products li.product:hover {
  border-color: #ced4d0;
  box-shadow: 0 10px 26px rgba(25, 33, 26, .055);
}
.sgg-woo-shell ul.products li.product a img { width: 100%; height: auto; object-fit: contain; border-radius: 10px; }
.sgg-woo-shell ul.products li.product .woocommerce-loop-product__title {
  color: var(--sgg-wc-ink);
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  min-height: 0;
}
.sgg-woo-shell ul.products li.product .price { color: var(--sgg-wc-ink); font-size: 16px; font-weight: 750; }
.sgg-woo-shell ul.products li.product .price del { color: var(--sgg-wc-muted); font-weight: 450; }
.sgg-woo-shell ul.products li.product .button { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; }
.sgg-woo-shell .woocommerce-pagination ul.page-numbers { border: 0; display: flex; gap: 7px; flex-wrap: wrap; }
.sgg-woo-shell .woocommerce-pagination ul.page-numbers li { border: 0; }
.sgg-woo-shell .woocommerce-pagination a.page-numbers,
.sgg-woo-shell .woocommerce-pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sgg-wc-line);
  background: #fff;
  min-width: 42px;
  height: 42px;
  border-radius: 50%;
  color: var(--sgg-wc-ink);
}
.sgg-woo-shell .woocommerce-pagination .current { background: #23272a !important; border-color: #23272a !important; color: #fff !important; }
/* WooCommerce's desktop image/summary floats must be included in document height.
   Keep their native sizes and gallery/variations behaviour unchanged. */
.sgg-woo-single { display: flow-root; }
.sgg-woo-single div.product { display: flow-root; }
/* WooCommerce breadcrumb belongs ABOVE the footer, not inside the catalog header.
   Keep the site's existing footer breadcrumb visible on every WC screen. */
.sgg-woo-footer-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #697079;
  overflow-wrap: anywhere;
}
.sgg-woo-footer-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
.sgg-woo-footer-breadcrumb a:hover {
  color: #23272a;
  text-decoration: underline;
}
.sgg-woo-footer-breadcrumb .breadcrumb-separator {
  margin: 0 7px;
  color: #8c939a;
}
/* Single product: responsive, native gallery and variations. */
.sgg-woo-single div.product { min-width: 0; }
.sgg-woo-single div.product .product_title { font-size: clamp(29px, 3vw, 42px); margin-bottom: 15px; }
.sgg-woo-single div.product p.price,
.sgg-woo-single div.product span.price { color: var(--sgg-wc-ink); font-size: 25px; font-weight: 750; }
.sgg-woo-single div.product .woocommerce-product-gallery { min-width: 0; }
.sgg-woo-single div.product .woocommerce-product-gallery__wrapper img { border-radius: 15px; }
.sgg-woo-single div.product .summary { min-width: 0; }
.sgg-woo-single div.product .woocommerce-product-details__short-description { line-height: 1.65; margin: 18px 0; color: #545a60; }
.sgg-woo-single div.product form.cart { margin: 26px 0; }
.sgg-woo-single div.product form.cart .quantity { margin: 0 12px 10px 0; }
.sgg-woo-single div.product form.cart .qty { width: 76px; height: 46px; border-radius: 10px; text-align: center; }
.sgg-woo-single div.product form.cart .single_add_to_cart_button { min-height: 46px; }
.sgg-woo-single div.product form.cart .variations { width: 100%; }
.sgg-woo-single div.product form.cart .variations th,
.sgg-woo-single div.product form.cart .variations td { text-align: left; padding: 0 10px 12px 0; vertical-align: middle; }
.sgg-woo-single div.product form.cart .variations label { font-weight: 700; }
.sgg-woo-single div.product form.cart .variations select { min-width: min(240px, 100%); }
.sgg-woo-single .woocommerce-tabs,
.sgg-woo-single .related,
.sgg-woo-single .upsells { margin-top: 44px; clear: both; }
.sgg-woo-single .related > h2,
.sgg-woo-single .upsells > h2 { font-size: clamp(23px, 2.5vw, 30px); font-weight: 750; margin-bottom: 20px; }
/* Classic WooCommerce cart/checkout and My Account */
.woo-page-wrapper .woocommerce form.checkout,
.woo-page-wrapper .woocommerce form.woocommerce-cart-form,
.woo-page-wrapper .woocommerce form.woocommerce-EditAccountForm,
.woo-page-wrapper .woocommerce form.woocommerce-form-login,
.woo-page-wrapper .woocommerce form.woocommerce-form-register { min-width: 0; }
.woo-page-wrapper .woocommerce form .form-row { margin: 0 0 17px; min-width: 0; }
.woo-page-wrapper .woocommerce form .form-row label { display: block; font-weight: 650; font-size: 14px; margin-bottom: 6px; }
.woo-page-wrapper .woocommerce form .form-row input.input-text,
.woo-page-wrapper .woocommerce form .form-row textarea { width: 100%; }
.woo-page-wrapper .woocommerce table.shop_table {
  width: 100%;
  border: 1px solid var(--sgg-wc-line);
  border-radius: 14px;
  background: #fff;
  border-collapse: separate;
  overflow: hidden;
}
.woo-page-wrapper .woocommerce table.shop_table th,
.woo-page-wrapper .woocommerce table.shop_table td { padding: 15px; border-color: var(--sgg-wc-line); }
.woo-page-wrapper .woocommerce .cart-collaterals .cart_totals,
.woo-page-wrapper .woocommerce-checkout-review-order,
.woo-page-wrapper .woocommerce-checkout-payment {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--sgg-wc-line);
  padding: 22px;
}
.woo-page-wrapper .woocommerce-checkout #customer_details,
.woo-page-wrapper .woocommerce-checkout #order_review { min-width: 0; }
.woo-page-wrapper .woocommerce-checkout-payment .payment_box { border-radius: 10px; }
.woo-page-wrapper .woocommerce-account .woocommerce-MyAccount-navigation { min-width: 0; }
.woo-page-wrapper .woocommerce-MyAccount-navigation ul { margin: 0 0 24px; padding: 8px; list-style: none; border: 1px solid var(--sgg-wc-line); border-radius: 14px; background: #fff; }
.woo-page-wrapper .woocommerce-MyAccount-navigation li { list-style: none; margin: 0; }
.woo-page-wrapper .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 14px; color: #37403d; border-radius: 9px; text-decoration: none; font-weight: 600; }
.woo-page-wrapper .woocommerce-MyAccount-navigation li.is-active a,
.woo-page-wrapper .woocommerce-MyAccount-navigation li a:hover { background: #f1f4f1; color: #181c18; }
.woo-page-wrapper .woocommerce-MyAccount-content { min-width: 0; line-height: 1.65; }
.woo-page-wrapper .woocommerce-MyAccount-content a { overflow-wrap: anywhere; }
/* WooCommerce block cart/checkout: style only, no DOM observers or payment changes. */
.woo-page-wrapper .wp-block-woocommerce-cart,
.woo-page-wrapper .wp-block-woocommerce-checkout,
.woo-page-wrapper .wc-block-cart,
.woo-page-wrapper .wc-block-checkout { font-family: inherit; color: var(--sgg-wc-ink); }
.woo-page-wrapper .wc-block-components-sidebar-layout { gap: 24px; }
.woo-page-wrapper .wc-block-components-sidebar,
.woo-page-wrapper .wc-block-cart-items,
.woo-page-wrapper .wc-block-checkout__main { min-width: 0; }
.woo-page-wrapper .wc-block-components-sidebar .wc-block-components-totals-wrapper,
.woo-page-wrapper .wc-block-cart-items,
.woo-page-wrapper .wc-block-components-order-summary,
.woo-page-wrapper .wc-block-checkout__payment-method,
.woo-page-wrapper .wc-block-components-checkout-step {
  border-color: var(--sgg-wc-line);
}
.woo-page-wrapper .wc-block-components-product-name { color: var(--sgg-wc-ink); font-weight: 700; text-decoration: none; }
.woo-page-wrapper .wc-block-components-totals-item__value,
.woo-page-wrapper .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-variant-numeric: tabular-nums; }
.woo-page-wrapper .wc-block-components-text-input label,
.woo-page-wrapper .wc-block-components-combobox-control label { font-size: 14px; }
.woo-page-wrapper .wc-block-components-button { min-height: 48px; }
.woo-page-wrapper .wc-block-components-button:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 991px) {
  .sgg-woo-shell { margin-top: 104px; width: min(100% - 32px, 1240px); }
  .woo-page-wrapper { margin-top: 104px; width: min(100% - 32px, 1180px); }
}
@media (max-width: 767px) {
  .sgg-woo-shell,
  .woo-page-wrapper { width: calc(100% - 28px); margin-top: 96px; margin-bottom: 50px; }
  .sgg-woo-archive .woocommerce-result-count,
  .sgg-woo-archive .woocommerce-ordering { float: none; width: 100%; }
  .sgg-woo-archive .woocommerce-ordering select { width: 100%; }
  .sgg-woo-shell ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .sgg-woo-shell ul.products::before,
  .sgg-woo-shell ul.products::after { display: none; }
  .sgg-woo-shell ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 10px; }
  .sgg-woo-shell ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
  .sgg-woo-shell ul.products li.product .button { font-size: 12px; padding: 9px 12px; width: 100%; white-space: normal; line-height: 1.3; }
  .sgg-woo-shell .woocommerce div.product .woocommerce-product-gallery,
  .sgg-woo-shell .woocommerce div.product .summary,
  .sgg-woo-single div.product .woocommerce-product-gallery,
  .sgg-woo-single div.product .summary { width: 100% !important; float: none !important; }
  .woo-page-wrapper .woocommerce table.shop_table th,
  .woo-page-wrapper .woocommerce table.shop_table td { padding: 11px; }
  .woo-page-wrapper .woocommerce .cart-collaterals .cart_totals,
  .woo-page-wrapper .woocommerce-checkout-review-order,
  .woo-page-wrapper .woocommerce-checkout-payment { padding: 16px; }
  .woo-page-wrapper .wc-block-components-sidebar-layout { display: block; }
  .woo-page-wrapper .wc-block-components-sidebar { width: 100%; }
  .woo-page-wrapper .wc-block-components-button { width: 100%; }
}
@media (max-width: 370px) {
  .sgg-woo-shell ul.products { gap: 8px; }
  .sgg-woo-shell ul.products li.product { padding: 8px; }
}

/* Shop/category archive title must remain visible even when a plugin
   disables WooCommerce's optional page-title display filter. */
.sgg-woo-archive .woocommerce-products-header,
.sgg-woo-archive .woocommerce-products-header__title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* WooCommerce bottom breadcrumb: visible above the footer, never in the
   product/shop header. Scoped to our footer's Woo-only class to protect
   every non-commerce WordPress template and its existing breadcrumbs. */
.sgg-wc-footer-breadcrumb-bar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 3;
  clear: both;
  margin-bottom: 0 !important;
  padding: 14px 0;
  background: #fff !important;
  border-top: 1px solid #ececec;
}
.sgg-wc-footer-breadcrumb-bar .container {
  max-width: 1240px;
}
.sgg-wc-footer-breadcrumb-bar .breadcrumbs,
.sgg-wc-footer-breadcrumb-bar .sgg-woo-footer-breadcrumb {
  display: flex !important;
  visibility: visible !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  width: 100%;
  overflow: visible;
  padding: 0;
  margin: 0;
  color: #555d65;
  font-size: 13px;
  line-height: 1.5;
  white-space: normal;
}
.sgg-wc-footer-breadcrumb-bar .breadcrumbs a {
  color: #2b2b2b !important;
  text-decoration: none;
}
.sgg-wc-footer-breadcrumb-bar .breadcrumbs a:hover {
  text-decoration: underline;
}
.sgg-wc-footer-breadcrumb-bar .breadcrumb-separator {
  margin: 0 7px;
  color: #999;
}
@media (max-width: 767px) {
  .sgg-wc-footer-breadcrumb-bar { padding: 12px 0; }
  .sgg-wc-footer-breadcrumb-bar .container { padding-right: 14px; padding-left: 14px; }
}


/* Shop footer breadcrumbs: explicitly use the same Figtree face as the site.
   Applied on ALL WooCommerce screen sizes, not only inside a mobile query. */
.sgg-wc-footer-breadcrumb-bar nav.breadcrumbs,
.sgg-wc-footer-breadcrumb-bar nav.breadcrumbs a,
.sgg-wc-footer-breadcrumb-bar nav.breadcrumbs .breadcrumb-separator,
.sgg-wc-footer-breadcrumb-bar nav.breadcrumbs span,
.sgg-wc-footer-breadcrumb-bar nav.breadcrumbs strong {
  font-family: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
@media (max-width: 767px) {
  .sgg-wc-footer-breadcrumb-bar nav.breadcrumbs,
  .sgg-wc-footer-breadcrumb-bar nav.breadcrumbs a,
  .sgg-wc-footer-breadcrumb-bar nav.breadcrumbs .breadcrumb-separator,
  .sgg-wc-footer-breadcrumb-bar nav.breadcrumbs span,
  .sgg-wc-footer-breadcrumb-bar nav.breadcrumbs strong {
    font-size: 12px !important;
  }
}
