/* Luma Commerce 4.2 — cohesive inner-page system.
 * Loaded after modern-v4.css. Intentionally scoped to the theme's body class;
 * leaves the homepage art direction, gateway logic, and WooCommerce templates intact.
 */
body.s4u-v4 {
  --luma-panel:#fff;
  --luma-wash:#f7f7f7;
  --luma-border:#e8e8e8;
  --luma-strong:#111;
  --luma-subtle:#666;
  --luma-gold:#ffd400;
  --luma-radius:16px;
  --luma-soft-shadow:0 14px 42px rgba(0,0,0,.055);
}
/* Unified page proportions. Hero-sized typography belongs on the homepage only. */
body.s4u-v4 :is(.site-main.page-main,.site-main.shop-main,.site-main.single-main,.site-main.journal-main) {
  padding-block:clamp(28px,3.4vw,48px) clamp(65px,7vw,110px);
  min-height:55vh;
}
body.s4u-v4 :is(.page-main,.journal-main,.single-main,.shop-main) > .container {
  width:min(1320px,calc(100% - 64px));max-width:1320px;
}
body.s4u-v4 .luma-woo-container {width:min(1320px,calc(100% - 64px));max-width:1320px}
body.s4u-v4 .page-intro {
  padding:0 0 clamp(18px,2.2vw,29px);margin:0 0 clamp(22px,2.5vw,36px);
  border-bottom:1px solid var(--luma-border);
}
body.s4u-v4 .page-intro .eyebrow {font-size:11px;letter-spacing:.15em;margin-bottom:9px}
body.s4u-v4 .page-intro h1,
body.s4u-v4 .woocommerce-products-header h1,
body.s4u-v4 .woocommerce-products-header .page-title {
  font-size:clamp(29px,3.2vw,44px)!important;
  line-height:1.1!important;letter-spacing:-.053em!important;font-weight:890;
  margin:0!important;overflow-wrap:anywhere;
}
body.s4u-v4 .page-article .entry-content,
body.s4u-v4 .single-article .entry-content {line-height:1.75;overflow-wrap:anywhere}
body.s4u-v4 :is(.page-article,.single-article) .entry-content :is(h2,h3,h4) {line-height:1.2;letter-spacing:-.036em;margin:1.35em 0 .55em}
body.s4u-v4 :is(.page-article,.single-article) .entry-content h2 {font-size:clamp(23px,2.4vw,31px)}
body.s4u-v4 :is(.page-article,.single-article) .entry-content h3 {font-size:clamp(19px,2vw,25px)}
body.s4u-v4 .entry-content :is(p,li,td,th) {overflow-wrap:break-word}
body.s4u-v4 .entry-content :is(img,video,iframe) {max-width:100%}
body.s4u-v4 .entry-content :is(pre,table) {max-width:100%;overflow-x:auto}
body.s4u-v4 :is(.article-header h1,.journal-main .page-intro h1) {font-size:clamp(31px,3.4vw,47px)!important;line-height:1.13}
body.s4u-v4 .post-grid {gap:clamp(14px,2vw,24px)}
body.s4u-v4 .post-card {border-color:var(--luma-border);border-radius:var(--luma-radius);transition:transform .2s,box-shadow .2s,border-color .2s}
body.s4u-v4 .post-card:hover {border-color:#d5bf63;transform:translateY(-3px);box-shadow:var(--luma-soft-shadow)}
body.s4u-v4 .post-card-content h2 {font-size:clamp(19px,1.8vw,23px);line-height:1.25}

/* Catalogue: a deliberate compact editorial header instead of a billboard-sized "Shop". */
body.s4u-v4 .shop-main .woocommerce-breadcrumb {font-size:12px;margin:0 0 15px;color:#777}
body.s4u-v4 .shop-main .woocommerce-products-header {
  margin:0 0 clamp(22px,2.4vw,34px);padding:clamp(22px,2.6vw,34px) clamp(22px,3.1vw,44px);
  border:1px solid #e9e9e9;border-left:5px solid var(--luma-gold);border-radius:var(--luma-radius);
  background:linear-gradient(110deg,#fafafa 0%,#fff 70%);
}
body.s4u-v4 .shop-main .woocommerce-products-header::before {
  content:'THE CATALOGUE';display:block;font-size:10px;letter-spacing:.17em;font-weight:850;color:#8c7000;margin-bottom:10px;
}
body.s4u-v4 .shop-main .woocommerce-products-header .term-description,
body.s4u-v4 .shop-main .woocommerce-products-header .luma-catalog-intro {font-size:14px;line-height:1.7;color:#666;max-width:72ch;margin:12px 0 0}
body.s4u-v4 .shop-main .woocommerce-products-header .term-description :last-child {margin-bottom:0}
body.s4u-v4 .luma-shop-archive-main .catalog-layout {grid-template-columns:minmax(218px,246px) minmax(0,1fr);gap:clamp(20px,2.3vw,32px);align-items:start}
body.s4u-v4 .luma-shop-archive-main .catalog-filters {
  border:1px solid var(--luma-border);border-radius:var(--luma-radius);padding:19px 20px 22px;
  box-shadow:0 10px 30px rgba(0,0,0,.025);background:#fff;
}
body.s4u-v4 .catalog-filters > summary {font-size:13px;letter-spacing:-.01em;gap:10px;min-height:27px}
body.s4u-v4 .catalog-filter-content {margin-top:13px}
body.s4u-v4 .catalog-filter-content .widget-title {font-size:13px;letter-spacing:-.02em;margin:20px 0 8px}
body.s4u-v4 .collection-filter li a {font-size:13px;padding:11px 0;gap:10px}
body.s4u-v4 .collection-filter li a:hover {color:#8a6900}
body.s4u-v4 .catalog-results {display:flow-root;min-width:0}
body.s4u-v4 .s4u-filter-tabs {gap:8px;margin:0 0 19px}
body.s4u-v4 .s4u-filter-tabs a {border-color:#e3e3e3;padding:9px 15px;font-size:12px;line-height:1.35}
body.s4u-v4 .s4u-filter-tabs a[aria-current="page"] {background:#111;color:var(--luma-gold);border-color:#111}
body.s4u-v4 .catalog-results .woocommerce-result-count {float:left;line-height:44px;margin:0 12px 18px 0;color:#777;font-size:13px}
body.s4u-v4 .catalog-results .woocommerce-ordering {float:right;margin:0 0 18px}
body.s4u-v4 .catalog-results .woocommerce-ordering select {border:1px solid #ddd;border-radius:10px;min-width:190px;height:44px;background-color:#fff;font-size:13px}
body.s4u-v4 .catalog-results > ul.products {clear:both}
body.s4u-v4 .woocommerce ul.products,
body.s4u-v4 .woocommerce-page ul.products {row-gap:clamp(14px,1.6vw,22px)!important;column-gap:clamp(12px,1.5vw,20px)!important}
body.s4u-v4 .woocommerce ul.products > li.product,
body.s4u-v4 .woocommerce-page ul.products > li.product {
  padding:12px 12px 16px!important;border:1px solid #e8e8e8!important;
  border-radius:14px!important;min-width:0!important;background:#fff!important;
  box-shadow:0 2px 12px rgba(0,0,0,.018)!important;
}
body.s4u-v4 .woocommerce ul.products > li.product:hover {border-color:#d2b000!important;box-shadow:0 13px 35px rgba(0,0,0,.08)!important}
body.s4u-v4 .woocommerce ul.products li.product .product-media {aspect-ratio:1.04!important;border-radius:10px!important;margin-bottom:13px!important}
body.s4u-v4 .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size:clamp(14px,1.12vw,17px)!important;font-weight:800!important;line-height:1.42!important;
  letter-spacing:-.022em!important;margin:3px 8px 10px!important;min-height:0;
  overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
body.s4u-v4 .woocommerce ul.products li.product .product-category-label {margin:0 8px 4px!important;font-size:10px}
body.s4u-v4 .woocommerce ul.products li.product .luma-loop-brand {margin:2px 8px 6px;font-size:11px;color:#777}
body.s4u-v4 .woocommerce ul.products li.product .price {font-size:clamp(16px,1.5vw,20px)!important;line-height:1.35;margin:8px 8px 13px!important}
body.s4u-v4 .woocommerce ul.products li.product .button {margin:auto 8px 0!important;min-height:44px!important;border-radius:8px!important;font-size:12px!important}
body.s4u-v4 .woocommerce ul.products li.product .added_to_cart {font-size:12px}
body.s4u-v4 .woocommerce nav.woocommerce-pagination {clear:both;margin-top:26px}

/* Individual product: compact readable hierarchy; variable lengths never force fixed-height gaps. */
body.s4u-v4 .luma-single-product-main .woocommerce-breadcrumb {margin:0 0 24px;font-size:12px}
body.s4u-v4 .woocommerce div.product {gap:clamp(22px,3vw,46px);grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:start}
body.s4u-v4 .woocommerce div.product > div.images {
  border-color:var(--luma-border);border-radius:var(--luma-radius);padding:clamp(12px,2vw,24px);
  background:#fafafa;min-width:0;overflow:hidden;
}
body.s4u-v4 .woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) {background:#f7f7f7;max-height:600px;object-fit:contain}
body.s4u-v4 .woocommerce div.product > div.summary {padding:6px 0 0;min-width:0}
body.s4u-v4 .woocommerce div.product .product_title {
  font-size:clamp(27px,2.75vw,41px)!important;line-height:1.16!important;letter-spacing:-.047em!important;
  margin:0 0 16px!important;overflow-wrap:anywhere;hyphens:auto;font-weight:880;
}
body.s4u-v4 .woocommerce div.product .summary :is(p.price,span.price) {font-size:clamp(23px,2.25vw,32px)!important;margin:10px 0 17px!important;line-height:1.3!important}
body.s4u-v4 .woocommerce div.product .woocommerce-product-details__short-description {font-size:14px;line-height:1.76;color:#5e5e5e;max-width:70ch;overflow-wrap:anywhere}
body.s4u-v4 .woocommerce div.product .woocommerce-product-details__short-description :is(h2,h3,h4) {font-size:clamp(17px,1.8vw,23px);line-height:1.3;margin:17px 0 8px;letter-spacing:-.03em}
body.s4u-v4 .woocommerce div.product .woocommerce-product-details__short-description :is(p,ul,ol) {margin:0 0 13px}
body.s4u-v4 .woocommerce div.product .woocommerce-product-details__short-description :is(ul,ol) {padding-left:21px}
body.s4u-v4 .woocommerce div.product .summary .luma-product-brand {font-size:12px;margin:7px 0 14px}
body.s4u-v4 .woocommerce div.product form.cart {gap:12px;margin:16px 0 18px;padding:18px 0;border-color:#ececec}
body.s4u-v4 .woocommerce div.product form.cart .single_add_to_cart_button {min-width:min(210px,100%);border-radius:9px!important}
body.s4u-v4 .woocommerce div.product form.cart .variations {margin:0 0 9px}
body.s4u-v4 .woocommerce div.product form.cart .variations label {font-size:12px}
body.s4u-v4 .woocommerce div.product .product_meta {padding-top:16px;border-color:#ebebeb;line-height:1.9;overflow-wrap:anywhere}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs {margin:8px 0 0;border:1px solid var(--luma-border);border-radius:var(--luma-radius);padding:clamp(19px,2.4vw,32px);min-width:0}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs ul.tabs {margin:0 0 20px!important;gap:clamp(12px,2vw,26px);border-color:#eaeaea}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs ul.tabs li a {padding:10px 0!important;font-size:13px}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs :is(h2,h3,h4) {font-size:clamp(19px,2.1vw,27px);line-height:1.25;letter-spacing:-.035em;margin:0 0 15px}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs .panel {line-height:1.77;overflow-wrap:anywhere;max-width:100%}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs .panel :is(table,pre) {max-width:100%;overflow-x:auto}
body.s4u-v4 .woocommerce div.product :is(.related,.upsells) {margin:8px 0 0;min-width:0}
body.s4u-v4 .woocommerce div.product :is(.related,.upsells) > h2 {font-size:clamp(23px,2.65vw,34px)!important;margin:0 0 20px!important;letter-spacing:-.046em}

/* Standard (shortcode) cart; the original theme only styled an obsolete custom template. */
body.s4u-v4 .luma-page-cart .page-intro h1 {font-size:clamp(29px,3.2vw,44px)!important}
body.s4u-v4 .luma-page-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,365px);gap:22px;align-items:start;
}
body.s4u-v4 .luma-page-cart .entry-content > .woocommerce > .woocommerce-notices-wrapper,
body.s4u-v4 .luma-page-cart .entry-content > .woocommerce > .woocommerce-message {grid-column:1/-1}
body.s4u-v4 .luma-page-cart form.woocommerce-cart-form {grid-column:1;min-width:0;margin:0}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table {
  border:1px solid var(--luma-border);border-collapse:separate;border-spacing:0;border-radius:var(--luma-radius);width:100%;margin:0;
}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table thead th {
  background:#f7f7f7;color:#333;padding:14px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table td {padding:15px 12px;vertical-align:middle;font-size:13px;min-width:0;overflow-wrap:anywhere}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form .product-thumbnail img {width:75px;height:75px;object-fit:contain;background:#f7f7f7;border-radius:9px}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form .product-name a {font-size:13px;font-weight:760;line-height:1.45;overflow-wrap:anywhere}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form :is(.product-price,.product-subtotal) {font-size:13px;font-weight:750}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form .quantity .qty {width:65px!important;min-width:62px!important;min-height:40px;font-size:13px}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form td.actions {padding:17px!important;background:#fcfcfc}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form td.actions .coupon {display:flex;flex-wrap:wrap;align-items:center;gap:9px;max-width:100%}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form td.actions .coupon #coupon_code {width:170px;min-width:110px;max-width:100%;height:44px}
body.s4u-v4 .luma-page-cart .woocommerce-cart-form td.actions .button {min-height:44px;padding:11px 15px;border-radius:8px}
body.s4u-v4 .luma-page-cart .cart-collaterals {grid-column:2;min-width:0}
body.s4u-v4 .luma-page-cart .cart-collaterals::before,
body.s4u-v4 .luma-page-cart .cart-collaterals::after {display:none}
body.s4u-v4 .luma-page-cart .cart-collaterals .cart_totals {
  float:none;width:100%;max-width:none;min-width:0;padding:clamp(18px,2vw,27px);
  background:#fff;border:1px solid var(--luma-border);border-radius:var(--luma-radius);box-shadow:var(--luma-soft-shadow);
}
body.s4u-v4 .luma-page-cart .cart-collaterals .cart_totals h2 {font-size:clamp(20px,2vw,26px);margin:0 0 15px;letter-spacing:-.04em}
body.s4u-v4 .luma-page-cart .cart-collaterals .cart_totals table.shop_table {border:0;border-radius:0;width:100%;table-layout:fixed;margin:0}
body.s4u-v4 .luma-page-cart .cart-collaterals .cart_totals table :is(th,td) {padding:13px 0;border-color:#eee;background:transparent;font-size:13px;overflow-wrap:anywhere}
body.s4u-v4 .luma-page-cart .cart-collaterals .cart_totals table th {width:38%}
body.s4u-v4 .luma-page-cart .cart-collaterals .cart_totals .order-total strong {font-size:19px;color:#111}
body.s4u-v4 .luma-page-cart .cart-collaterals .wc-proceed-to-checkout {padding:15px 0 0}
body.s4u-v4 .luma-page-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button {width:100%;margin:0;min-height:52px;border-radius:9px!important;background:var(--luma-gold)!important;color:#111!important}
body.s4u-v4 .luma-page-cart .cart-collaterals .cross-sells {float:none;width:100%;margin:24px 0 0}
body.s4u-v4 .luma-page-cart .cart-collaterals .cross-sells > h2 {font-size:22px}
body.s4u-v4 .luma-page-cart .cart-empty {padding:24px;border:1px solid var(--luma-border);border-radius:var(--luma-radius)}
body.s4u-v4 .luma-page-cart .return-to-shop .button {background:var(--luma-gold);color:#111}

/* Classic Checkout: preserve the checkout/gateway DOM (including multiple BACS methods). */
body.s4u-v4 .luma-page-checkout form.checkout {grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:clamp(18px,2.5vw,30px)}
body.s4u-v4 .luma-page-checkout #customer_details,
body.s4u-v4 .luma-page-checkout #order_review {padding:clamp(17px,2.3vw,28px);border:1px solid var(--luma-border);border-radius:var(--luma-radius);box-shadow:0 6px 24px rgba(0,0,0,.025);min-width:0}
body.s4u-v4 .luma-page-checkout #customer_details :is(h3,h2),
body.s4u-v4 .luma-page-checkout #order_review_heading {font-size:clamp(19px,2vw,25px)!important;line-height:1.25;letter-spacing:-.04em;margin:0 0 18px}
body.s4u-v4 .luma-page-checkout #customer_details .col-1,
body.s4u-v4 .luma-page-checkout #customer_details .col-2 {max-width:100%;margin-bottom:15px}
body.s4u-v4 .luma-page-checkout .form-row {margin-bottom:13px}
body.s4u-v4 .luma-page-checkout .form-row label {font-weight:740;font-size:12px;margin-bottom:6px}
body.s4u-v4 .luma-page-checkout .form-row :is(input.input-text,textarea,select) {background:#fff;border:1px solid #dedede;border-radius:9px;min-height:46px;padding:11px 13px;max-width:100%}
body.s4u-v4 .luma-page-checkout .select2-container .select2-selection--single {min-height:46px;border:1px solid #dedede;border-radius:9px}
body.s4u-v4 .luma-page-checkout .select2-container .select2-selection--single .select2-selection__rendered {line-height:44px;padding-left:12px}
body.s4u-v4 .luma-page-checkout #order_review table.shop_table {table-layout:auto}
body.s4u-v4 .luma-page-checkout #order_review table :is(th,td) {font-size:13px;padding:12px 7px;overflow-wrap:anywhere}
body.s4u-v4 .luma-page-checkout #payment {background:#fafafa;border:1px solid #eee;border-radius:12px;overflow:hidden}
body.s4u-v4 .luma-page-checkout #payment ul.payment_methods {background:transparent;padding:13px!important;border-bottom-color:#e5e5e5}
body.s4u-v4 .luma-page-checkout #payment ul.payment_methods li {padding:11px 4px;border-bottom:1px solid #eaeaea;line-height:1.5}
body.s4u-v4 .luma-page-checkout #payment ul.payment_methods li:last-child {border-bottom:0}
body.s4u-v4 .luma-page-checkout #payment ul.payment_methods li label {font-weight:780;font-size:13px;cursor:pointer}
body.s4u-v4 .luma-page-checkout #payment ul.payment_methods li input[type=radio] {accent-color:#111;margin-right:7px}
body.s4u-v4 .luma-page-checkout #payment div.payment_box {background:#fff;border:1px solid #ebebeb;border-radius:9px;padding:13px 15px;margin:12px 0 3px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
body.s4u-v4 .luma-page-checkout #payment div.payment_box::before {display:none}
body.s4u-v4 .luma-page-checkout #payment div.place-order {padding:17px!important}
body.s4u-v4 .luma-page-checkout #place_order {min-height:52px;border-radius:9px!important;font-size:13px!important}
body.s4u-v4 .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {font-size:12px;line-height:1.7}
body.s4u-v4 .luma-page-checkout .woocommerce-form-coupon-toggle {margin-bottom:14px}
body.s4u-v4 .luma-page-checkout form.checkout_coupon {max-width:600px;border-color:var(--luma-border)}

/* Account and order detail screens, not just the login form. */
body.s4u-v4 .luma-page-account .woocommerce {min-width:0}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation {width:min(240px,26%);margin:0 0 20px}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation ul {border-color:var(--luma-border);border-radius:var(--luma-radius);padding:10px}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation li a {font-size:13px;border-radius:9px}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation li.is-active a {background:#111;color:var(--luma-gold)}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-content {width:calc(74% - 22px);padding:clamp(18px,2.6vw,30px);border-color:var(--luma-border);border-radius:var(--luma-radius);min-width:0}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-content :is(h2,h3) {font-size:clamp(19px,2vw,26px);line-height:1.22;letter-spacing:-.035em}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-content a {overflow-wrap:anywhere}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-content table {max-width:100%}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-content .woocommerce-Addresses {display:flex;flex-wrap:wrap;gap:18px}
body.s4u-v4 .luma-page-account .woocommerce-MyAccount-content .woocommerce-Addresses > div {float:none;flex:1 1 240px;width:auto}
body.s4u-v4 .woocommerce-order .woocommerce-order-overview {display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start;border-color:var(--luma-border);border-radius:var(--luma-radius)}
body.s4u-v4 .woocommerce-order .woocommerce-order-overview li {float:none;max-width:100%;overflow-wrap:anywhere}
body.s4u-v4 .woocommerce-order .woocommerce-customer-details address {overflow-wrap:anywhere}
body.s4u-v4 .woocommerce-account .woocommerce-MyAccount-content :is(input,textarea,select) {max-width:100%}

/* WooCommerce cart/checkout blocks remain visually supported if the owner reverts them later. */
body.s4u-v4 :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) {max-width:1320px}
body.s4u-v4 :is(.wc-block-cart .wc-block-components-main,.wc-block-checkout .wc-block-components-main) {min-width:0}
body.s4u-v4 :is(.wc-block-cart .wc-block-components-sidebar,.wc-block-checkout .wc-block-components-sidebar) {min-width:0;border:1px solid var(--luma-border);border-radius:var(--luma-radius);padding:clamp(14px,2vw,24px)}
body.s4u-v4 .wc-block-components-button {border-radius:9px}

/* Footer Information column is already the third region; improve long menu lists only. */
body.s4u-v4 .s4u-footer-main {gap:clamp(22px,3.2vw,48px)}
body.s4u-v4 .s4u-footer-main > div {min-width:0}
body.s4u-v4 .s4u-footer-main .luma-footer-menu {margin-top:13px}
body.s4u-v4 .s4u-footer-main .luma-footer-menu li {margin:0 0 10px}
body.s4u-v4 .s4u-footer-main .luma-footer-menu a {font-size:13px;line-height:1.5;overflow-wrap:anywhere}

/* Small laptops/tablets: avoid narrow four-column cards and unbalanced columns. */
@media (max-width:1199px) {
  body.s4u-v4 .luma-shop-archive-main .catalog-layout {grid-template-columns:210px minmax(0,1fr);gap:20px}
  body.s4u-v4 .catalog-results ul.products {grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.s4u-v4 .luma-page-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) {grid-template-columns:minmax(0,1fr) 300px}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table td {padding:12px 8px}
}
@media (max-width:990px) {
  body.s4u-v4 .luma-shop-archive-main .catalog-layout {grid-template-columns:1fr}
  body.s4u-v4 .shop-sidebar {width:100%}
  body.s4u-v4 .catalog-filters {padding:14px 18px}
  body.s4u-v4 .catalog-filter-content {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}
  body.s4u-v4 .catalog-filter-content > .widget {min-width:0}
  body.s4u-v4 .catalog-results ul.products {grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.s4u-v4 .luma-page-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) {grid-template-columns:1fr}
  body.s4u-v4 .luma-page-cart .cart-collaterals {grid-column:1}
  body.s4u-v4 .luma-page-checkout form.checkout {grid-template-columns:1fr}
  body.s4u-v4 .luma-page-checkout #customer_details,
  body.s4u-v4 .luma-page-checkout #order_review_heading,
  body.s4u-v4 .luma-page-checkout #order_review {grid-column:1;grid-row:auto}
  body.s4u-v4 .luma-page-checkout #order_review_heading {margin:10px 0 -12px}
}
@media (max-width:760px) {
  body.s4u-v4 :is(.page-main,.journal-main,.single-main,.shop-main) > .container,
  body.s4u-v4 .luma-woo-container {width:calc(100% - 32px)!important}
  body.s4u-v4 :is(.site-main.page-main,.site-main.shop-main,.site-main.single-main,.site-main.journal-main) {padding-top:24px;padding-bottom:64px}
  body.s4u-v4 .shop-main .woocommerce-products-header {padding:22px 20px;margin-bottom:20px}
  body.s4u-v4 .catalog-filter-content {grid-template-columns:1fr}
  body.s4u-v4 .catalog-results ul.products {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  body.s4u-v4 .woocommerce ul.products > li.product {padding:9px 9px 13px!important}
  body.s4u-v4 .woocommerce ul.products li.product .woocommerce-loop-product__title {font-size:14px!important;margin:2px 5px 8px!important}
  body.s4u-v4 .woocommerce ul.products li.product .product-category-label {margin-left:5px!important;margin-right:5px!important}
  body.s4u-v4 .woocommerce ul.products li.product .luma-loop-brand {margin-left:5px;margin-right:5px}
  body.s4u-v4 .woocommerce ul.products li.product .price {margin-left:5px!important;margin-right:5px!important;font-size:17px!important}
  body.s4u-v4 .woocommerce ul.products li.product .button {margin-left:5px!important;margin-right:5px!important;padding:10px 8px!important;font-size:11px!important}
  body.s4u-v4 .woocommerce div.product {display:block}
  body.s4u-v4 .woocommerce div.product > div.images,
  body.s4u-v4 .woocommerce div.product > div.summary {width:100%!important;float:none!important;margin:0 0 22px!important}
  body.s4u-v4 .woocommerce div.product .product_title {font-size:clamp(26px,6vw,35px)!important}
  body.s4u-v4 .woocommerce div.product .woocommerce-tabs {padding:18px;margin-bottom:22px}
  body.s4u-v4 .woocommerce div.product :is(.related,.upsells) {margin-top:26px}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table {border:0}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item {
    border:1px solid var(--luma-border);border-radius:12px;margin:0 0 12px;padding:12px;display:block;background:#fff;
  }
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td {padding:9px 6px;border-color:#efefef}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-thumbnail {display:block;text-align:center}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-thumbnail::before {display:none}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-thumbnail img {width:90px;height:90px}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form td.actions {border:1px solid var(--luma-border);border-radius:12px}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form td.actions .coupon {float:none;margin-bottom:12px;justify-content:space-between}
  body.s4u-v4 .luma-page-cart .woocommerce-cart-form td.actions .button[name="update_cart"] {display:block;float:none;width:100%}
  body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation,
  body.s4u-v4 .luma-page-account .woocommerce-MyAccount-content {width:100%;float:none;margin:0 0 18px}
  body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation ul {display:flex;overflow-x:auto;gap:6px;padding:9px}
  body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation li {flex:0 0 auto}
  body.s4u-v4 .luma-page-account .woocommerce-MyAccount-navigation li a {white-space:nowrap;padding:9px 11px}
  body.s4u-v4 .post-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px) {
  body.s4u-v4 .catalog-results .woocommerce-result-count {float:none;line-height:1.5;margin:0 0 10px}
  body.s4u-v4 .catalog-results .woocommerce-ordering {float:none;margin:0 0 16px}
  body.s4u-v4 .catalog-results .woocommerce-ordering select {width:100%}
  body.s4u-v4 .woocommerce ul.products li.product .product-media {margin-bottom:9px!important}
  body.s4u-v4 .woocommerce ul.products li.product .product-media img {padding:6px!important}
  body.s4u-v4 .woocommerce div.product form.cart .single_add_to_cart_button {min-width:0;flex:1}
  body.s4u-v4 .luma-page-checkout #customer_details,
  body.s4u-v4 .luma-page-checkout #order_review {padding:16px}
  body.s4u-v4 .luma-page-checkout #customer_details :is(.form-row-first,.form-row-last) {width:100%;float:none}
  body.s4u-v4 .post-grid {grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce) {
  body.s4u-v4 .post-card,
  body.s4u-v4 .woocommerce ul.products > li.product {transition:none!important;transform:none!important}
}

/* Final small-screen cart safeguard: native Woo cart tables have many columns.
   Make the actual responsive cart row the stacking container, not the table grid. */
@media (max-width:760px) {
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form,
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table,
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody {
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;table-layout:auto!important;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table thead {display:none!important}
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr {
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td {
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
    float:none!important;clear:both!important;text-align:right!important;overflow-wrap:anywhere;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-name {
    text-align:left!important;font-size:14px!important;font-weight:750;line-height:1.5;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-remove {
    text-align:right!important;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-thumbnail {
    text-align:center!important;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-quantity .quantity {
    display:inline-block;float:none;margin:0;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr > td.actions {
    display:block!important;width:100%!important;max-width:100%!important;float:none!important;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr > td.actions .coupon {
    display:flex!important;max-width:100%!important;flex-wrap:wrap;gap:8px;
  }
  body.s4u-v4 .luma-page-cart form.woocommerce-cart-form table.shop_table tbody tr > td.actions .coupon #coupon_code {
    flex:1 1 125px;width:auto;min-width:0;
  }
}
@media (min-width:761px) {
  body.s4u-v4 .woocommerce div.product .product_title {font-size:clamp(27px,2.45vw,36px)!important}
}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs ul.tabs {list-style:none}
body.s4u-v4 .woocommerce div.product .woocommerce-tabs ul.tabs li {list-style:none}

/* This theme renders shop archives via woocommerce_content(), which outputs an
   h1.page-title directly (without .woocommerce-products-header). Cover that
   REAL DOM as well, not only WooCommerce's archive-product.php layout. */
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title {
  padding:clamp(24px,2.7vw,34px) clamp(22px,3.1vw,44px) 15px!important;
  margin:0!important;border:1px solid #e9e9e9;border-left:5px solid var(--luma-gold);
  border-bottom:0;border-radius:var(--luma-radius) var(--luma-radius) 0 0;
  background:linear-gradient(110deg,#fafafa 0%,#fff 70%);
  font-size:clamp(29px,3.2vw,44px)!important;line-height:1.1!important;
  letter-spacing:-.053em!important;overflow-wrap:anywhere;
}
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title::before {
  content:'THE CATALOGUE';display:block;font-size:10px;letter-spacing:.17em;font-weight:850;
  color:#8c7000;margin:0 0 10px;line-height:1.5;
}
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title + .luma-catalog-intro,
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title + .term-description,
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title + .page-description {
  max-width:none;width:100%;margin:0 0 clamp(22px,2.4vw,34px);padding:0 clamp(22px,3.1vw,44px) clamp(22px,2.6vw,32px);
  background:linear-gradient(110deg,#fafafa,#fff 70%);border:1px solid #e9e9e9;border-left:5px solid var(--luma-gold);border-top:0;
  border-radius:0 0 var(--luma-radius) var(--luma-radius);font-size:14px;color:#666;line-height:1.7;
}
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title + .term-description > :last-child,
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title + .page-description > :last-child {margin-bottom:0}
/* If a category has no description, keep the heading as a complete card. */
body.s4u-v4 .luma-shop-archive-main .luma-woocommerce-content > h1.page-title:not(:has(+ .luma-catalog-intro,+ .term-description,+ .page-description)) {
  border-bottom:1px solid #e9e9e9;border-radius:var(--luma-radius);
  padding-bottom:clamp(24px,2.7vw,34px)!important;margin-bottom:clamp(22px,2.4vw,34px)!important;
}


/* Single-product top section refinements — v4.2.2.
   Intentionally limited to the individual product page and its first-row panels;
   descriptions/tabs, catalogue, cart, checkout and homepage are unchanged. */
body.s4u-v4 .luma-single-product-main .woocommerce div.product {
  column-gap:clamp(20px,3vw,42px);
  row-gap:clamp(22px,2.7vw,35px);
  align-items:start;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product > div.images {
  padding:clamp(12px,1.8vw,23px);
  border:1px solid #e8e8e8;
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 32px rgba(0,0,0,.035);
}
body.s4u-v4 .luma-single-product-main .woocommerce-product-gallery__image > a {
  display:block;
  position:relative;
  background:#f8f8f8;
  border-radius:12px;
  overflow:hidden;
}
/* The original photograph should always be fitted, not cropped or magnified.
   WooCommerce's jQuery zoom creates an img.zoomImg with inline opacity/position;
   the regular-photo rules must NOT apply to that image. */
body.s4u-v4 .luma-single-product-main .woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) {
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:560px;
  object-fit:contain;
  object-position:center;
  background:#f8f8f8;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product div.images img.zoomImg {
  max-width:none!important;
  max-height:none!important;
  object-fit:fill;
  pointer-events:none;
  /* Deliberately no opacity declaration: WooCommerce toggles it on mouse enter/leave. */
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product div.images .flex-control-thumbs {
  gap:10px;
  padding:12px 0 0!important;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product div.images .flex-control-thumbs li {
  border:1px solid #e8e8e8;
  border-radius:10px;
  background:#fafafa;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product div.images .flex-control-thumbs li:hover,
body.s4u-v4 .luma-single-product-main .woocommerce div.product div.images .flex-control-thumbs li:focus-within {
  border-color:#d6b200;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product > div.summary {
  box-sizing:border-box;
  padding:clamp(20px,2.6vw,34px);
  background:#fff;
  border:1px solid #e8e8e8;
  border-radius:17px;
  box-shadow:0 10px 32px rgba(0,0,0,.035);
  min-width:0;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_title {
  margin:0 0 12px!important;
  font-size:clamp(27px,2.5vw,36px)!important;
  line-height:1.18!important;
  letter-spacing:-.042em!important;
  text-wrap:pretty;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary :is(p.price,span.price) {
  font-size:clamp(23px,2.25vw,30px)!important;
  line-height:1.25!important;
  margin:11px 0 16px!important;
  color:#111!important;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .woocommerce-product-details__short-description {
  font-size:15px;
  line-height:1.72;
  color:#4c4c4c;
  max-width:65ch;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .woocommerce-product-details__short-description :is(p,ul,ol) {
  margin-bottom:12px;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary form.cart {
  margin:19px 0 17px;
  padding:18px 0;
  border-color:#eaeaea;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta {
  border-top:1px solid #ececec;
  padding-top:18px;
  margin-top:5px;
  color:#555;
  font-size:14px;
  line-height:1.65;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 19px;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta :is(.posted_in,.tagged_as,.sku_wrapper) {
  font-size:14px;
  line-height:1.65;
  overflow-wrap:anywhere;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta .posted_in {
  font-weight:650;
  color:#343434;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta a {
  font-size:14px;
  font-weight:750;
  color:#171717;
  text-decoration:underline;
  text-decoration-color:#dfbf1d;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta a:hover,
body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta a:focus-visible {
  color:#8b6d00;
}
@media (max-width:760px) {
  body.s4u-v4 .luma-single-product-main .woocommerce div.product {row-gap:18px}
  body.s4u-v4 .luma-single-product-main .woocommerce div.product > div.summary {padding:clamp(18px,4.5vw,25px)}
  body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_title {font-size:clamp(25px,6vw,32px)!important}
  body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary form.cart .quantity {flex:0 0 88px;max-width:88px}
  body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary form.cart .single_add_to_cart_button {
    flex:1 1 160px!important;
    min-width:145px!important;
    white-space:nowrap;
    padding-inline:14px!important;
  }
  body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta,
  body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta :is(.posted_in,.tagged_as,.sku_wrapper) {font-size:13.5px}
  body.s4u-v4 .luma-single-product-main .woocommerce div.product .summary .product_meta a {font-size:13.5px}
}
@media (hover:none), (pointer:coarse) {
  /* On touchscreens WooCommerce opens its lightbox rather than hover zoom. */
  body.s4u-v4 .luma-single-product-main .woocommerce div.product div.images img.zoomImg {pointer-events:none}
}
