/* Native WooCommerce catalogue, cart, checkout, account, order and tracking presentation. */
.site-main--commerce { padding-block: 0 72px; }
.gh-catalogue-header { padding-block: 38px 42px; border-bottom: 1px solid var(--gh-border); }
.gh-catalogue-header .woocommerce-breadcrumb { margin: 0 0 30px; }
.gh-catalogue-header h1 { max-width: 850px; margin-bottom: 18px; font-size: clamp(40px, 5vw, 62px); }
.gh-catalogue-intro { max-width: 780px; color: var(--gh-muted); font-size: 17px; }
.gh-catalogue-intro p:last-child { margin-bottom: 0; }
.gh-catalogue-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 42px; padding-top: 40px; }
.gh-catalogue-sidebar { align-self: start; }
.gh-catalogue-sidebar .eyebrow { margin-bottom: 18px; }
.gh-catalogue-mobile { display: none; }
.gh-catalogue-filters { display: grid; gap: 18px; }
.gh-filter-field label { display: block; margin-bottom: 5px; font-size: 14px; font-weight: 700; }
.gh-filter-field input, .gh-filter-field select { width: 100%; }
.gh-filter-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gh-filter-check { display: flex; min-height: 44px; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; }
.gh-filter-check input { width: 19px; height: 19px; accent-color: var(--gh-bronze); }
.gh-clear-filters { text-align: center; color: var(--gh-bronze); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.gh-catalogue-results { min-width: 0; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 24px; }
.woocommerce .woocommerce-ordering select { min-width: 220px; }
.woocommerce ul.products { clear: both; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.woocommerce ul.products li.product { position: relative; display: flex; min-width: 0; flex-direction: column; padding-bottom: 18px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.woocommerce ul.products li.product:hover { border-color: var(--gh-gold); box-shadow: var(--gh-shadow); transform: translateY(-2px); }
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: block; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.4em; padding: 0; margin-top: 4px; line-height: 1.2; }
.woocommerce ul.products li.product .price { min-height: 1.7em; font-size: 16px; }
.woocommerce ul.products li.product .button { width: calc(100% - 36px); margin-top: auto; }
.gh-image-scope { display: block; margin: 2px 18px 12px; color: var(--gh-muted); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.gh-review-price { color: var(--gh-bronze); font-weight: 700; }
.woocommerce nav.woocommerce-pagination { margin-top: 42px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { margin: 3px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; padding: 11px; border: 1px solid var(--gh-border); border-radius: 8px; background: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; background: var(--gh-bronze); }
.woocommerce-no-products-found { clear: both; padding: 28px 0; }

.single-product .site-main--commerce { padding-top: 42px; }
.single-product .woocommerce-breadcrumb { margin-bottom: 30px; }
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { overflow: hidden; border: 1px solid var(--gh-border); border-radius: 18px; background: #fff; }
.woocommerce div.product div.images img { aspect-ratio: 4 / 5; object-fit: cover; }
.woocommerce div.product .summary { padding-top: 8px; }
.woocommerce div.product .product_title { margin-bottom: 18px; font-size: clamp(34px, 4vw, 50px); }
.woocommerce div.product p.price { font-size: 23px; font-weight: 800; }
.gh-sample-notice { padding: 15px 17px; margin: 18px 0; border: 1px solid color-mix(in srgb, var(--gh-gold) 55%, var(--gh-border)); border-radius: 10px; background: var(--gh-blush); color: var(--gh-ink); font-size: 14px; }
.gh-product-options { padding: 20px; margin: 24px 0; border: 1px solid var(--gh-border); border-radius: 14px; background: #fff; }
.gh-product-options legend { padding-inline: 8px; font-family: var(--gh-font-heading); font-size: 24px; }
.gh-product-options .form-row { float: none; width: 100%; margin-bottom: 16px; }
.gh-product-options select, .gh-product-options textarea, .gh-product-options input[type="date"] { width: 100%; }
.woocommerce div.product form.cart .quantity .qty { min-height: 48px; }
.woocommerce div.product .woocommerce-tabs { padding-top: 36px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--gh-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--gh-border); background: var(--gh-blush); }
.related.products { padding-top: 48px; }
.related.products > h2 { font-size: clamp(30px, 4vw, 42px); }

@media (max-width: 1023px) {
  .gh-catalogue-layout { display: block; padding-top: 26px; }
  .gh-catalogue-sidebar { display: none; }
  .gh-catalogue-mobile { display: block; padding-top: 24px; }
  .gh-filter-drawer { border: 1px solid var(--gh-border); border-radius: 12px; background: #fff; }
  .gh-filter-drawer summary { min-height: 50px; padding: 13px 16px; color: var(--gh-bronze); cursor: pointer; font-weight: 800; }
  .gh-filter-drawer__body { padding: 4px 16px 20px; }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .gh-catalogue-header { padding-block: 28px 32px; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; margin-inline: 12px; font-size: 17px; }
  .woocommerce ul.products li.product .price { margin-inline: 12px; font-size: 14px; }
  .woocommerce ul.products li.product .button { width: calc(100% - 24px); min-height: 44px; padding-inline: 10px; margin-inline: 12px; font-size: 13px; }
  .gh-image-scope { margin-inline: 12px; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
}

@media (max-width: 374px) {
  .gh-container { padding-inline: 14px; }
  .woocommerce ul.products { gap: 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; }
  .gh-filter-pair { grid-template-columns: 1fr; }
}

/* Phase 5 commerce flows. WooCommerce remains the data and behavior owner. */
.content-shell--commerce { max-width: 1240px; }
.site-main--commerce-page .entry-header { padding-bottom: 28px; border-bottom: 1px solid var(--gh-border); }
.site-main--commerce-page .entry-content > * { max-width: none; }
.gh-commerce-intro { max-width: 820px; padding: 0 0 32px; }
.gh-commerce-intro h2 { margin-bottom: 14px; font-size: clamp(34px, 4vw, 52px); }
.gh-commerce-intro > p:last-child { color: var(--gh-muted); }
.woocommerce form .form-row label { color: var(--gh-ink); font-size: 14px; font-weight: 700; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single { min-height: 48px; border: 1px solid var(--gh-border); border-radius: 9px; background: #fff; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 9px 12px; line-height: 28px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-radius: 10px; box-shadow: 0 10px 28px -26px rgb(42 33 27 / 60%); }
.woocommerce-error { border-top-color: #9c2d2d; }

/* Cart: restyle native table without replacing quantities, coupons, or totals. */
.woocommerce-cart-form, .cart_totals, .woocommerce-form-coupon, .woocommerce-checkout-review-order,
.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields,
.woocommerce-MyAccount-content, .woocommerce-form-login, .woocommerce-form-register,
.gh-order-tracking, .gh-order-preferences, .gh-thankyou-actions { border: 1px solid var(--gh-border); border-radius: 16px; background: #fff; box-shadow: var(--gh-shadow); }
.woocommerce-cart-form { overflow: hidden; }
.woocommerce table.shop_table { border-color: var(--gh-border); border-radius: 14px; border-collapse: separate; background: #fff; }
.woocommerce table.shop_table th { color: var(--gh-muted); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce table.shop_table td { border-color: var(--gh-border); }
.woocommerce-cart table.cart img { width: 88px; border-radius: 10px; }
.woocommerce-cart table.cart td.product-name > a { color: var(--gh-ink); font-family: var(--gh-font-heading); font-size: 20px; font-weight: 600; }
.woocommerce-cart table.cart .product-remove a { color: var(--gh-muted) !important; background: transparent !important; }
.woocommerce-cart table.cart .product-remove a:hover { color: #fff !important; background: var(--gh-bronze) !important; }
.woocommerce-cart table.cart .quantity .qty { min-height: 44px; }
.woocommerce-cart .cart-collaterals { padding-top: 28px; }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%, 440px); padding: 26px; }
.cart_totals h2, .woocommerce-checkout h3, .woocommerce-account h2, .gh-order-preferences h2 { font-size: 27px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { margin-bottom: 0; font-size: 17px; }
.woocommerce-cart .coupon { display: flex; gap: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px; min-height: 48px; }
.woocommerce-cart .cart-empty { padding: 34px; text-align: center; }

/* Checkout: native sections, totals, shipping rates, gateways and Place order remain intact. */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; width: 100%; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields { padding: 26px; }
.woocommerce-additional-fields { margin-top: 24px; }
.woocommerce-checkout-review-order { overflow: hidden; padding: 24px; }
#order_review_heading { margin-top: 38px; }
.woocommerce-checkout #payment { border: 1px solid var(--gh-border); border-radius: 14px; background: var(--gh-blush); }
.woocommerce-checkout #payment div.payment_box { color: var(--gh-ink); background: #fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--gh-border); }
.woocommerce-checkout #place_order { min-height: 52px; padding-inline: 30px; font-size: 17px; }
.wc-block-checkout, .wc-block-cart { --wp--preset--color--contrast: var(--gh-ink); }
.wc-block-components-sidebar-layout { gap: 36px; }
.wc-block-components-sidebar, .wc-block-components-main { min-width: 0; }
.wc-block-components-order-summary, .wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block { border-color: var(--gh-border) !important; border-radius: 16px; background: #fff; }
.wc-block-components-button:not(.is-link) { min-height: 50px; border-radius: 10px; color: #fff; background: var(--gh-bronze); font-weight: 700; }

/* My Account uses standard endpoints and forms. */
.woocommerce-account .woocommerce { display: flow-root; }
.woocommerce-MyAccount-navigation { width: 25%; }
.woocommerce-MyAccount-navigation ul { padding: 0; margin: 0; overflow: hidden; border: 1px solid var(--gh-border); border-radius: 14px; background: #fff; list-style: none; }
.woocommerce-MyAccount-navigation a { display: block; min-height: 48px; padding: 11px 16px; border-bottom: 1px solid var(--gh-border); font-size: 14px; font-weight: 700; }
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { color: var(--gh-bronze-deep); background: var(--gh-blush); }
.woocommerce-MyAccount-content { width: 71%; padding: 26px; }
.woocommerce-account .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { float: none; width: auto; }
.woocommerce-form-login, .woocommerce-form-register { padding: 26px !important; }

/* Confirmation, order metadata, native tracking, and extension wishlist surfaces. */
.woocommerce-order .woocommerce-order-overview { padding: 20px; border: 1px solid var(--gh-border); border-radius: 14px; background: var(--gh-blush); }
.gh-order-preferences, .gh-thankyou-actions, .gh-order-tracking { padding: 24px; margin-block: 26px; }
.gh-order-preferences dl { margin: 0; }
.gh-order-preferences dl > div, .gh-confirmation-facts > div { display: grid; grid-template-columns: minmax(170px, .45fr) 1fr; gap: 16px; padding-block: 10px; border-bottom: 1px solid var(--gh-border); }
.gh-order-preferences dt { font-weight: 800; }
.gh-order-preferences dd { margin: 0; color: var(--gh-muted); }
.gh-confirmation-facts { margin: 0 0 22px; }
.gh-confirmation-facts dt { font-weight: 800; }
.gh-confirmation-facts dd { margin: 0; color: var(--gh-muted); }
.gh-button--secondary { border-color: var(--gh-border) !important; color: var(--gh-ink) !important; background: #fff !important; }
.gh-order-tracking .track_order { max-width: 760px; }
.gh-order-tracking .form-row { float: none; width: 100%; }
.gh-wishlist-setup { padding: 30px; }
.yith-wcwl-add-to-wishlist, .tinv-wraper, .woosw-btn { color: var(--gh-bronze); }

@media (max-width: 782px) {
  .content-shell--commerce { padding-block: 46px; }
  .woocommerce-checkout .col2-set, .woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-MyAccount-content { margin-top: 24px; }
  .woocommerce-cart table.cart .product-thumbnail { display: block; }
  .woocommerce-cart table.cart img { width: 72px; }
  .gh-order-preferences dl > div, .gh-confirmation-facts > div { grid-template-columns: 1fr; gap: 2px; }
}

@media (max-width: 480px) {
  .woocommerce-cart .coupon { display: grid; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { width: 100%; }
  .woocommerce-cart table.cart .product-thumbnail { display: none; }
  .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields,
  .woocommerce-checkout-review-order, .woocommerce-MyAccount-content { padding: 18px; }
}
