/* WooCommerce branding overrides. Native WooCommerce layout and behavior stay enabled.
 * Generated on every import, loaded only while WooCommerce is active.
 * Refine these tokens or append store-specific rules here after import.
 */
/* DI WOO TOKENS START */
/* Imported branding snapshot; edit these tokens to refine the store. */
:root {
  --di-wc-font: var(--font-body, 'Open Sans',Arial,sans-serif);
  --di-wc-heading-font: 'Barlow Condensed','Arial Narrow',sans-serif;
  --di-wc-text: var(--ink, #171613);
  --di-wc-surface: var(--paper, #f6f2e9);
  --di-wc-accent: var(--gold, #c49a45);
  --di-wc-button-text: #16130e;
  --di-wc-button-font: var(--di-wc-font);
  --di-wc-button-weight: 600;
  --di-wc-radius: 0.25rem;
  --di-wc-button-padding: 13px 25px;
  --di-wc-input-background: #fffdf8;
  --di-wc-input-text: var(--ink, #171613);
  --di-wc-input-border: #767676;
  --di-wc-input-radius: 0.25rem;
}
@font-face {
font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("https://espressions.digitalinteractivehosting.com/wp-content/uploads/di2026-design-20261019-171346-Wc3IN/assets/fonts/open-sans-1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("https://espressions.digitalinteractivehosting.com/wp-content/uploads/di2026-design-20261019-171346-Wc3IN/assets/fonts/open-sans-1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("https://espressions.digitalinteractivehosting.com/wp-content/uploads/di2026-design-20261019-171346-Wc3IN/assets/fonts/open-sans-1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("https://espressions.digitalinteractivehosting.com/wp-content/uploads/di2026-design-20261019-171346-Wc3IN/assets/fonts/barlow-condensed-1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DI WOO TOKENS END */

/* Public WooCommerce wrappers, including classic pages and block-based storefronts. */
:where(.woocommerce:not(body), body.woocommerce .product, body.woocommerce ul.products, [class*="wp-block-woocommerce-"]) {
 font-family: var(--di-wc-font);
 color: var(--di-wc-text);
 --wc-primary: var(--di-wc-accent);
 --wc-primary-text: var(--di-wc-button-text);
 --wc-content-bg: var(--di-wc-surface);
}
:where(.woocommerce:not(body), body.woocommerce .product, body.woocommerce ul.products, [class*="wp-block-woocommerce-"]) :is(h1,h2,h3,h4,h5,h6) {
 font-family: var(--di-wc-heading-font);
}
:where(.woocommerce:not(body), body.woocommerce .product, body.woocommerce ul.products) a:not(.button),
:where([class*="wp-block-woocommerce-"]) a:not(.wp-block-button__link):not(.wc-block-components-button) {
 color: var(--di-wc-accent);
}

/* Explicit overrides are limited to visual button properties; Woo controls sizing/position. */
body :is(.woocommerce:not(body),body.woocommerce .product,body.woocommerce ul.products) :is(a.button,button.button,input.button,#respond input#submit),
body .wc-block-components-button:not(.is-link):not([class*="__close"]):not([class*="__dismiss"]),
body :where([class*="wp-block-woocommerce-"]) .wp-block-button__link {
 background-color: var(--di-wc-accent);
 color: var(--di-wc-button-text);
 border-color: var(--di-wc-accent);
 border-radius: var(--di-wc-radius);
 font-family: var(--di-wc-button-font);
 font-weight: var(--di-wc-button-weight);
 padding: var(--di-wc-button-padding);
 text-decoration: none;
}
/* Classic alt buttons need explicit color overrides; block controls keep native exceptions. */
body :is(.woocommerce:not(body),body.woocommerce .product,body.woocommerce ul.products) :is(a.button,button.button,input.button,#respond input#submit) {
 background-color: var(--di-wc-accent) !important;
 color: var(--di-wc-button-text) !important;
}
body :is(.woocommerce:not(body),body.woocommerce .product,body.woocommerce ul.products) :is(a.button,button.button,input.button):hover,
body .wc-block-components-button:not(.is-link):not([class*="__close"]):not([class*="__dismiss"]):hover {
 filter: brightness(.92);
}
body :is(.woocommerce:not(body),body.woocommerce .product,body.woocommerce ul.products) :is(a.button,button.button,input.button):focus-visible,
body .wc-block-components-button:focus-visible {
 outline: 2px solid var(--di-wc-accent);
 outline-offset: 3px;
}

/* Text controls only: checkboxes, radios, hidden/payment inputs and quantities retain native UI. */
body :where(.woocommerce:not(body),body.woocommerce .product,body.woocommerce ul.products,[class*="wp-block-woocommerce-"]) :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="search"],input[type="url"],textarea,select):not(:disabled):not([readonly]) {
 background-color: var(--di-wc-input-background) !important;
 color: var(--di-wc-input-text) !important;
 border-radius: var(--di-wc-input-radius);
 font-family: var(--di-wc-font);
}
/* Native validation and focus borders retain priority when those states are active. */
body :where(.woocommerce:not(body),body.woocommerce .product,body.woocommerce ul.products,[class*="wp-block-woocommerce-"]) :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="search"],input[type="url"],textarea,select):not(:disabled):not([readonly]):not(:focus):not([aria-invalid="true"]):not(.woocommerce-invalid *):not(.has-error *) {
 border-color: var(--di-wc-input-border) !important;
}
:where(.woocommerce:not(body),body.woocommerce .product,body.woocommerce ul.products) :is(table.shop_table,.woocommerce-tabs ul.tabs),
:where([class*="wp-block-woocommerce-"]) table {
 border-color: var(--di-wc-input-border);
}
/* Public block-level surfaces; keep WooCommerce's responsive cart/checkout structure. */
.wc-block-cart__submit-container { background-color: var(--di-wc-surface); }

/* Espressions catalog: scoped away from cart, checkout and account screens. */
body.di-store-layout { background: var(--di-wc-surface); color: var(--di-wc-text); }
.di-store-layout .di-store-main {
 width: min(1280px, 100%); margin-inline: auto;
 padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 96px);
 font-family: var(--di-wc-font); min-width: 0;
}
.di-store-layout .di-store-eyebrow {
 margin: 0 0 12px; font-size: .75rem; font-weight: 700;
 letter-spacing: .15em; text-transform: uppercase;
}
.di-store-layout .woocommerce-breadcrumb { margin: 0 0 24px; font-size: .8rem; line-height: 1.7; color: #625c50; }
.di-store-layout .woocommerce-breadcrumb a { color: #55401b; text-underline-offset: 3px; }
.di-store-layout .woocommerce-products-header { margin-bottom: 32px; }
.di-store-layout .woocommerce-products-header__title {
 margin: 0 0 24px; font-family: var(--di-wc-heading-font);
 font-size: clamp(2.75rem, 6vw, 5rem); line-height: 1.02; text-transform: uppercase;
}
.di-store-layout .term-description { max-width: 70ch; margin-bottom: 24px; line-height: 1.7; }
.di-store-layout .di-catalog-filters {
 padding: clamp(20px, 3vw, 32px); border: 1px solid #d8cfbd;
 border-top: 3px solid var(--di-wc-accent); border-radius: 8px; background: #fffcf5;
}
.di-store-layout .di-catalog-filters__intro h2 {
 margin: 0 0 6px; font-family: var(--di-wc-heading-font); font-size: 1.9rem; line-height: 1.1;
}
.di-store-layout .di-catalog-filters__intro p { margin: 0 0 24px; color: #625c50; font-size: .875rem; line-height: 1.6; }
.di-store-layout .di-catalog-filters__form { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: 16px; align-items: end; }
.di-store-layout .di-catalog-filter { min-width: 0; }
.di-store-layout .di-catalog-filter label { display: block; margin-bottom: 8px; font-size: .75rem; font-weight: 700; letter-spacing: .035em; }
.di-store-layout .di-catalog-filter :is(input, select) {
 display: block; width: 100%; min-height: 46px; min-width: 0; margin: 0;
 padding: 10px 12px; border: 1px solid #9d927e; border-radius: 4px;
 background: #fffdf8; color: var(--di-wc-text); font: inherit; font-size: .875rem;
}
.di-store-layout .di-catalog-filter__actions { display: flex; align-items: center; gap: 16px; min-height: 46px; }
.di-store-layout .di-catalog-filter__actions .button { min-height: 46px; margin: 0; white-space: nowrap; }
.di-store-layout .di-catalog-reset { font-size: .8rem; font-weight: 600; color: #55401b; text-underline-offset: 4px; }
.di-store-layout .di-catalog-filters__active { margin: 18px 0 0; color: #625c50; font-size: .8rem; line-height: 1.6; }
.di-store-layout :is(a, button, input, select):focus-visible { outline: 3px solid #76551a; outline-offset: 3px; }
.di-store-layout .woocommerce-result-count { margin: 8px 0 24px; font-size: .875rem; color: #625c50; }
.di-store-layout .woocommerce-ordering { margin: 0 0 24px; max-width: 100%; }
.di-store-layout .woocommerce-ordering select { max-width: 100%; min-height: 42px; border: 1px solid #9d927e; padding: 8px 12px; }
body.di-store-layout ul.products {
 clear: both; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 24px; padding: 0; margin: 0 0 40px; list-style: none;
}
body.di-store-layout ul.products::before, body.di-store-layout ul.products::after { display: none; }
body.woocommerce.di-store-layout ul.products[class*="columns-"] li.product {
 display: flex; flex-direction: column; float: none; width: auto; min-width: 0;
 margin: 0; padding: 16px; border: 1px solid #ddd4c3; border-radius: 8px; background: #fffdf8;
}
body.di-store-layout ul.products li.product a.woocommerce-loop-product__link { display: block; color: var(--di-wc-text); text-decoration: none; }
body.di-store-layout ul.products li.product a img {
 width: 100%; height: auto; aspect-ratio: 1; object-fit: contain;
 margin: 0 0 18px; border-radius: 4px; background: #f1ecdf;
}
body.di-store-layout ul.products li.product .woocommerce-loop-product__title {
 padding: 0; margin: 0 0 12px; font-family: var(--di-wc-heading-font);
 font-size: 1.5rem; line-height: 1.15; color: var(--di-wc-text); overflow-wrap: anywhere;
}
body.di-store-layout ul.products li.product .price { margin: 0 0 16px; color: #55401b; font-size: 1rem; font-weight: 600; }
body.di-store-layout ul.products li.product .button { align-self: start; margin-top: auto; line-height: 1.4; text-align: center; }
body.di-store-layout ul.products li.product .added_to_cart { margin-top: 12px; font-size: .875rem; }
body.di-store-layout ul.products li.product .star-rating { margin-bottom: 10px; }
body.di-store-layout .onsale { background: #55401b; color: #fffdf8; font: 700 .75rem/1.4 var(--di-wc-font); border-radius: 4px; min-width: 0; min-height: 0; padding: 7px 12px; }
.di-store-layout .woocommerce-pagination { padding-top: 8px; }
.di-store-layout .woocommerce-pagination ul.page-numbers { border: 0; display: inline-flex; flex-wrap: wrap; gap: 8px; }
.di-store-layout .woocommerce-pagination ul.page-numbers li { border: 0; }
.di-store-layout .woocommerce-pagination ul.page-numbers :is(a, span) { min-width: 44px; min-height: 44px; padding: 12px; border: 1px solid #d8cfbd; border-radius: 4px; color: #55401b; }
.di-store-layout .woocommerce-pagination ul.page-numbers span.current { background: var(--di-wc-accent); color: #171613; border-color: var(--di-wc-accent); }
/* Preserve native gallery, variation, stock, quantity, cart and tab functionality. */
body.di-store-layout.single-product .di-store-main > div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: start; }
body.di-store-layout.single-product div.product::before, body.di-store-layout.single-product div.product::after { display: none; }
body.di-store-layout.single-product div.product div.images,
body.di-store-layout.single-product div.product div.summary { width: auto; min-width: 0; margin: 0; float: none; }
body.di-store-layout.single-product div.product div.images { padding: 20px; border: 1px solid #ddd4c3; border-radius: 8px; background: #fffdf8; }
body.di-store-layout.single-product div.product div.images img { border-radius: 4px; }
body.di-store-layout.single-product div.product .product_title { margin: 0 0 20px; font: 600 clamp(2.2rem, 4vw, 3.5rem)/1.05 var(--di-wc-heading-font); }
body.di-store-layout.single-product div.product .summary .price { color: #55401b; font-size: 1.5rem; font-weight: 600; margin-bottom: 24px; }
.di-store-layout .woocommerce-product-details__short-description { font-size: .95rem; line-height: 1.8; }
body.di-store-layout.single-product div.product form.cart { margin: 28px 0; }
body.di-store-layout.single-product div.product form.cart:not(.variations_form):not(.grouped_form) { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
body.di-store-layout.single-product div.product form.cart div.quantity { margin: 0; }
.di-store-layout .quantity .qty { width: 5em; min-height: 46px; border: 1px solid #9d927e; border-radius: 4px; background: #fffdf8; color: #171613; font: inherit; }
body.di-store-layout.single-product div.product form.cart .button { min-height: 46px; float: none; }
.di-store-layout .variations { width: 100%; border-collapse: collapse; }
.di-store-layout .variations :is(th, td) { padding: 8px 0; text-align: left; }
.di-store-layout .variations select { width: 100%; min-height: 44px; padding: 8px; }
.di-store-layout .single_variation_wrap .woocommerce-variation-add-to-cart { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.di-store-layout .product_meta { display: grid; gap: 8px; padding-top: 20px; border-top: 1px solid #d8cfbd; font-size: .8rem; line-height: 1.6; }
body.di-store-layout.single-product div.product > :is(.woocommerce-tabs, .related, .upsells) { grid-column: 1 / -1; width: 100%; margin: 0; }
.di-store-layout .woocommerce-tabs { padding-top: 12px; }
body.di-store-layout div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 24px; border-bottom: 1px solid #d8cfbd; }
body.di-store-layout div.product .woocommerce-tabs ul.tabs::before { border: 0; }
body.di-store-layout div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0 24px 0 0; padding: 0; }
body.di-store-layout div.product .woocommerce-tabs ul.tabs li::before,
body.di-store-layout div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.di-store-layout div.product .woocommerce-tabs ul.tabs li a { padding: 14px 0; color: #625c50; }
body.di-store-layout div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 3px solid var(--di-wc-accent); }
body.di-store-layout div.product .woocommerce-tabs ul.tabs li.active a { color: var(--di-wc-text); }
.di-store-layout .woocommerce-tabs .panel { line-height: 1.8; }
.di-store-layout .woocommerce-tabs .panel > h2, .di-store-layout :is(.related, .upsells) > h2 { margin: 0 0 24px; font: 600 2rem/1.1 var(--di-wc-heading-font); }
.di-store-layout .woocommerce-product-attributes { border-collapse: collapse; }
.di-store-layout .woocommerce-product-attributes :is(th, td) { padding: 12px; text-align: left; border-bottom: 1px solid #d8cfbd; }
@media (max-width: 1100px) {
 .di-store-layout .di-catalog-filters__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 body.di-store-layout ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 760px) {
 body.di-store-layout ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
 body.di-store-layout.single-product .di-store-main > div.product { grid-template-columns: minmax(0, 1fr); gap: 32px; }
 body.di-store-layout ul.products li.product { padding: 12px; }
 body.di-store-layout ul.products li.product .woocommerce-loop-product__title { font-size: 1.3rem; }
 body.di-store-layout ul.products li.product .button { padding: 11px 14px; font-size: .8rem; }
}
@media (max-width: 480px) {
 .di-store-layout .di-catalog-filters__form { grid-template-columns: minmax(0, 1fr); }
 .di-store-layout .di-catalog-filter__actions .button { flex: 1; }
 .di-store-layout .woocommerce-result-count, .di-store-layout .woocommerce-ordering { float: none; width: 100%; }
 .di-store-layout .woocommerce-ordering select { width: 100%; }
}
@media (max-width: 359px) {
 body.di-store-layout ul.products { grid-template-columns: minmax(0, 1fr); }
}

/* WooCommerce's body.woocommerce a.button rules must never restyle site chrome. */
body > header.header #navigation > a.button {
 display: flex; justify-content: center; align-items: center; min-height: 50px;
 padding: 13px 20px; margin: 0; border: 0; border-radius: 0; box-shadow: none;
 background: var(--gold, #c49a45); color: var(--ink, #171613);
 font-family: var(--font-body, 'Open Sans', Arial, sans-serif); font-size: 14px;
 font-weight: 600; line-height: 1.5; letter-spacing: normal; text-transform: none;
 text-decoration: none; white-space: nowrap; text-shadow: none;
}
body > header.header #navigation > a.button:hover {
 background: #dab35f; color: var(--ink, #171613); text-decoration: none; filter: none;
}
.di-store-layout .di-catalog-search-help,
.di-store-layout .di-catalog-status { margin: 8px 0 0; color: #625c50; font-size: .8rem; line-height: 1.5; }
.di-store-layout .di-catalog-status:empty { display: none; }
.di-store-layout #di-catalog-results[aria-busy="true"] { opacity: .65; }

/* Match field/button geometry and keep the live results toolbar aligned. */
.di-store-layout .di-catalog-filter label { margin: 0 0 8px; line-height: 1.5; }
body.di-store-layout .di-catalog-filter__actions .button {
 display: inline-flex; align-items: center; justify-content: center; height: 46px;
 padding: 10px 18px; background: var(--di-wc-accent); color: var(--di-wc-button-text);
 border: 0; border-radius: 4px; font: 600 14px/1.5 var(--di-wc-font); text-shadow: none;
}
body.di-store-layout .di-catalog-filter__actions .button:hover { background: #dab35f; }
.di-store-layout .di-catalog-reset { display: inline-flex; align-items: center; min-height: 44px; }
.di-store-layout .di-catalog-search-help { margin-top: 12px; }
.di-store-layout .di-catalog-status[data-state="complete"] {
 position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
 overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.di-store-layout #di-catalog-results { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; }
.di-store-layout #di-catalog-results > :is(.woocommerce-result-count, .woocommerce-ordering) { float: none; align-self: center; margin: 0 0 24px; }
.di-store-layout #di-catalog-results > .woocommerce-notices-wrapper:empty { display: none; }
.di-store-layout #di-catalog-results > :is(ul.products, .woocommerce-pagination, .woocommerce-notices-wrapper, .woocommerce-info, .woocommerce-no-products-found) { grid-column: 1 / -1; }
.di-store-layout .woocommerce-ordering select { height: 46px; border-radius: 4px; background: #fffdf8; font: 400 14px/1.5 var(--di-wc-font); }
body.di-store-layout ul.products li.product a.woocommerce-loop-product__link { display: flex; flex-direction: column; flex: 1; }
body.di-store-layout ul.products li.product .price { margin-top: auto; }
@media (max-width: 640px) {
 .di-store-layout #di-catalog-results { grid-template-columns: minmax(0, 1fr); }
 .di-store-layout #di-catalog-results > .woocommerce-result-count { margin-bottom: 12px; }
 .di-store-layout .woocommerce-ordering select { width: 100%; }
 .di-store-layout .di-catalog-filter__actions { gap: 18px; }
}

/* A quiet, readable availability cue beside the archive product information. */
.di-store-layout #di-catalog-results .di-catalog-stock-label {
    display: inline-flex;
    align-self: flex-start;
    margin: 0 0 12px;
    padding: 4px 8px;
    border: 1px solid #d6c7a9;
    border-radius: 4px;
    background: #f0e7d5;
    color: #69563c;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.4;
}

/* Cart and Checkout blocks: branded frame and surfaces, with native form state intact. */
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main {
 --di-wc-radius: 0;
 width: min(1280px, calc(100% - 2 * var(--space, 28px)));
 margin-inline: auto;
 padding-block: clamp(36px, 5vw, 72px) clamp(56px, 7vw, 100px);
 color: var(--di-wc-text);
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main > article > .entry-header {
 margin: 0 0 36px;
 padding-bottom: 24px;
 border-bottom: 1px solid var(--line, #d9d1c0);
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .entry-title {
 margin: 0;
 font-family: var(--di-wc-heading-font);
 font-size: clamp(48px, 5vw, 72px);
 font-weight: 600;
 line-height: 1.05;
 letter-spacing: -.02em;
 text-transform: uppercase;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main > article > .entry-content { margin: 0; }
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
 width: 100%; max-width: 100%; margin: 0;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-sidebar-layout {
 display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; margin: 0;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main :is(.wc-block-components-main, .wc-block-components-sidebar) {
 width: auto; min-width: 0; margin: 0; padding: 0;
}
body.woocommerce-cart .site-main .wc-block-cart__main,
body.woocommerce-checkout .site-main .wc-block-checkout__form {
 padding: clamp(20px, 2.5vw, 32px);
 border: 1px solid var(--line, #d9d1c0);
 background: #fffaf1;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-sidebar {
 padding: 24px;
 border: 1px solid #d4c4a4;
 border-top: 3px solid var(--di-wc-accent);
 background: #eee5d3;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main :is(.wc-block-cart__totals-title, .wc-block-components-title, .wc-block-components-checkout-step__title) {
 font-family: var(--di-wc-heading-font); font-size: 26px; font-weight: 600;
 line-height: 1.2; letter-spacing: 0; color: var(--di-wc-text);
}
body.woocommerce-cart .site-main .wc-block-cart__totals-title { margin: 0 0 20px; padding: 0; text-align: left; }
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-product-name {
 color: var(--di-wc-text); font-size: 16px; font-weight: 600; line-height: 1.45;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-product-name:hover { color: #76551a; }
body.woocommerce-cart .site-main table.wc-block-cart-items { margin: 0; border: 0; }
body.woocommerce-cart .site-main table.wc-block-cart-items th {
 padding: 0 0 18px; font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .1em; color: #716957;
}
body.woocommerce-cart .site-main table.wc-block-cart-items td { border-color: var(--line, #d9d1c0); padding-block: 24px; }
body.woocommerce-cart .site-main .wc-block-cart-item__image { width: 80px; padding-right: 20px; }
body.woocommerce-cart .site-main .wc-block-cart-item__image img { width: 64px; border-radius: 0; }
body.woocommerce-cart .site-main .wc-block-cart-item__prices { margin: 8px 0 12px; font-size: 14px; }
body.woocommerce-cart .site-main .wc-block-components-quantity-selector { min-height: 44px; border-radius: 0; border-color: #b8ae9b; }
body.woocommerce-cart .site-main .wc-block-components-quantity-selector input {
 width: 40px; min-height: 44px; height: 44px; padding: 0; border: 0; border-radius: 0; font-size: 14px; line-height: 1;
}
body.woocommerce-cart .site-main .wc-block-components-quantity-selector__button { width: 36px; min-height: 44px; border-radius: 0; }
body.woocommerce-cart .site-main .wc-block-cart-item__remove-link {
 min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 8px;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-button:not(.is-link) {
 --di-wc-radius: 0; border-radius: 0; min-height: 50px; padding: 13px 20px;
 font-family: var(--di-wc-font); font-size: 14px; line-height: 1.5; font-weight: 700;
 box-shadow: none; text-decoration: none;
}
body.woocommerce-cart .site-main .wc-block-cart__submit-container { background: transparent; padding: 0; }
body.woocommerce-cart .site-main .wc-block-cart__submit-button { width: 100%; margin-top: 20px; }
body.woocommerce-checkout .site-main .wc-block-components-checkout-step { margin: 0 0 28px; }
body.woocommerce-checkout .site-main .wc-block-components-checkout-step__heading { margin: 0 0 18px; }
body.woocommerce-checkout .site-main .wc-block-components-checkbox__input {
 width: 18px !important; min-width: 18px !important; height: 18px !important; min-height: 18px !important;
 padding: 0 !important; flex: 0 0 18px; border-radius: 2px; margin-top: 2px;
}
body.woocommerce-checkout .site-main .wc-block-components-checkbox__label { font-size: 14px; line-height: 1.5; }
body.woocommerce-checkout .site-main .wc-block-components-checkout-order-summary__content,
body.woocommerce-checkout .site-main .wc-block-components-order-summary { border: 0; border-radius: 0; background: transparent; }
body.woocommerce-checkout .site-main .wc-block-components-checkout-order-summary__title { padding: 0 0 18px; }
body.woocommerce-checkout .site-main .wc-block-components-order-summary-item__description { min-width: 0; }
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-totals-item { padding-block: 16px; }
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-totals-footer-item { font-size: 20px; line-height: 1.4; }
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-notice-banner { border-radius: 0; font-size: 14px; line-height: 1.6; }
body.woocommerce-checkout .site-main .wc-block-checkout__terms { font-size: 12px; line-height: 1.7; }
body.woocommerce-checkout .site-main .wc-block-checkout__actions { margin-top: 24px; }
@media (min-width: 1000px) {
 body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-sidebar-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, .43fr); gap: 36px; }
 body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-sidebar.is-sticky { top: calc(var(--di-navigation-offset, 0px) + 144px); }
}
@media (max-width: 999px) {
 body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-sidebar { position: static; }
}
@media (max-width: 600px) {
 body:is(.woocommerce-cart, .woocommerce-checkout) .site-main > article > .entry-header { margin-bottom: 24px; padding-bottom: 20px; }
 body:is(.woocommerce-cart, .woocommerce-checkout) .site-main .wc-block-components-sidebar { padding: 20px; }
 body.woocommerce-cart .site-main .wc-block-cart__main,
 body.woocommerce-checkout .site-main .wc-block-checkout__form { padding: 18px; }
 body.woocommerce-cart .site-main .wc-block-cart-item__image { width: 56px; padding-right: 12px; }
 body.woocommerce-cart .site-main .wc-block-cart-item__image img { width: 44px; }
 body.woocommerce-cart .site-main .wc-block-components-product-name { font-size: 14px; }
 body.woocommerce-checkout .site-main .wc-block-checkout__actions { flex-wrap: wrap; gap: 16px; }
}

/* Keep the summary as one card and prevent native mobile grid tracks overflowing. */
body.woocommerce-checkout .site-main .wp-block-woocommerce-checkout-order-summary-block { border: 0; border-radius: 0; }
@media (max-width: 600px) {
 body.woocommerce-cart .site-main table.wc-block-cart-items,
 body.woocommerce-cart .site-main table.wc-block-cart-items tbody { display: block; width: 100%; }
 body.woocommerce-cart .site-main table.wc-block-cart-items tbody tr {
  display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 12px;
  width: 100%; padding: 16px 0; margin: 0;
 }
 body.woocommerce-cart .site-main table.wc-block-cart-items td.wc-block-cart-item__image { grid-area: 1 / 1; width: 44px; padding: 0; }
 body.woocommerce-cart .site-main table.wc-block-cart-items td.wc-block-cart-item__product { grid-area: 1 / 2; min-width: 0; padding: 0; }
 body.woocommerce-cart .site-main table.wc-block-cart-items td.wc-block-cart-item__total { grid-area: 1 / 3; padding: 0; align-self: start; white-space: nowrap; font-size: 14px; }
 body.woocommerce-cart .site-main .wc-block-cart-item__quantity { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
}

/* Cart-only recommendations follow the order summary without competing with checkout. */
.di-cart-recommendations { margin-top: 64px; padding-top: 36px; border-top: 1px solid var(--line, #d9d1c0); }
.di-cart-recommendations__intro { margin-bottom: 28px; }
.di-cart-recommendations__eyebrow { margin: 0 0 12px; font: 700 11px/1.5 var(--di-wc-font); letter-spacing: .12em; color: #716957; }
.di-cart-recommendations__intro h2 { margin: 0 0 12px; font: 600 clamp(32px, 3vw, 42px)/1.1 var(--di-wc-heading-font); letter-spacing: -.01em; text-transform: uppercase; }
.di-cart-recommendations__intro > p:last-child { font: 400 15px/1.7 var(--di-wc-font); color: #686154; }
.di-cart-recommendations__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.di-cart-recommendations__grid > li { display: flex; min-width: 0; }
body.woocommerce-cart .site-main .di-cart-recommendation { display: flex; flex-direction: column; width: 100%; min-width: 0; padding: 18px; border: 1px solid var(--line, #d9d1c0); background: #fffaf1; color: #171613; text-decoration: none; }
.di-cart-recommendation__image { background: #f0e8d8; aspect-ratio: 1; display: grid; place-items: center; }
.di-cart-recommendation__image img { width: 100%; height: 100%; max-height: 240px; object-fit: contain; mix-blend-mode: multiply; }
.di-cart-recommendation h3 { margin: 18px 0 12px; font: 600 24px/1.15 var(--di-wc-heading-font); text-transform: uppercase; overflow-wrap: anywhere; }
.di-cart-recommendation__price { margin: auto 0 0; font: 400 15px/1.5 var(--di-wc-font); }
.di-cart-recommendation__action { display: flex; align-items: center; gap: 10px; padding-top: 18px; font: 700 13px/1.5 var(--di-wc-font); }
.di-cart-recommendation__action svg { flex: 0 0 18px; }
body.woocommerce-cart .site-main .di-cart-recommendation:hover { border-color: #aa863d; background: #fffdf7; text-decoration: none; }
body.woocommerce-cart .site-main .di-cart-recommendation:focus-visible { outline: 3px solid #76551a; outline-offset: 3px; }
@media (max-width: 999px) { .di-cart-recommendations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
 .di-cart-recommendations { margin-top: 44px; padding-top: 28px; }
 .di-cart-recommendations__grid { gap: 14px; }
 body.woocommerce-cart .site-main .di-cart-recommendation { padding: 12px; }
 .di-cart-recommendation h3 { font-size: 21px; }
 .di-cart-recommendation__price { font-size: 14px; }
}
@media (max-width: 359px) { .di-cart-recommendations__grid { grid-template-columns: minmax(0, 1fr); } }

/* Square catalog controls match the site's button treatment. */
body.di-store-layout { --di-wc-radius: 0; --di-wc-input-radius: 0; }
body.di-store-layout .di-store-main :is(a.button, button.button, input.button,
 .di-catalog-filter input, .di-catalog-filter select, .woocommerce-ordering select,
 .variations select, .quantity .qty, .woocommerce-pagination .page-numbers a,
 .woocommerce-pagination .page-numbers span),
body.di-store-layout .di-rpn-button { border-radius: 0; }
/* Keep cart and checkout text/select fields square, including their outer shells. */
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main :is(
 input:not([type="radio"]):not([type="checkbox"]), select, textarea,
 .wc-block-components-text-input, .wc-block-components-select,
 .wc-block-components-select__container) { border-radius: 0; }
/* Text-field padding must not stretch WooCommerce's payment radio into an oval. */
body.woocommerce-checkout .site-main .wc-block-components-radio-control__input {
 width: 20px; height: 20px; min-width: 20px; min-height: 20px; padding: 0; border-radius: 50%;
}
/* Override WooCommerce's more specific white active-tab surface. */
body.woocommerce.di-store-layout.single-product div.product .woocommerce-tabs ul.tabs li,
body.woocommerce.di-store-layout.single-product div.product .woocommerce-tabs ul.tabs li.active,
body.woocommerce.di-store-layout.single-product div.product .woocommerce-tabs ul.tabs li a {
 background: transparent; box-shadow: none;
}

/* Archive/product cards and image surfaces share the same square edges. */
body.woocommerce.di-store-layout .di-store-main ul.products li.product,
body.woocommerce.di-store-layout .di-store-main ul.products li.product a img,
body.woocommerce.di-store-layout .di-catalog-filters,
body.woocommerce.di-store-layout.single-product div.product div.images,
body.woocommerce.di-store-layout.single-product div.product div.images img { border-radius: 0; }
