.woocommerce .woocommerce-breadcrumb { margin: 0 0 28px; color: var(--muted); font-size: .82rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--navy); }
.woocommerce-products-header { margin-bottom: 26px; }
.woocommerce-products-header__title { font-size: clamp(2rem, 4vw, 3.25rem); }
.woocommerce .woocommerce-result-count { color: var(--muted); }
.woocommerce .woocommerce-ordering select { min-height: 44px; padding: 7px 34px 7px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--white); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 18px; margin: 28px 0 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { position: relative; float: none; width: auto; margin: 0; padding: 0 0 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .18s ease, box-shadow .18s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.woocommerce ul.products li.product a img { aspect-ratio: 1; margin: 0 0 16px; border-radius: var(--radius) var(--radius) 0 0; background: var(--mist); object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 16px; color: var(--navy); font-size: .98rem; line-height: 1.35; }
.woocommerce ul.products li.product .price { min-height: 26px; padding: 0 16px; color: var(--ink); font-size: .95rem; font-weight: 800; }
.woocommerce ul.products li.product .price del { color: var(--muted); font-weight: 500; }
.woocommerce ul.products li.product .price ins { color: var(--orange-dark); text-decoration: none; }
.woocommerce ul.products li.product .button { margin: 10px 16px 0; color: var(--white); background: var(--navy); font-size: .82rem; }
.woocommerce ul.products li.product .button:hover { background: var(--orange); }
.woocommerce span.onsale { top: 10px; left: 10px; min-width: 0; min-height: 0; margin: 0; padding: 6px 10px; border-radius: 7px; background: var(--orange); font-size: .72rem; line-height: 1; }
.woocommerce ul.products li.product .tinv-wraper, .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist { position: absolute; top: 10px; right: 10px; z-index: 2; margin: 0; }

.shop-layout { position: relative; }
.shop-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: 100%; margin: 20px 0 30px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--mist); }
.shop-filters .widget { margin: 0; }
.shop-filters .widget-title { font-size: .95rem; }
.shop-filters ul { padding-left: 0; list-style: none; }
.button--filter { display: none; color: var(--navy); border-color: var(--line); background: var(--white); }

.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { margin-bottom: 60px; }
.woocommerce div.product div.images img { border-radius: var(--radius); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.2rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--navy); font-size: 1.5rem; font-weight: 850; }
.woocommerce div.product p.price ins { color: var(--orange-dark); text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--muted); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 24px; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 8px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 3px 0; text-align: left; }
.woocommerce div.product form.cart .variations tr { display: grid; grid-template-columns: 120px 1fr; align-items: center; margin-bottom: 12px; }
.woocommerce div.product form.cart .variations select { width: 100%; min-width: 0; min-height: 46px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; }
.woocommerce .quantity .qty { min-height: 46px; border: 1px solid var(--line); border-radius: 8px; }
.woocommerce div.product form.cart .button { min-height: 46px; color: var(--white); background: var(--orange); }
.woocommerce div.product form.cart .button:hover { background: var(--orange-dark); }
.product-delivery { display: flex; gap: 13px; margin: 22px 0; padding: 16px; border-radius: 10px; background: var(--mist); }
.product-delivery .icon { color: var(--orange); }
.product-delivery p { margin: 3px 0 0; color: var(--muted); font-size: .88rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--line); background: var(--mist); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 850px; margin-bottom: 55px; }
.related.products { clear: both; }

.woocommerce table.shop_table { overflow: hidden; border-color: var(--line); border-radius: 10px; }
.woocommerce table.shop_table th { color: var(--navy); }
.woocommerce-cart table.cart img { width: 76px; border-radius: 7px; }
.woocommerce a.remove { color: #b42318 !important; }
.woocommerce a.remove:hover { color: var(--white) !important; background: #b42318; }
.woocommerce .cart .button, .woocommerce .cart input.button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit { min-height: 44px; border-radius: 8px; color: var(--white); background: var(--navy); }
.woocommerce .cart .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce input.button:hover { color: var(--white); background: var(--orange-dark); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { color: var(--white); background: var(--orange); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { color: var(--white); background: var(--orange-dark); }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%, 520px); }
.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: 46px; padding: 9px 12px; border: 1px solid #cbd4df; border-radius: 8px; background: var(--white); }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border-color: var(--line); border-radius: 10px; }
.woocommerce-checkout #payment { background: var(--mist); }
.woocommerce-checkout #payment div.payment_box { background: #e5eaf0; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 25%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 71%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 10px; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-bottom: 1px solid var(--line); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--white); background: var(--navy); }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--orange); background: var(--mist); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--orange-dark); }

@media (max-width: 980px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shop-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price { padding-inline: 11px; }
  .woocommerce ul.products li.product .button { width: calc(100% - 22px); margin-inline: 11px; padding-inline: 7px; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; }
  .woocommerce .woocommerce-ordering { margin-bottom: 14px; }
  .button--filter { display: inline-flex; }
  .shop-filters { display: none; grid-template-columns: 1fr; }
  .shop-filters.is-open { display: grid; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
  .woocommerce div.product form.cart .variations tr { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; white-space: nowrap; }
  .woocommerce table.shop_table_responsive tr td::before { color: var(--navy); }
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 25px; }
}

/* Premium product-card treatment shared by shop and homepage loops. */
.woocommerce ul.products { align-items: stretch; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { overflow: hidden; display: flex; min-width: 0; height: 100%; flex-direction: column; padding-bottom: 17px; border: 0; border-radius: 16px; box-shadow: inset 0 0 0 1px #dde4ec, 0 6px 18px rgb(11 31 58 / 4%); }
.woocommerce ul.products li.product:hover { box-shadow: 0 18px 44px rgb(11 31 58 / 12%); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1.05; margin-bottom: 17px; padding: 4px; border-radius: 16px 16px 0 0; background: #f7f9fb; object-fit: contain; transition: transform .35s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { display: -webkit-box; min-height: 2.75em; overflow: hidden; padding-inline: 17px; font-size: .96rem; font-weight: 780; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.woocommerce ul.products li.product .price { display: flex; min-height: 28px; align-items: baseline; flex-wrap: wrap; gap: 5px; padding-inline: 17px; color: var(--navy); }
.woocommerce ul.products li.product .button { width: calc(100% - 34px); margin: auto 17px 0; padding-inline: 10px; border-radius: 9px; text-align: center; }
.woocommerce ul.products li.product .added_to_cart { margin: 9px 17px 0; font-size: .8rem; font-weight: 800; text-align: center; }
.woocommerce ul.products li.product .star-rating { display: none; }
.woocommerce ul.products li.product .tinv-wraper, .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist { top: 12px; right: 12px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: rgb(255 255 255 / 94%); box-shadow: 0 6px 18px rgb(11 31 58 / 14%); }
.woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button { display: grid !important; width: 38px !important; height: 38px !important; min-height: 38px !important; place-items: center; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; color: var(--navy) !important; background: transparent !important; font-size: 0 !important; line-height: 1 !important; text-decoration: none !important; box-shadow: none !important; }
.woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button::before { position: static !important; margin: 0 !important; color: currentcolor; font-size: 20px !important; line-height: 1 !important; }
.woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button:hover, .woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button:focus-visible { color: var(--white) !important; background: var(--orange) !important; }
.woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist-text { position: absolute !important; overflow: hidden !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
.woocommerce ul.products li.product .tinv-wishlist .tinvwl-tooltip { display: none !important; }
.woocommerce span.onsale { top: 12px; left: 12px; padding: 7px 10px; border-radius: 20px; box-shadow: 0 6px 16px rgb(249 115 22 / 25%); }

@media (max-width: 700px) {
  .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding-bottom: 12px; border-radius: 12px; }
  .woocommerce ul.products li.product a img { margin-bottom: 12px; border-radius: 12px 12px 0 0; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.8em; padding-inline: 10px; font-size: .82rem; }
  .woocommerce ul.products li.product .price { min-height: 24px; padding-inline: 10px; font-size: .82rem; }
  .woocommerce ul.products li.product .button { width: calc(100% - 20px); min-height: 40px; margin-inline: 10px; font-size: .72rem; }
  .woocommerce ul.products li.product .tinv-wraper, .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist { top: 7px; right: 7px; width: 34px; height: 34px; }
  .woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button { width: 34px !important; height: 34px !important; min-height: 34px !important; }
  .woocommerce span.onsale { top: 7px; left: 7px; }
}

/* Product catalog and category archives. */
.site-main--shop { overflow-x: clip; padding-block: 28px 64px !important; }
.site-main--shop .woocommerce-breadcrumb { margin-bottom: 18px; color: #738196; font-size: .78rem; }
.site-main--shop .woocommerce-breadcrumb a { color: #52647b; text-decoration: none; }
.site-main--shop .woocommerce-breadcrumb a:hover { color: var(--orange-dark); }
.site-main--shop .woocommerce-products-header { display: flow-root; margin-bottom: 28px; padding: 22px 24px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(135deg, #f8fafc, #fff); }
.site-main--shop .woocommerce-products-header__title { margin: 0; font-size: clamp(1.75rem, 3vw, 2.45rem); letter-spacing: -.035em; }
.site-main--shop .term-description, .site-main--shop .shopnow-shop-subtitle { max-width: 760px; margin: 8px 0 0; color: var(--muted); font-size: .95rem; }
.site-main--shop .term-description p:last-child { margin-bottom: 0; }
.shopnow-category-thumbnail { float: right; width: 82px; height: 82px; margin-left: 22px; }
.shopnow-category-thumbnail img { width: 100%; height: 100%; padding: 3px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); object-fit: contain; }

.shop-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 26px; align-items: start; }
.shop-layout--has-sidebar { grid-template-columns: minmax(220px, 260px) minmax(0, 1fr); }
.shop-layout__main { min-width: 0; }
.shop-layout .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.shop-filters { position: sticky; top: 18px; display: block; width: 100%; margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; }
.shop-filters__header, .shop-filters__backdrop { display: none; }
.shop-filters .widget, .shop-filters .wp-block-woocommerce-filter-wrapper { margin: 0; }
.shop-filters .widget + .widget, .shop-filters > * + .widget, .shop-filters > .wp-block-group + .wp-block-group { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.shop-filters .widget-title, .shop-filters .wp-block-heading { margin-bottom: 13px; color: var(--navy); font-size: .92rem; }
.shop-filters ul { margin: 0; padding: 0; list-style: none; }
.shop-filters li + li { margin-top: 7px; }
.shop-filters a { color: #43546a; font-size: .88rem; text-decoration: none; }
.shop-filters a:hover { color: var(--orange-dark); }
.shop-filters select { width: 100%; min-height: 42px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }

.shop-toolbar { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; padding: 9px 12px 9px 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 4px 15px rgb(11 31 58 / 4%); }
.shop-toolbar::before, .shop-toolbar::after { display: none !important; }
.shop-toolbar .woocommerce-result-count, .shop-toolbar .woocommerce-ordering { float: none; margin: 0; }
.shop-toolbar .woocommerce-result-count { color: #66758a; font-size: .84rem; }
.shop-toolbar .woocommerce-ordering select { max-width: 100%; min-height: 40px; border-radius: 8px; font-size: .84rem; }
.shop-toolbar .button--filter { display: none; }

.shop-layout:not(.shop-layout--has-sidebar) ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.shop-layout--has-sidebar ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shop-layout ul.products { gap: 22px 16px; margin-top: 0; }
.shop-layout ul.products li.product .shopnow-stock-status { margin: -5px 17px 10px; color: #9b2c2c; font-size: .75rem; font-weight: 800; }
.shop-layout ul.products li.product.outofstock .button { color: #526276; background: #e8edf2; }
.shop-layout ul.products li.product.outofstock .button:hover { color: var(--navy); background: #dce3ea; }

.woocommerce nav.woocommerce-pagination { margin-top: 34px; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; overflow: visible; gap: 7px; margin: 0; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { overflow: visible; border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; min-width: 40px; min-height: 40px; place-items: center; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--navy); background: var(--white); font-weight: 750; }
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li span.current { color: var(--white); border-color: var(--orange); background: var(--orange); }

.shop-empty-state { max-width: 680px; margin: 10px auto 30px; padding: clamp(34px, 6vw, 58px) 24px; border: 1px solid var(--line); border-radius: 16px; background: #f8fafc; text-align: center; }
.shop-empty-state > .icon { width: 42px; height: 42px; margin-bottom: 14px; color: var(--orange); }
.shop-empty-state h2 { margin-bottom: 9px; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.shop-empty-state p { max-width: 510px; margin: 0 auto 22px; color: var(--muted); }

@media (max-width: 1100px) {
  .shop-layout--has-sidebar { grid-template-columns: 220px minmax(0, 1fr); gap: 20px; }
  .shop-layout--has-sidebar ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .shop-layout, .shop-layout--has-sidebar { grid-template-columns: minmax(0, 1fr); }
  .shop-layout ul.products, .shop-layout--has-sidebar ul.products, .shop-layout:not(.shop-layout--has-sidebar) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-toolbar .button--filter { display: inline-flex; min-height: 40px; flex: 0 0 auto; gap: 7px; padding: 8px 13px; }
  .shop-toolbar .button--filter .icon { width: 17px; height: 17px; }
  .shop-filters { visibility: hidden; position: fixed; z-index: 100002; top: 0; bottom: 0; left: 0; width: min(88vw, 340px); overflow-y: auto; margin: 0; padding: 0 20px 28px; border: 0; border-radius: 0 15px 15px 0; background: var(--white); box-shadow: 22px 0 55px rgb(3 15 29 / 25%); opacity: 0; transform: translateX(-102%); transition: transform .2s ease, opacity .2s ease, visibility .2s ease; }
  .shop-filters.is-open { visibility: visible; display: block; opacity: 1; transform: translateX(0); }
  .shop-filters__header { position: sticky; z-index: 2; top: 0; display: flex; min-height: 66px; align-items: center; justify-content: space-between; margin: 0 -4px 20px; border-bottom: 1px solid var(--line); background: var(--white); }
  .shop-filters__header button { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--navy); background: var(--white); }
  .shop-filters__header .icon { width: 20px; height: 20px; }
  .shop-filters__backdrop { position: fixed; z-index: 100001; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgb(3 15 29 / 48%); cursor: default; }
  .shopnow-filters-open .shop-filters__backdrop { display: block; }
  body.shopnow-filters-open { overflow: hidden; }
}

@media (max-width: 700px) {
  .site-main--shop { padding-block: 20px 48px !important; }
  .site-main--shop .woocommerce-products-header { margin-bottom: 20px; padding: 18px; }
  .shopnow-category-thumbnail { width: 64px; height: 64px; margin-left: 14px; }
  .shop-toolbar { flex-wrap: wrap; gap: 9px 12px; padding: 10px; }
  .shop-toolbar .woocommerce-result-count { order: 3; width: 100%; }
  .shop-toolbar .woocommerce-ordering { margin-left: auto; }
  .shop-toolbar .woocommerce-ordering select { width: auto; max-width: 180px; }
  .shop-layout ul.products { gap: 14px 10px; }
  .woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 38px; min-height: 38px; }
}

@media (max-width: 340px) {
  .shop-layout ul.products, .shop-layout--has-sidebar ul.products, .shop-layout:not(.shop-layout--has-sidebar) ul.products { grid-template-columns: 1fr; }
  .shop-toolbar .woocommerce-ordering { width: 100%; margin-left: 0; }
  .shop-toolbar .woocommerce-ordering select { width: 100%; max-width: none; }
}

/* Ensure WooCommerce legacy column widths cannot shrink CSS-grid cards. */
.woocommerce ul.products,
.woocommerce-page ul.products { width: 100%; max-width: none; justify-content: normal; justify-items: stretch; }
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.home-product-grid.woocommerce ul.products li.product,
.shop-layout ul.products li.product { float: none; width: 100%; max-width: none; min-width: 0; margin: 0; justify-self: stretch; }

@media (max-width: 700px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .home-product-grid.woocommerce ul.products,
  .shop-layout ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
  .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce-page ul.products[class*="columns-"] li.product,
  .home-product-grid.woocommerce ul.products li.product,
  .shop-layout ul.products li.product { width: 100%; max-width: none; min-width: 0; height: auto; padding-bottom: 10px; }
  .woocommerce ul.products li.product a img { display: block; width: 100%; max-width: 100%; aspect-ratio: 1 / 1.04; margin-bottom: 10px; padding: 3px; object-fit: contain; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.7em; padding-inline: 10px; font-size: .84rem; line-height: 1.35; -webkit-line-clamp: 2; }
  .woocommerce ul.products li.product .price { min-width: 0; min-height: 0; margin-bottom: 9px; padding-inline: 10px; font-size: .82rem; line-height: 1.35; overflow-wrap: anywhere; }
  .woocommerce ul.products li.product .button { overflow: hidden; width: calc(100% - 20px); min-width: 0; min-height: 38px; margin: auto 10px 0; padding: 7px 5px; font-size: .68rem; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
  .woocommerce ul.products li.product .added_to_cart { margin-inline: 10px; }
  .woocommerce ul.products li.product .tinv-wraper, .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist { top: 7px; right: 7px; width: 32px; height: 32px; }
  .woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button { width: 32px !important; height: 32px !important; min-height: 32px !important; }
  .woocommerce ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button::before { font-size: 18px !important; }
}

@media (max-width: 340px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .home-product-grid.woocommerce ul.products,
  .shop-layout ul.products { grid-template-columns: minmax(0, 1fr); }
}

/* Compact native WooCommerce single-product presentation. */
.single-product .site-main--shop { padding-block: 24px 60px !important; }
.single-product .site-main--shop .woocommerce-breadcrumb { margin-bottom: 20px; white-space: normal; }
.single-product .woocommerce div.product { display: flow-root; }
.single-product .woocommerce div.product div.images { width: 54%; margin: 0 4% 40px 0; }
.single-product .woocommerce div.product div.summary { width: 42%; margin: 0 0 40px; }
.single-product .woocommerce-product-gallery { min-width: 0; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #f7f9fb; }
.single-product .woocommerce-product-gallery__image a { display: grid; min-height: 400px; place-items: center; }
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; max-height: 660px; height: auto; padding: 8px; border-radius: 16px; object-fit: contain; }
.single-product .woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin-top: 11px; }
.single-product .woocommerce div.product div.images .flex-control-thumbs li { float: none; width: auto; }
.single-product .woocommerce div.product div.images .flex-control-thumbs img { width: 100%; aspect-ratio: 1; padding: 3px; border: 1px solid transparent; border-radius: 9px; background: #f7f9fb; object-fit: contain; opacity: .7; }
.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active, .single-product .woocommerce div.product div.images .flex-control-thumbs img:hover { border-color: var(--orange); opacity: 1; }
.single-product .woocommerce-product-gallery__trigger { top: 13px !important; right: 13px !important; border: 1px solid var(--line); box-shadow: 0 5px 16px rgb(11 31 58 / 12%); }

.single-product .summary .product_title { display: -webkit-box; overflow: hidden; margin: 0 0 13px; color: var(--navy); font-size: clamp(1.75rem, 3.3vw, 2.65rem); line-height: 1.08; letter-spacing: -.04em; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.single-product .summary > .price { margin: 0 0 18px; color: var(--navy) !important; font-size: clamp(1.35rem, 2.5vw, 1.8rem) !important; line-height: 1.25; }
.single-product .summary > .price del, .single-product .single_variation .price del { color: #7a8798; font-size: .82em; font-weight: 550; }
.single-product .summary > .price ins, .single-product .single_variation .price ins { color: var(--orange-dark); text-decoration: none; }
.single-product .woocommerce-product-details__short-description { margin-bottom: 20px; color: #536277; font-size: .95rem; line-height: 1.7; }
.single-product .woocommerce-product-details__short-description > *:last-child { margin-bottom: 0; }

.single-product .woocommerce div.product form.cart { gap: 11px; margin: 20px 0; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #f8fafc; }
.single-product .woocommerce div.product form.cart table.variations { margin: 0 0 7px; border: 0; }
.single-product .woocommerce div.product form.cart .variations tr { grid-template-columns: minmax(90px, 120px) minmax(0, 1fr); gap: 12px; margin-bottom: 12px; }
.single-product .woocommerce div.product form.cart .variations th { padding-top: 11px; color: var(--navy); font-size: .84rem; font-weight: 800; }
.single-product .woocommerce div.product form.cart .variations td { min-width: 0; }
.single-product .woocommerce div.product form.cart .variations select { min-height: 48px; padding: 9px 38px 9px 12px; border-color: #c8d2de; background-color: var(--white); color: var(--ink); font-size: .92rem; }
.single-product .woocommerce div.product form.cart .variations select:focus { border-color: var(--orange); outline: 3px solid rgb(249 115 22 / 18%); outline-offset: 1px; }
.single-product .reset_variations { display: inline-block; margin-top: 7px; color: #67768a; font-size: .76rem; text-underline-offset: 3px; }
.single-product .single_variation_wrap, .single-product .woocommerce-variation { width: 100%; }
.single-product .woocommerce-variation-description > *:last-child { margin-bottom: 0; }
.single-product .woocommerce-variation-price { margin: 4px 0 8px; }
.single-product .woocommerce-variation-price .price { color: var(--navy); font-size: 1.3rem; font-weight: 850; }
.single-product .woocommerce-variation-availability .stock, .single-product .summary .stock { margin: 6px 0 10px; font-size: .86rem; font-weight: 800; }
.single-product .summary .stock.in-stock { color: #28784a; }
.single-product .summary .stock.out-of-stock { color: #a33434; }
.single-product .woocommerce-variation-add-to-cart, .single-product form.cart:not(.variations_form) { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; }
.single-product .woocommerce .quantity .qty { width: 74px; min-height: 50px; padding: 8px 6px; background: var(--white); text-align: center; }
.single-product .woocommerce div.product form.cart .single_add_to_cart_button { min-height: 50px; flex: 1 1 210px; padding-inline: 24px; border-radius: 9px; background: var(--orange); font-size: .95rem; font-weight: 850; }
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--orange-dark); }
.single-product .woocommerce div.product form.cart .single_add_to_cart_button.disabled, .single-product .woocommerce div.product form.cart .single_add_to_cart_button:disabled { cursor: not-allowed; opacity: .55; }

.single-product .summary .tinv-wraper { width: 100%; margin: 4px 0 0; }
.single-product .summary .tinv-wishlist .tinvwl_add_to_wishlist_button { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; margin: 0; padding: 8px 14px; border: 1px solid #cbd5e1; border-radius: 9px; color: var(--navy); background: var(--white); font-size: .86rem; font-weight: 800; text-decoration: none; }
.single-product .summary .tinv-wishlist .tinvwl_add_to_wishlist_button::before { margin: 0; color: var(--orange); font-size: 20px; }
.single-product .summary .tinv-wishlist .tinvwl_add_to_wishlist_button:hover { border-color: var(--orange); color: var(--orange-dark); }

.single-product .product-delivery { margin: 18px 0 12px; padding: 14px 15px; border: 1px solid #dbe4ed; border-radius: 11px; background: #f4f7fa; }
.single-product .product-delivery .icon { width: 22px; height: 22px; flex: 0 0 auto; }
.single-product .product-delivery strong { color: var(--navy); font-size: .88rem; }
.single-product .product-delivery p { line-height: 1.55; }
.shopnow-purchase-information { display: grid; gap: 8px; margin: 0 0 19px; padding: 13px 15px; border: 1px solid #f4d5bf; border-radius: 11px; background: #fff8f3; list-style: none; }
.shopnow-purchase-information li { display: flex; align-items: flex-start; gap: 9px; color: #56657a; font-size: .78rem; line-height: 1.45; }
.shopnow-purchase-information .icon { width: 17px; height: 17px; flex: 0 0 auto; color: var(--orange-dark); }
.single-product .product_meta { display: grid; gap: 5px; padding-top: 16px; border-top: 1px solid var(--line); color: #718096; font-size: .78rem; }
.single-product .product_meta a { color: #42546b; text-decoration: none; }
.single-product .product_meta a:hover { color: var(--orange-dark); }

.single-product .woocommerce-tabs { clear: both; padding-top: 6px; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 5px; margin: 0 0 22px; padding: 0; border-bottom: 1px solid var(--line); }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before, .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 { margin: 0; padding: 0; border: 0; border-radius: 8px 8px 0 0; background: transparent; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 11px 15px; color: #59697d; font-size: .86rem; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--navy); }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--white); }
.single-product .woocommerce div.product .woocommerce-tabs .panel { max-width: none; margin: 0 0 38px; padding: 0 2px; color: #445368; line-height: 1.75; overflow-wrap: anywhere; }
.single-product .woocommerce-tabs .panel img { max-width: 100% !important; height: auto !important; }
.single-product .woocommerce-tabs .panel iframe, .single-product .woocommerce-tabs .panel video, .single-product .woocommerce-tabs .panel embed { max-width: 100%; }
.single-product .woocommerce-tabs .panel table { display: block; max-width: 100%; overflow-x: auto; }
.single-product .woocommerce-tabs .panel td, .single-product .woocommerce-tabs .panel th { min-width: 110px; }

.single-product .related.products { clear: both; padding-top: 8px; }
.single-product .related.products > h2 { margin-bottom: 22px; font-size: clamp(1.55rem, 3vw, 2.15rem); letter-spacing: -.035em; }
.single-product .related.products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; }

@media (max-width: 860px) {
  .single-product .woocommerce div.product div.images, .single-product .woocommerce div.product div.summary { float: none; width: 100%; margin-right: 0; }
  .single-product .woocommerce div.product div.images { margin-bottom: 30px; }
  .single-product .woocommerce div.product div.summary { margin-bottom: 34px; }
  .single-product .woocommerce-product-gallery__image a { min-height: 0; }
  .single-product .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .single-product .site-main--shop { padding-block: 18px 44px !important; }
  .single-product .summary .product_title { font-size: clamp(1.65rem, 8vw, 2.25rem); }
  .single-product .woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .single-product .woocommerce div.product form.cart { padding: 14px; }
  .single-product .woocommerce div.product form.cart .variations tr { grid-template-columns: 1fr; gap: 2px; }
  .single-product .woocommerce div.product form.cart .variations th { padding-top: 4px; }
  .single-product .woocommerce div.product form.cart .variations select { min-height: 50px; }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto; padding-bottom: 2px; white-space: nowrap; scrollbar-width: thin; }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height: 44px; padding: 11px 13px; }
  .single-product .related.products { padding-top: 0; }
}

@media (max-width: 340px) {
  .single-product .related.products ul.products { grid-template-columns: minmax(0, 1fr); }
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; flex-basis: 100%; }
}

/* Cart, checkout and order confirmation. */
.woocommerce-cart .content-shell--page, .woocommerce-checkout .content-shell--page { max-width: var(--container); }
.woocommerce-cart .entry-header, .woocommerce-checkout .entry-header { margin-bottom: 24px; }
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title { font-size: clamp(1.85rem, 3.5vw, 2.75rem); letter-spacing: -.04em; }
.woocommerce-cart .woocommerce::after, .woocommerce-checkout .woocommerce::after { display: table; clear: both; content: ''; }

.woocommerce-cart-form { float: left; width: 64%; }
.woocommerce-cart .cart-collaterals { float: right; width: 33%; }
.woocommerce-cart table.shop_table { margin: 0; border: 1px solid var(--line); border-collapse: separate; border-spacing: 0; background: var(--white); }
.woocommerce-cart table.shop_table th { padding: 13px 11px; border-bottom: 1px solid var(--line); background: #f4f7fa; font-size: .76rem; letter-spacing: .035em; text-transform: uppercase; }
.woocommerce-cart table.shop_table td { padding: 14px 11px; border-top-color: var(--line); vertical-align: middle; }
.woocommerce-cart table.cart img { width: 68px; height: 68px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #f7f9fb; object-fit: contain; }
.woocommerce-cart .product-name a { color: var(--navy); font-size: .9rem; font-weight: 800; line-height: 1.4; text-decoration: none; }
.woocommerce-cart .product-name a:hover { color: var(--orange-dark); }
.woocommerce-cart .product-name dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 3px 7px; margin: 7px 0 0; color: #69788c; font-size: .76rem; }
.woocommerce-cart .product-name dl.variation dt, .woocommerce-cart .product-name dl.variation dd { float: none; clear: none; margin: 0; padding: 0; }
.woocommerce-cart .product-name dl.variation p { margin: 0; }
.woocommerce-cart .quantity .qty { width: 68px; min-height: 42px; padding: 7px 4px; background: var(--white); text-align: center; }
.woocommerce-cart a.remove { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #ecd2d2; font-size: 1.2rem; line-height: 1; }
.woocommerce-cart td.actions { padding: 13px; background: #fafbfd; }
.woocommerce-cart td.actions .coupon { display: flex; gap: 8px; }
.woocommerce-cart td.actions .coupon .input-text { width: min(210px, 100%); min-height: 42px; padding: 8px 11px; border: 1px solid #cbd4df; border-radius: 8px; }
.woocommerce-cart td.actions .button { min-height: 42px; padding: 8px 14px; font-size: .8rem; }

.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; box-shadow: 0 8px 24px rgb(11 31 58 / 6%); }
.woocommerce-cart .cart_totals h2 { margin-bottom: 14px; font-size: 1.35rem; }
.woocommerce-cart .cart_totals table.shop_table { margin-bottom: 15px; border: 0; background: transparent; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { padding: 11px 4px; border-bottom: 1px solid var(--line); background: transparent; font-size: .88rem; text-transform: none; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
.woocommerce-cart .cart_totals .order-total th, .woocommerce-cart .cart_totals .order-total td { padding-top: 15px; color: var(--navy); font-size: 1rem; }
.woocommerce-cart .cart_totals .order-total strong { font-size: 1.18rem; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 10px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 50px; margin: 0; padding: 13px 18px; background: var(--orange); font-size: .94rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--orange-dark); }
.woocommerce-cart .shipping-calculator-button { font-size: .8rem; }

.woocommerce-cart .cart-empty, .woocommerce-cart .wc-empty-cart-message { max-width: 680px; margin-inline: auto; text-align: center; }
.woocommerce-cart .cart-empty { margin-bottom: 18px; padding: 34px 20px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; color: var(--navy); font-size: 1.05rem; }
.woocommerce-cart .return-to-shop { text-align: center; }
.woocommerce-cart .return-to-shop .button { background: var(--orange); }

.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(340px, 1fr); gap: 0 30px; align-items: start; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; min-width: 0; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0; padding: 19px 20px 0; border: 1px solid var(--line); border-bottom: 0; border-radius: 14px 14px 0 0; background: #f8fafc; font-size: 1.25rem; }
.woocommerce-checkout #order_review { grid-column: 2; min-width: 0; padding: 10px 20px 20px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; background: #f8fafc; box-shadow: 0 8px 24px rgb(11 31 58 / 6%); }
.woocommerce-checkout .woocommerce-billing-fields > h3, .woocommerce-checkout .woocommerce-additional-fields > h3, .woocommerce-checkout #ship-to-different-address { margin-bottom: 18px; font-size: 1.25rem; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper, .woocommerce-checkout .woocommerce-additional-fields__field-wrapper { display: flex; flex-wrap: wrap; margin-inline: -6px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row, .woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row { min-width: 0; padding-inline: 6px; }
.woocommerce-checkout form .form-row { margin: 0 0 14px; }
.woocommerce-checkout form .form-row label { margin-bottom: 6px; color: var(--navy); font-size: .8rem; font-weight: 750; line-height: 1.35; }
.woocommerce-checkout form .form-row input.input-text, .woocommerce-checkout form .form-row textarea, .woocommerce-checkout form .form-row select, .woocommerce-checkout .select2-container--default .select2-selection--single { width: 100%; min-height: 46px; border-color: #c8d2de; background: var(--white); }
.woocommerce-checkout form .form-row textarea { min-height: 100px; resize: vertical; }
.woocommerce-checkout form .form-row input:focus, .woocommerce-checkout form .form-row textarea:focus, .woocommerce-checkout form .form-row select:focus, .woocommerce-checkout .select2-container--focus .select2-selection { border-color: var(--orange); outline: 3px solid rgb(249 115 22 / 16%); outline-offset: 1px; }
.woocommerce-checkout .select2-container { max-width: 100%; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 8px 26px 8px 0; line-height: 28px; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.woocommerce-checkout .woocommerce-form-login-toggle, .woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: 10px; }
.woocommerce-checkout form.login, .woocommerce-checkout form.checkout_coupon { margin: 0 0 20px; padding: 16px; background: #f8fafc; }

.woocommerce-checkout-review-order-table { width: 100%; margin-bottom: 16px !important; border: 0 !important; background: transparent; table-layout: fixed; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 10px 4px !important; border-bottom: 1px solid var(--line); font-size: .84rem; overflow-wrap: anywhere; }
.woocommerce-checkout-review-order-table .product-name { width: 65%; }
.woocommerce-checkout-review-order-table .product-total { text-align: right; }
.woocommerce-checkout-review-order-table .product-quantity { color: #68778a; }
.woocommerce-checkout-review-order-table dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 5px; margin: 5px 0 0; color: #6b798c; font-size: .72rem; }
.woocommerce-checkout-review-order-table dl.variation dt, .woocommerce-checkout-review-order-table dl.variation dd { float: none; clear: none; margin: 0; padding: 0; }
.woocommerce-checkout-review-order-table dl.variation p { margin: 0; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { padding-top: 15px !important; color: var(--navy); font-size: 1rem; }
.woocommerce-checkout-review-order-table .order-total strong { font-size: 1.2rem; }

.woocommerce-checkout #payment { border-radius: 11px; background: #eef2f6; }
.woocommerce-checkout #payment ul.payment_methods { padding: 14px; border-bottom-color: #d7dfe8; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 6px 0; }
.woocommerce-checkout #payment ul.payment_methods li label { color: var(--navy); font-size: .86rem; font-weight: 750; }
.woocommerce-checkout #payment ul.payment_methods li img { max-width: 120px; max-height: 34px; object-fit: contain; }
.woocommerce-checkout #payment div.payment_box { margin: 8px 0 4px; padding: 13px; border-radius: 8px; background: #dfe6ed; font-size: .8rem; line-height: 1.55; }
.woocommerce-checkout #payment .payment_box input, .woocommerce-checkout #payment .payment_box select, .woocommerce-checkout #payment .payment_box iframe { max-width: 100%; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 15px 14px 14px; }
.woocommerce-checkout #payment #place_order { float: none; width: 100%; min-height: 52px; margin-top: 8px; background: var(--orange); font-size: .95rem; font-weight: 850; }
.woocommerce-checkout #payment #place_order:hover { background: var(--orange-dark); }
.woocommerce-checkout #payment #place_order:disabled, .woocommerce-checkout #payment #place_order.disabled { cursor: wait; opacity: .6; }
.woocommerce-checkout .woocommerce-privacy-policy-text, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: #617085; font-size: .75rem; line-height: 1.55; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label { display: flex; align-items: flex-start; gap: 8px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input { flex: 0 0 auto; margin-top: 4px; }
.shopnow-checkout-confidence { display: flex; flex-wrap: wrap; gap: 7px 13px; margin: 0 0 10px; padding: 10px; border: 1px solid #f1d4c0; border-radius: 8px; background: #fff8f3; list-style: none; }
.shopnow-checkout-confidence li { display: inline-flex; align-items: center; gap: 5px; color: #5e6c7f; font-size: .68rem; line-height: 1.35; }
.shopnow-checkout-confidence .icon { width: 15px; height: 15px; flex: 0 0 auto; color: var(--orange-dark); }

.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select, .woocommerce form .form-row.woocommerce-invalid .select2-selection { border-color: #b42318; }
.woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select { border-color: #28784a; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { overflow-wrap: anywhere; border-radius: 9px; line-height: 1.5; }
.woocommerce-error { border-top-color: #b42318; background: #fff3f2; }
.woocommerce-error::before { color: #b42318; }

.woocommerce-order-received .woocommerce-order { max-width: 980px; margin-inline: auto; }
.woocommerce-order-received .woocommerce-thankyou-order-received { margin-bottom: 22px; padding: 20px; border: 1px solid #b9dec9; border-radius: 12px; color: #1f6840; background: #f0faf4; font-size: 1.05rem; font-weight: 800; }
.woocommerce-order-received ul.order_details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 28px; padding: 0; }
.woocommerce-order-received ul.order_details li { float: none; min-width: 0; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 9px; color: #718096; background: #f8fafc; font-size: .7rem; overflow-wrap: anywhere; }
.woocommerce-order-received ul.order_details li strong { margin-top: 5px; color: var(--navy); font-size: .88rem; line-height: 1.35; }
.woocommerce-order-received .woocommerce-order-details, .woocommerce-order-received .woocommerce-customer-details { margin-bottom: 28px; }
.woocommerce-order-received .woocommerce-order-details__title, .woocommerce-order-received .woocommerce-column__title { font-size: 1.35rem; }
.woocommerce-order-received .woocommerce-table--order-details { border-color: var(--line); }
.woocommerce-order-received .woocommerce-customer-details address { padding: 16px; border-color: var(--line); border-radius: 10px; line-height: 1.65; }
.shopnow-thankyou-actions { margin-top: 24px; text-align: center; }

/* WooCommerce Cart, Checkout and Order Confirmation blocks. */
.woocommerce-cart .wp-block-woocommerce-cart, .woocommerce-checkout .wp-block-woocommerce-checkout, .woocommerce-order-received [class*="wc-block-order-confirmation"] { max-width: var(--container); margin-inline: auto; }
.wc-block-components-sidebar-layout { gap: clamp(22px, 3vw, 38px); }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-sidebar { min-width: 0; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; }
.wc-block-cart-items { border: 1px solid var(--line); border-radius: 12px; }
.wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--line) !important; }
.wc-block-cart-item__image img { border-radius: 8px; object-fit: contain; }
.wc-block-components-product-metadata { color: #68778b; font-size: .78rem; }
.wc-block-components-quantity-selector { border-radius: 8px !important; }
.wc-block-components-totals-wrapper { border-color: var(--line) !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { min-height: 50px; border-radius: 9px; color: var(--white) !important; background: var(--orange) !important; font-weight: 850; text-decoration: none !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--orange-dark) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-address-form select { border-color: #c8d2de !important; border-radius: 8px !important; }
.wc-block-components-text-input input:focus, .wc-block-components-combobox .wc-block-components-combobox-control input:focus { box-shadow: 0 0 0 2px rgb(249 115 22 / 20%) !important; }
.wc-block-components-notice-banner { border-radius: 9px; overflow-wrap: anywhere; }
.wc-block-cart__empty-cart__title { margin-bottom: 18px; padding: 30px 18px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; color: var(--navy); font-size: clamp(1.35rem, 3vw, 1.8rem); }
.wc-block-components-panel__button { min-height: 42px; color: var(--navy); font-weight: 750; }
.wc-block-components-totals-coupon__form input { min-width: 0; border-color: #c8d2de !important; border-radius: 8px !important; }
[class*="wc-block-order-confirmation"] .wc-block-components-order-summary, [class*="wc-block-order-confirmation"] .wc-block-components-address-card { border-color: var(--line); border-radius: 11px; }
[class*="wc-block-order-confirmation"] h2 { font-size: clamp(1.25rem, 3vw, 1.65rem); }

/* Secure Track My Order form and post-verification result. */
.site-main--tracking .content-shell--page { max-width: 1040px; }
.track-order-header { max-width: 720px; margin: 0 auto 25px; text-align: center; }
.track-order-header .entry-title { margin: 5px 0 9px; font-size: clamp(2rem, 4.5vw, 3.25rem); letter-spacing: -.045em; }
.track-order-header p { margin: 0; color: #64748b; line-height: 1.65; }
.site-main--tracking .woocommerce-notices-wrapper { max-width: 700px; margin: 0 auto 16px; }
.site-main--tracking .woocommerce-error, .site-main--tracking .woocommerce-info { margin-bottom: 16px; border-radius: 10px; overflow-wrap: anywhere; }
.woocommerce-form-track-order { max-width: 700px; margin: 0 auto; padding: 24px; border: 1px solid var(--line); border-radius: 15px; background: #f8fafc; box-shadow: 0 9px 28px rgb(11 31 58 / 7%); }
.shopnow-track-form__help { margin: 0 0 18px; color: #5e6e82; font-size: .9rem; line-height: 1.6; }
.shopnow-track-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.woocommerce-form-track-order .form-row { float: none; width: auto; margin: 0; padding: 0; }
.woocommerce-form-track-order label { display: block; margin-bottom: 6px; color: var(--navy); font-size: .82rem; font-weight: 800; }
.woocommerce-form-track-order .input-text { width: 100%; min-height: 48px; border: 1px solid #c8d2de; border-radius: 8px; background: var(--white); }
.woocommerce-form-track-order .input-text:focus { border-color: var(--orange); outline: 3px solid rgb(249 115 22 / 16%); outline-offset: 1px; }
.woocommerce-form-track-order .shopnow-track-form__submit { margin-top: 16px; }
.woocommerce-form-track-order .shopnow-track-form__submit .button { min-height: 48px; padding-inline: 25px; }

.shopnow-tracking-result { display: grid; gap: 20px; }
.shopnow-tracking-result__header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.shopnow-tracking-result__header h2 { margin: 4px 0 0; font-size: clamp(1.65rem, 4vw, 2.3rem); }
.shopnow-status-pill { display: inline-flex; min-height: 34px; align-items: center; padding: 6px 12px; border-radius: 999px; color: var(--navy); background: #e7edf4; font-size: .76rem; font-weight: 850; white-space: nowrap; }
.shopnow-status-pill--shipped { color: #8a4205; background: #fff0df; }
.shopnow-status-pill--delivered, .shopnow-status-pill--completed { color: #17633b; background: #e7f7ed; }
.shopnow-status-pill--cancelled, .shopnow-status-pill--refunded, .shopnow-status-pill--failed { color: #9d2929; background: #fff0f0; }
.shopnow-tracking-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.shopnow-tracking-facts > div { padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: #f8fafc; }
.shopnow-tracking-facts span { display: block; margin-bottom: 3px; color: #718096; font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .055em; }
.shopnow-tracking-facts strong { color: var(--navy); font-size: .9rem; }

.shopnow-order-progress { padding: 20px 18px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.shopnow-order-progress ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.shopnow-order-progress__step { position: relative; display: grid; justify-items: center; gap: 8px; color: #8793a3; font-size: .76rem; font-weight: 750; text-align: center; }
.shopnow-order-progress__step::before { position: absolute; z-index: 0; top: 15px; right: 50%; left: -50%; height: 3px; background: #dfe6ed; content: ''; }
.shopnow-order-progress__step:first-child::before { display: none; }
.shopnow-order-progress__step.is-complete::before, .shopnow-order-progress__step.is-current::before { background: var(--orange); }
.shopnow-order-progress__marker { position: relative; z-index: 1; display: grid; width: 32px; height: 32px; place-items: center; border: 2px solid #d5dde6; border-radius: 50%; background: var(--white); font-size: .72rem; }
.shopnow-order-progress__step.is-complete, .shopnow-order-progress__step.is-current { color: var(--navy); }
.shopnow-order-progress__step.is-complete .shopnow-order-progress__marker, .shopnow-order-progress__step.is-current .shopnow-order-progress__marker { border-color: var(--orange); color: var(--white); background: var(--orange); }
.shopnow-order-progress__message { margin: 15px 0 0; color: #526278; font-size: .88rem; text-align: center; }
.shopnow-order-state { padding: 16px 18px; border: 1px solid #cbd9e7; border-radius: 11px; background: #f4f7fa; }
.shopnow-order-state strong { color: var(--navy); }
.shopnow-order-state p { margin: 4px 0 0; color: #5e6e82; }
.shopnow-order-state--stopped { border-color: #efc3c3; background: #fff5f5; }
.shopnow-order-state--stopped strong { color: #9d2929; }
.shopnow-order-state--payment { border-color: #f1c89f; background: #fff8ef; }
.shopnow-order-state--payment strong { color: #9a4c0a; }
.shopnow-manual-payment-notice { border-top-color: var(--orange) !important; }

.shopnow-tracking-data, .shopnow-tracking-delivery, .shopnow-tracking-support { padding: 17px 18px; border: 1px solid #dce4ec; border-radius: 11px; background: #f6f8fb; }
.shopnow-tracking-data h2, .shopnow-tracking-delivery h2 { margin: 0 0 11px; font-size: 1.1rem; }
.shopnow-tracking-data dl { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 14px; }
.shopnow-tracking-data dl > div { min-width: 150px; }
.shopnow-tracking-data dt { color: #718096; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.shopnow-tracking-data dd { margin: 3px 0 0; color: var(--navy); font-weight: 750; overflow-wrap: anywhere; }
.shopnow-tracking-data--empty p, .shopnow-tracking-delivery p, .shopnow-tracking-support p { margin: 5px 0 0; color: #5e6e82; }
.shopnow-track-package { min-height: 43px; padding: 10px 17px; font-size: .78rem; text-transform: uppercase; letter-spacing: .035em; }
.shopnow-tracking-products, .shopnow-tracking-summary__totals, .shopnow-tracking-summary__destination { border: 1px solid var(--line); border-radius: 13px; background: var(--white); overflow: hidden; }
.shopnow-tracking-products > h2, .shopnow-tracking-summary h2 { margin: 0; padding: 15px 17px; border-bottom: 1px solid var(--line); font-size: 1.12rem; }
.shopnow-tracking-product { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 17px; border-bottom: 1px solid var(--line); }
.shopnow-tracking-product:last-child { border-bottom: 0; }
.shopnow-tracking-product__image { display: grid; width: 76px; aspect-ratio: 1; place-items: center; overflow: hidden; border-radius: 8px; background: #f5f7fa; }
.shopnow-tracking-product__image img { width: 100%; height: 100%; object-fit: contain; }
.shopnow-tracking-product__content { min-width: 0; }
.shopnow-tracking-product__content h3 { margin: 0 0 5px; color: var(--navy); font-size: .92rem; line-height: 1.35; overflow-wrap: anywhere; }
.shopnow-tracking-product__meta { display: flex; flex-wrap: wrap; gap: 3px 12px; margin: 0 0 4px; color: #64748b; font-size: .74rem; }
.shopnow-tracking-product__meta > div { display: flex; gap: 4px; }
.shopnow-tracking-product__meta dt { font-weight: 750; }
.shopnow-tracking-product__meta dt::after { content: ':'; }
.shopnow-tracking-product__meta dd { margin: 0; }
.shopnow-tracking-product__quantity { color: #718096; font-size: .74rem; }
.shopnow-tracking-product__total { color: var(--navy); font-size: .88rem; font-weight: 850; white-space: nowrap; }
.shopnow-tracking-summary { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(240px, .9fr); gap: 16px; }
.shopnow-tracking-summary table { width: 100%; margin: 0; border: 0; }
.shopnow-tracking-summary th, .shopnow-tracking-summary td { padding: 9px 17px; border: 0; border-bottom: 1px solid #edf1f5; font-size: .82rem; }
.shopnow-tracking-summary tr:last-child th, .shopnow-tracking-summary tr:last-child td { border-bottom: 0; color: var(--navy); font-weight: 850; }
.shopnow-tracking-summary th { color: #607086; text-align: left; }
.shopnow-tracking-summary td { color: var(--navy); text-align: right; }
.shopnow-tracking-summary address { margin: 0; padding: 16px 17px; color: #526278; font-style: normal; line-height: 1.65; }
.shopnow-tracking-support { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.shopnow-tracking-support a { flex: 0 0 auto; color: var(--orange-dark); font-weight: 800; }
.woocommerce-account .shopnow-order-progress, .woocommerce-account .shopnow-tracking-data { margin-bottom: 22px; }

@media (max-width: 900px) {
  .woocommerce-cart-form, .woocommerce-cart .cart-collaterals { float: none; width: 100%; }
  .woocommerce-cart .cart-collaterals { margin-top: 24px; }
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
  .woocommerce-checkout #order_review_heading { margin-top: 15px; }
  .wc-block-components-sidebar-layout { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; }
  .wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100% !important; padding-left: 0; padding-right: 0; }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 16px; }
}

@media (max-width: 700px) {
  .woocommerce-cart .entry-header, .woocommerce-checkout .entry-header { margin-bottom: 18px; }
  .woocommerce-cart .content-shell--page, .woocommerce-checkout .content-shell--page { width: min(calc(100% - 24px), var(--container)); }
  .woocommerce-cart-form table.shop_table, .woocommerce-cart-form table.shop_table tbody { display: block; width: 100%; }
  .woocommerce-cart-form table.shop_table thead { display: none; }
  .woocommerce-cart-form table.shop_table tr.cart_item { position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 7px 12px; margin: 0; padding: 14px 12px; border-bottom: 1px solid var(--line); }
  .woocommerce-cart-form table.shop_table tr.cart_item:last-child { border-bottom: 0; }
  .woocommerce-cart-form table.shop_table tr.cart_item td { display: block; width: auto; padding: 0; border: 0; text-align: left !important; }
  .woocommerce-cart-form table.shop_table tr.cart_item td::before { float: none; margin-right: 8px; color: #69788b; font-size: .72rem; }
  .woocommerce-cart-form td.product-remove { position: absolute; z-index: 2; top: 9px; right: 9px; }
  .woocommerce-cart-form td.product-thumbnail { display: block !important; grid-column: 1; grid-row: 1 / span 5; }
  .woocommerce-cart-form td.product-thumbnail::before { display: none; }
  .woocommerce-cart-form td.product-thumbnail img { width: 72px; height: 72px; }
  .woocommerce-cart-form td.product-name { grid-column: 2; padding-right: 32px !important; }
  .woocommerce-cart-form td.product-price, .woocommerce-cart-form td.product-quantity, .woocommerce-cart-form td.product-subtotal { grid-column: 2; display: flex !important; align-items: center; justify-content: space-between; gap: 8px; }
  .woocommerce-cart-form td.product-quantity .quantity { margin-left: auto; }
  .woocommerce-cart-form td.actions { display: block !important; padding: 12px !important; }
  .woocommerce-cart td.actions .coupon { display: grid; grid-template-columns: minmax(0, 1fr) auto; float: none; width: 100%; }
  .woocommerce-cart td.actions .coupon .input-text { width: 100%; }
  .woocommerce-cart td.actions > .button { float: none; width: 100%; margin-top: 9px; }
  .woocommerce-cart .cart-collaterals .cart_totals { padding: 16px; }
  .woocommerce-checkout #order_review_heading { padding: 16px 15px 0; }
  .woocommerce-checkout #order_review { padding: 8px 15px 15px; }
  .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { float: none; width: 100%; }
  .woocommerce-checkout #payment ul.payment_methods { padding: 12px; }
  .woocommerce-checkout #payment div.form-row.place-order { padding: 13px 12px; }
  .shopnow-checkout-confidence { display: grid; grid-template-columns: 1fr; }
  .woocommerce-order-received ul.order_details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce-order-received .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr; gap: 18px; }
  .woocommerce-order-received .woocommerce-column { float: none; width: 100%; }
  .wc-block-cart-items { overflow: hidden; }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 13px; }
  .wc-block-components-order-summary-item { min-width: 0; }
  .wc-block-components-order-summary-item__description, .wc-block-components-product-name { overflow-wrap: anywhere; }
  .track-order-header { margin-bottom: 19px; text-align: left; }
  .woocommerce-form-track-order { padding: 17px; }
  .shopnow-track-form__fields, .shopnow-tracking-summary { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-form-track-order .shopnow-track-form__submit .button { width: 100%; }
  .shopnow-tracking-result { gap: 15px; }
  .shopnow-tracking-result__header { align-items: flex-start; }
  .shopnow-tracking-product { grid-template-columns: 64px minmax(0, 1fr); gap: 11px; padding: 12px; }
  .shopnow-tracking-product__image { width: 64px; grid-row: 1 / span 2; }
  .shopnow-tracking-product__total { grid-column: 2; }
  .shopnow-tracking-support { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 380px) {
  .woocommerce-cart-form table.shop_table tr.cart_item { grid-template-columns: 60px minmax(0, 1fr); gap: 6px 10px; padding-inline: 10px; }
  .woocommerce-cart-form td.product-thumbnail img { width: 60px; height: 60px; }
  .woocommerce-cart td.actions .coupon { grid-template-columns: 1fr; }
  .woocommerce-cart td.actions .coupon .button { width: 100%; }
  .woocommerce-order-received ul.order_details { grid-template-columns: 1fr; }
  .site-main--tracking .content-shell--page { width: min(calc(100% - 20px), var(--container)); }
  .shopnow-tracking-facts { grid-template-columns: 1fr; }
  .shopnow-order-progress { padding-inline: 10px; }
  .shopnow-order-progress__step { font-size: .64rem; }
  .shopnow-order-progress__marker { width: 28px; height: 28px; }
  .shopnow-order-progress__step::before { top: 13px; }
  .shopnow-tracking-result__header { display: grid; }
}
