/* Scented Mile Kit — WooCommerce pages and the space around the page blocks.
   The page design itself is in sm-scoped.css (locked to #sm-page).
   Layout rules marked :not(.theme-woodmart) are for simple themes (Hello, block themes);
   WoodMart keeps its own product/shop layout and only gets fonts, colours and buttons. */

:root {
  --cream: oklch(96.36% .0161 84.59);
  --ink: oklch(14.48% 0 0);
  --gold: oklch(52.32% .0836 72.72);
  --rule: oklch(14.48% 0 0 / .14);
  --font-editorial-family: "EB Garamond", "FreeSerif", "Times New Roman", Times, serif;
  --font-ui-family: "Archivo", ui-sans-serif, system-ui, sans-serif;
}

/* Only Scented Mile pages and shop pages — the rest of the site keeps its look. */
body.sm-site:has(.sm-page),
body.sm-site.woocommerce-page,
body.sm-site.woocommerce {
  background: var(--cream);
  color: var(--ink);
}
body.sm-site.woocommerce-page,
body.sm-site.woocommerce { font-family: var(--font-editorial-family); }

/* House and record number printed on product pages (scented-mile-kit.php) */
.sm-house, .sm-record {
  font-family: var(--font-ui-family);
  font-size: .6875rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  line-height: 1.3;
}
.sm-house { color: var(--gold); }

/* ---------- Hide the theme's own header and footer ----------
   Only when the plugin prints the Scented Mile ones (SM_KIT_SHOW_HEADER_FOOTER = true). */
body.sm-chrome :is(#site-header, #masthead, .site-header:not(header.fixed), .whb-header, .whb-sticky-header, .whb-clone, .elementor-location-header),
body.sm-chrome .wp-site-blocks > header.wp-block-template-part,
body.sm-chrome-footer :is(#site-footer, #colophon, .site-footer, .wd-footer, .footer-container, .elementor-location-footer),
body.sm-chrome-footer .wp-site-blocks > footer.wp-block-template-part {
  display: none !important;
}
/* The Scented Mile header is fixed: pages that are not Scented Mile blocks (shop, cart,
   checkout, account, other pages) start below it. Scented Mile blocks handle this themselves. */
body.sm-chrome:not(:has(#sm-page)) { padding-top: 4rem; }
@media (min-width: 768px) { body.sm-chrome:not(:has(#sm-page)) { padding-top: 5rem; } }

body.sm-site .site-main:has(.sm-page) .page-header,
body.sm-site .site-main:has(.sm-page) .entry-header,
body.sm-site main:has(.sm-page) .wp-block-post-title {
  display: none !important;
}

/* ---------- Pages built from Custom HTML blocks run edge to edge ---------- */
body.sm-site .site-main:has(.sm-page),
body.sm-site .site-main:has(.sm-page) .page-content,
body.sm-site .site-main:has(.sm-page) .entry-content,
body.sm-site .site-content:has(.sm-page),
body.sm-site .ast-container:has(.sm-page),
body.sm-site main:has(.sm-page) .wp-block-post-content,
body.sm-site main:has(.sm-page) .is-layout-constrained {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.sm-site .sm-page { width: 100%; }
body.sm-site .sm-page > * { max-width: none; }
body.sm-site main:has(.sm-page) .is-layout-constrained > .sm-page { max-width: none !important; }

/* ---------- Fixed header sits under the WP admin bar ---------- */
body.admin-bar > header.fixed,
body.admin-bar header.fixed.inset-x-0 { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar > header.fixed,
  body.admin-bar header.fixed.inset-x-0 { top: 46px; }
}

/* Cart count badge in the header */
.sm-cart-count {
  position: absolute;
  top: 6px;
  right: 4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--cream);
  font-family: var(--font-ui-family);
  font-size: 9px;
  line-height: 16px;
  text-align: center;
}
.sm-cart-count[data-count="0"] { display: none; }

/* ---------- WooCommerce pages (product, cart, checkout, account) ---------- */
body.sm-site:not(.theme-woodmart).woocommerce-page .site-main:not(:has(.sm-page)),
body.sm-site:not(.theme-woodmart).woocommerce .site-main:not(:has(.sm-page)),
body.sm-site:not(.theme-woodmart).woocommerce-page main.wp-block-group:not(:has(.sm-page)) {
  max-width: 1360px;
  margin: 0 auto;
  padding: 7.5rem 1.125rem 5rem;
}
@media (min-width: 768px) {
  body.sm-site:not(.theme-woodmart).woocommerce-page .site-main:not(:has(.sm-page)),
  body.sm-site:not(.theme-woodmart).woocommerce .site-main:not(:has(.sm-page)) { padding: 9rem 2.5rem 6rem; }
}

body.sm-site.woocommerce-page h1,
body.sm-site.woocommerce-page h2,
body.sm-site.woocommerce-page h3,
body.sm-site .woocommerce h2,
body.sm-site .woocommerce h3 {
  font-family: var(--font-editorial-family);
  font-weight: 400;
  color: var(--ink);
  line-height: 1.1;
}
body.sm-site.woocommerce-page h1 { font-size: clamp(2rem, 5vw, 3rem); margin-bottom: 1.5rem; }
body.sm-site.woocommerce-page h2 { font-size: 1.75rem; margin: 1.5rem 0 1rem; }
body.sm-site.woocommerce-page a { color: inherit; }
body.sm-site.woocommerce-page p { margin-bottom: 1rem; line-height: 1.7; }

/* Buttons */
body.sm-site .woocommerce .button,
body.sm-site .woocommerce button.button,
body.sm-site .woocommerce a.button,
body.sm-site .woocommerce input.button,
body.sm-site .woocommerce #respond input#submit,
body.sm-site .single_add_to_cart_button,
body.sm-site .wc-block-components-button:not(.is-link),
body.sm-site .wc-block-cart__submit-button,
body.sm-site .wc-block-components-checkout-place-order-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0 1.75rem;
  border: 0;
  border-radius: 0 !important;
  background: var(--ink) !important;
  color: var(--cream) !important;
  font-family: var(--font-ui-family) !important;
  font-size: 0.6875rem !important;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s;
}
body.sm-site .woocommerce .button:hover,
body.sm-site .single_add_to_cart_button:hover,
body.sm-site .wc-block-components-button:not(.is-link):hover { background: oklch(14.48% 0 0 / .88) !important; }
body.sm-site .woocommerce .button.disabled,
body.sm-site .single_add_to_cart_button.disabled { opacity: 0.45; cursor: not-allowed; }

/* Inputs */
body.sm-site .woocommerce input[type="text"],
body.sm-site .woocommerce input[type="email"],
body.sm-site .woocommerce input[type="tel"],
body.sm-site .woocommerce input[type="number"],
body.sm-site .woocommerce input[type="password"],
body.sm-site .woocommerce select,
body.sm-site .woocommerce textarea {
  border: 1px solid var(--rule);
  background: transparent;
  padding: 0.75rem 0.9rem;
  font-family: var(--font-editorial-family);
  font-size: 1.0625rem;
  border-radius: 0;
}
body.sm-site .woocommerce input:focus,
body.sm-site .woocommerce select:focus,
body.sm-site .woocommerce textarea:focus { outline: none; border-color: var(--gold); }

/* Notices */
body.sm-site .woocommerce-message,
body.sm-site .woocommerce-info,
body.sm-site .woocommerce-error {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--gold);
  background: transparent;
  padding: 1rem 1.25rem;
  margin-bottom: 2rem;
  list-style: none;
  font-family: var(--font-editorial-family);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
body.sm-site .woocommerce-message::before,
body.sm-site .woocommerce-info::before { display: none; }

/* Breadcrumb */
body.sm-site .woocommerce-breadcrumb {
  font-family: var(--font-ui-family);
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: oklch(14.48% 0 0 / .45);
  margin-bottom: 2.5rem;
}

/* ---------- Single product ---------- */
body.sm-site:not(.theme-woodmart).single-product div.product {
  display: grid;
  gap: 3rem;
  position: relative;
}
@media (min-width: 1024px) {
  body.sm-site:not(.theme-woodmart).single-product div.product { grid-template-columns: 56% 1fr; gap: 4.5rem; }
  body.sm-site:not(.theme-woodmart).single-product div.product > .woocommerce-tabs,
  body.sm-site:not(.theme-woodmart).single-product div.product > .related,
  body.sm-site:not(.theme-woodmart).single-product div.product > .upsells { grid-column: 1 / -1; }
}
body.sm-site:not(.theme-woodmart).single-product div.product .woocommerce-product-gallery,
body.sm-site:not(.theme-woodmart).single-product div.product .summary { width: 100% !important; float: none !important; margin: 0 !important; }
body.sm-site:not(.theme-woodmart).single-product .woocommerce-product-gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
body.sm-site:not(.theme-woodmart).single-product .flex-control-thumbs { display: flex; gap: 0.75rem; margin-top: 0.75rem; list-style: none; padding: 0; }
body.sm-site:not(.theme-woodmart).single-product .flex-control-thumbs li { width: 5rem; }
body.sm-site:not(.theme-woodmart).single-product .flex-control-thumbs img { border: 1px solid var(--rule); opacity: 0.7; cursor: pointer; }
body.sm-site:not(.theme-woodmart).single-product .flex-control-thumbs img.flex-active { border-color: var(--gold); opacity: 1; }
body.sm-site:not(.theme-woodmart).single-product .woocommerce-product-gallery__trigger { display: none; }

body.sm-site.single-product .summary .sm-house { margin: 0 0 1.25rem; }
body.sm-site.single-product .summary .product_title {
  font-size: clamp(1.75rem, 4.6vw, 3rem);
  line-height: 1.08;
  margin: 0;
}
body.sm-site.single-product .summary .sm-record { margin: 1rem 0 1.75rem; color: oklch(14.48% 0 0 / .35); }
body.sm-site.single-product .summary .sm-record::after {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background: var(--gold);
  margin-top: 1.75rem;
}
body.sm-site.single-product .summary > .price {
  font-family: var(--font-editorial-family);
  font-size: 1.5rem;
  color: var(--ink);
  margin: 0 0 1.25rem;
}
body.sm-site.single-product .summary .woocommerce-product-details__short-description {
  font-size: 1.125rem;
  line-height: 1.75;
  color: oklch(14.48% 0 0 / .7);
  max-width: 38rem;
}
body.sm-site.single-product .product_meta { display: none; }

/* Size selector — the select stays for WooCommerce, pills are shown instead (sm-wp.js) */
body.sm-site table.variations { width: 100%; border: 0; margin: 2rem 0 1rem; }
body.sm-site table.variations th.label {
  display: block;
  text-align: left;
  font-family: var(--font-ui-family);
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 400;
  padding: 0 0 1rem;
}
body.sm-site table.variations td.value { display: block; padding: 0; }
body.sm-site table.variations tr { display: block; }
body.sm-site .sm-size-select { position: absolute !important; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
body.sm-site .reset_variations { display: none !important; }
.sm-size-pills { display: flex; flex-direction: column; gap: 0.5rem; }
.sm-size-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.5rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid oklch(14.48% 0 0 / .16);
  background: transparent;
  font-family: var(--font-editorial-family);
  font-size: 1.0625rem;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s;
}
.sm-size-pill:hover { border-color: oklch(14.48% 0 0 / .45); }
.sm-size-pill[aria-pressed="true"] { border-color: var(--gold); box-shadow: inset 0 0 0 1px var(--gold); }
.sm-size-pill[disabled] { opacity: 0.4; cursor: not-allowed; }
.sm-size-pill .sm-size-price { flex-shrink: 0; }

body.sm-site .woocommerce-variation-description p {
  font-family: var(--font-ui-family);
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: oklch(14.48% 0 0 / .45);
  margin: 0.75rem 0;
}
body.sm-site .woocommerce-variation-price .price { font-size: 1.25rem; }
body.sm-site:not(.theme-woodmart) form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; margin-top: 1.5rem; }
body.sm-site:not(.theme-woodmart) form.variations_form { display: block; }
body.sm-site:not(.theme-woodmart) .woocommerce-variation-add-to-cart { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 1rem; }
body.sm-site:not(.theme-woodmart) form.cart .quantity input.qty { width: 5rem; min-height: 3.25rem; text-align: center; }
body.sm-site:not(.theme-woodmart) form.cart .single_add_to_cart_button { flex: 1; }

/* Tabs → hairline accordion look */
body.sm-site:not(.theme-woodmart) .woocommerce-tabs { margin-top: 4rem; border-top: 1px solid var(--rule); }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs ul.tabs { display: flex; gap: 2rem; list-style: none; padding: 0; margin: 0 0 2rem; border-bottom: 1px solid var(--rule); }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs ul.tabs::before, body.sm-site:not(.theme-woodmart) .woocommerce-tabs ul.tabs li::before, body.sm-site:not(.theme-woodmart) .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs ul.tabs li { border: 0 !important; background: none !important; margin: 0 !important; padding: 0 !important; }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 1.25rem 0;
  font-family: var(--font-ui-family);
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: oklch(14.48% 0 0 / .45);
  border-bottom: 1px solid transparent;
}
body.sm-site:not(.theme-woodmart) .woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-bottom-color: var(--gold); }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs .panel { font-size: 1.125rem; line-height: 1.75; color: oklch(14.48% 0 0 / .75); max-width: 46rem; }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs .panel > h2:first-child { display: none; }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs blockquote,
body.sm-site:not(.theme-woodmart) .sm-page blockquote { border-left: 1px solid oklch(52.32% .0836 72.72 / .6); padding-left: 1rem; color: oklch(14.48% 0 0 / .6); margin: 1.25rem 0; }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs table.shop_attributes { border: 0; }
body.sm-site:not(.theme-woodmart) .woocommerce-tabs table.shop_attributes th,
body.sm-site:not(.theme-woodmart) .woocommerce-tabs table.shop_attributes td { border-bottom: 1px solid var(--rule); padding: 1rem 0; font-style: normal; background: none; }

/* Related products grid */
body.sm-site:not(.theme-woodmart) .related.products > h2,
body.sm-site:not(.theme-woodmart) .upsells.products > h2 { margin-top: 4rem; }
body.sm-site:not(.theme-woodmart) ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.25rem; list-style: none; padding: 0; margin: 2rem 0 0; }
@media (min-width: 900px) { body.sm-site:not(.theme-woodmart) ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.sm-site:not(.theme-woodmart) ul.products::before, body.sm-site:not(.theme-woodmart) ul.products::after { display: none !important; }
body.sm-site:not(.theme-woodmart) ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
body.sm-site:not(.theme-woodmart) ul.products li.product img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; margin-bottom: 1rem; }
body.sm-site:not(.theme-woodmart) ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-editorial-family); font-size: 1.1875rem; padding: 0; }
body.sm-site:not(.theme-woodmart) ul.products li.product .price { font-family: var(--font-editorial-family); color: oklch(14.48% 0 0 / .7); display: block; margin: 0.25rem 0 1rem; }
body.sm-site:not(.theme-woodmart) ul.products li.product .button { min-height: 2.75rem; width: 100%; background: transparent !important; color: var(--ink) !important; border: 1px solid oklch(14.48% 0 0 / .22); }
body.sm-site:not(.theme-woodmart) ul.products li.product .button:hover { background: var(--ink) !important; color: var(--cream) !important; }

/* ---------- Cart & checkout (block and classic) ---------- */
body.sm-site .wc-block-cart,
body.sm-site .wc-block-checkout { font-family: var(--font-editorial-family); }
body.sm-site .wc-block-components-product-name { font-size: 1.125rem; color: var(--ink); text-decoration: none; }
body.sm-site .wc-block-components-totals-item__label,
body.sm-site .wc-block-cart-items__header,
body.sm-site .wc-block-components-title,
body.sm-site .wc-block-components-checkout-step__title {
  font-family: var(--font-ui-family) !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
}
body.sm-site table.shop_table { border: 1px solid var(--rule); border-radius: 0; border-collapse: collapse; width: 100%; }
body.sm-site table.shop_table th,
body.sm-site table.shop_table td { border-top: 1px solid var(--rule); padding: 1rem; }

/* WordPress editor-safe defaults inside our blocks */
body.sm-site .sm-page img { max-width: 100%; }
body.sm-site .sm-page a { text-decoration: none; }

/* ---------- Guard the site header/footer against theme & WooCommerce CSS ----------
   styles.css (Tailwind) lives in cascade layers, so any theme rule outside a layer
   beats it. These unlayered rules pin the pieces themes most often override. */
body.sm-site > header.fixed img,
body.sm-site header.fixed a[aria-label*="home"] img { height: 1.75rem !important; width: auto !important; max-width: none !important; }
@media (min-width: 768px) {
  body.sm-site > header.fixed img,
  body.sm-site header.fixed a[aria-label*="home"] img { height: 2.25rem !important; }
}
body.sm-site header.fixed nav a { white-space: nowrap; text-decoration: none; }
body.sm-site header.fixed a,
body.sm-site footer a { text-decoration: none; }
body.sm-site footer img { height: auto; max-width: 100%; }

/* ---------- Block themes (Twenty Twenty-Four/Five…): product page layout ---------- */
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks main { max-width: 1360px; margin: 0 auto; padding: 7.5rem 1.125rem 5rem; }
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks main .is-layout-constrained > *,
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks main .woocommerce.product { max-width: none !important; }
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks div.product { display: block; }
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks .wp-block-columns { gap: 4.5rem; }
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks .wp-block-post-title { font-size: clamp(1.75rem, 4.6vw, 3rem); }
body.sm-site:not(.theme-woodmart).single-product .wp-block-woocommerce-product-meta,
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks .product_meta { display: none; }

/* Product page details */
body.sm-site table.variations,
body.sm-site table.variations tr,
body.sm-site table.variations th,
body.sm-site table.variations td { background: transparent !important; border: 0 !important; }
body.sm-site.woocommerce div.product p.price,
body.sm-site.woocommerce div.product span.price,
body.sm-site .woocommerce-variation-price .price { color: var(--ink) !important; font-family: var(--font-editorial-family); }
body.sm-site .woocommerce-product-gallery { opacity: 1 !important; }

/* WooCommerce block buttons (empty-cart suggestions, product collections) */
body.sm-site .wp-block-button__link,
body.sm-site .wc-block-components-product-button__button,
body.sm-site .wp-block-button .wp-element-button {
  background: var(--ink) !important;
  color: var(--cream) !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--font-ui-family) !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 0.9rem 1.25rem !important;
  text-decoration: none !important;
}

/* The fixed header is cleared by the body padding above, so shop pages only need a small gap. */
body.sm-site:not(.theme-woodmart).woocommerce-page .site-main:not(:has(.sm-page)),
body.sm-site:not(.theme-woodmart).woocommerce .site-main:not(:has(.sm-page)),
body.sm-site:not(.theme-woodmart).single-product .wp-site-blocks main { padding-top: 3rem; }

/* ---------- Hold our look against WoodMart's button and price styles ---------- */
body.sm-site .sm-size-pill,
body.sm-site .sm-size-pill:hover,
body.sm-site .sm-size-pill:focus {
  text-transform: none !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  font-family: var(--font-editorial-family) !important;
  font-size: 1.0625rem !important;
  color: var(--ink) !important;
  background: transparent !important;
  border-radius: 0 !important;
  line-height: 1.3 !important;
}
body.sm-site.woocommerce-page .price,
body.sm-site.woocommerce-page .price .amount,
body.sm-site.woocommerce-page .woocommerce-Price-amount,
body.sm-site.woocommerce-page .price ins,
body.sm-site .sm-from {
  color: var(--ink) !important;
  font-family: var(--font-editorial-family);
  font-weight: 400;
}

/* =====================================================================
   Cart, checkout, account — full Scented Mile look (classic + block)
   Your site's CSS paints page content black (".page .wd-page-content");
   shop pages and Scented Mile pages get the cream paper background instead.
   ===================================================================== */
body.sm-site.woocommerce-page :is(.wd-page-content, .main-page-wrapper, .site-content, .site-main),
body.sm-site:has(.sm-page) :is(.wd-page-content, .main-page-wrapper) {
  background: var(--cream) !important;
  color: var(--ink);
}
body.sm-site.woocommerce-page :is(.woocommerce, .wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
  color: var(--ink);
  font-family: var(--font-editorial-family);
}
body.sm-site.woocommerce-page .woocommerce :is(h2, h3),
body.sm-site.woocommerce-page .wc-block-components-title {
  font-family: var(--font-editorial-family);
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}

/* Table headings (Product / Price / Quantity / Subtotal / Total) */
body.sm-site table.shop_table th,
body.sm-site table.shop_table thead th,
body.sm-site .cart_totals th,
body.sm-site .woocommerce-checkout-review-order-table th {
  font-family: var(--font-ui-family) !important;
  font-size: .6875rem !important;
  font-weight: 400 !important;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold) !important;
  background: transparent !important;
}
body.sm-site table.shop_table,
body.sm-site table.shop_table :is(td, th) {
  border-color: var(--rule) !important;
  background: transparent !important;
  color: var(--ink);
}
body.sm-site table.shop_table td { font-family: var(--font-editorial-family); font-size: 1.0625rem; }
body.sm-site table.shop_table td.product-name a,
body.sm-site .wc-block-components-product-name {
  font-family: var(--font-editorial-family) !important;
  font-size: 1.125rem !important;
  color: var(--ink) !important;
  text-decoration: none;
}
body.sm-site table.shop_table td.product-name dl.variation { font-family: var(--font-ui-family); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: oklch(14.48% 0 0 / .5); }
body.sm-site table.shop_table td.product-thumbnail img { width: 72px; aspect-ratio: 4 / 5; object-fit: cover; }
body.sm-site table.shop_table a.remove { color: oklch(14.48% 0 0 / .45) !important; background: transparent !important; font-weight: 400; }
body.sm-site table.shop_table a.remove:hover { color: var(--gold) !important; }
body.sm-site .cart_totals .order-total :is(th, td),
body.sm-site .woocommerce-checkout-review-order-table .order-total :is(th, td) { font-size: 1.25rem; }

/* Form fields: visible on cream, square, serif */
body.sm-site.woocommerce-page .woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select),
body.sm-site.woocommerce-page .select2-container--default .select2-selection--single {
  background: transparent !important;
  border: 1px solid oklch(14.48% 0 0 / .24) !important;
  border-radius: 0 !important;
  color: var(--ink) !important;
  font-family: var(--font-editorial-family) !important;
  font-size: 1.0625rem !important;
  min-height: 3rem;
  box-shadow: none !important;
}
body.sm-site.woocommerce-page .select2-container--default .select2-selection--single { display: flex; align-items: center; height: 3rem; }
body.sm-site.woocommerce-page .select2-container--default .select2-selection__rendered { color: var(--ink) !important; line-height: 3rem !important; }
body.sm-site.woocommerce-page .woocommerce :is(input, textarea, select):focus,
body.sm-site.woocommerce-page .select2-container--open .select2-selection--single { border-color: var(--gold) !important; outline: none; }
body.sm-site.woocommerce-page .woocommerce ::placeholder { color: oklch(14.48% 0 0 / .38) !important; }
body.sm-site.woocommerce-page .woocommerce form .form-row label,
body.sm-site.woocommerce-page .woocommerce-checkout label {
  font-family: var(--font-ui-family) !important;
  font-size: .6875rem !important;
  font-weight: 400 !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: oklch(14.48% 0 0 / .6) !important;
}
body.sm-site.woocommerce-page .woocommerce form .form-row .required { color: var(--gold); text-decoration: none; }
body.sm-site .select2-dropdown { background: var(--cream); border-color: oklch(14.48% 0 0 / .24); border-radius: 0; font-family: var(--font-editorial-family); }
body.sm-site .select2-results__option--highlighted[aria-selected] { background: var(--ink) !important; color: var(--cream) !important; }

/* Quantity box and coupon row */
body.sm-site.woocommerce-page .woocommerce .quantity input.qty { width: 4.5rem; text-align: center; }
body.sm-site.woocommerce-page .woocommerce .coupon { display: flex; gap: .5rem; flex-wrap: wrap; align-items: stretch; }
body.sm-site.woocommerce-page .woocommerce .coupon input.input-text { width: 12rem !important; }
body.sm-site.woocommerce-page .woocommerce button[name="update_cart"]:disabled { opacity: .35; }
body.sm-site.woocommerce-page .woocommerce :is(.button.alt, .checkout-button, #place_order) { width: 100%; min-height: 3.5rem; }

/* Checkout: order summary and payment box */
body.sm-site.woocommerce-page #order_review_heading { margin-top: 2.5rem; }
body.sm-site.woocommerce-page #payment,
body.sm-site.woocommerce-page .woocommerce-checkout-payment {
  background: transparent !important;
  border: 1px solid var(--rule);
  border-radius: 0 !important;
}
body.sm-site.woocommerce-page #payment ul.payment_methods { border-bottom: 1px solid var(--rule) !important; padding: 1.25rem !important; }
body.sm-site.woocommerce-page #payment ul.payment_methods label { font-family: var(--font-editorial-family) !important; font-size: 1.0625rem !important; text-transform: none; letter-spacing: 0; color: var(--ink) !important; }
body.sm-site.woocommerce-page #payment div.payment_box {
  background: oklch(14.48% 0 0 / .04) !important;
  color: oklch(14.48% 0 0 / .75) !important;
  border-radius: 0;
}
body.sm-site.woocommerce-page #payment div.payment_box::before { border-bottom-color: oklch(14.48% 0 0 / .04) !important; }
body.sm-site.woocommerce-page .woocommerce-privacy-policy-text,
body.sm-site.woocommerce-page .woocommerce-terms-and-conditions-wrapper { font-size: .9375rem; color: oklch(14.48% 0 0 / .6); }
body.sm-site.woocommerce-page .woocommerce a:not(.button):not(.remove) { color: var(--ink); text-decoration-color: var(--gold); }

/* Checkout "Your order" panel: WoodMart paints it as a black receipt with zigzag edges.
   Turn it into a light bordered panel so the order summary and payment methods are readable. */
body.sm-site.woocommerce-page :is(.checkout-order-review, .wd-checkout-order-review, #order_review) {
  --bgcolor-white: var(--cream);
  --wd-main-bgcolor: var(--cream);
  background: oklch(14.48% 0 0 / .03) !important;
  color: var(--ink) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.sm-site.woocommerce-page .checkout-order-review { padding: 2rem 1.5rem !important; }
body.sm-site.woocommerce-page .checkout-order-review #order_review { border: 0 !important; background: transparent !important; }
body.sm-site.woocommerce-page :is(.checkout-order-review, .wd-checkout-order-review)::before,
body.sm-site.woocommerce-page :is(.checkout-order-review, .wd-checkout-order-review)::after { display: none !important; }
body.sm-site.woocommerce-page .checkout-order-review :is(div, table, thead, tbody, tfoot, tr, th, td, ul, li, .wd-table-wrapper, .woocommerce-checkout-review-order-table, #payment, .place-order) {
  background-color: transparent !important;
  box-shadow: none !important;
}
body.sm-site.woocommerce-page .checkout-order-review :is(h2, h3, #order_review_heading, td, .amount, strong, label, p) { color: var(--ink) !important; }
body.sm-site.woocommerce-page .checkout-order-review #order_review_heading { margin-top: 0; text-align: center; }
body.sm-site.woocommerce-page .checkout-order-review #payment div.payment_box { background: oklch(14.48% 0 0 / .04) !important; }
body.sm-site.woocommerce-page .checkout-order-review #place_order { background: var(--ink) !important; color: var(--cream) !important; }

/* "Have a coupon?" bar: theme text was cream-on-cream with a green link */
body.sm-site.woocommerce-page .woocommerce-form-coupon-toggle :is(.woocommerce-info, .woocommerce-info *) { color: var(--ink) !important; background: transparent !important; }
body.sm-site.woocommerce-page .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--gold) !important; text-decoration-color: var(--gold); }

/* Order received (thank-you) and view-order: the theme paints the order details box dark */
body.sm-site :is(.woocommerce-order, .woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-overview, .woocommerce-thankyou-order-details, .wd-order-details, .order_details, .woocommerce-table--order-details, .woocommerce-table--order-details :is(thead, tbody, tfoot, tr, th, td), .woocommerce-customer-details address, .wc-block-order-confirmation-summary, .wc-block-order-confirmation-totals, .wc-block-order-confirmation-totals :is(table, thead, tbody, tfoot, tr, th, td), .wc-block-order-confirmation-billing-address, .wc-block-order-confirmation-shipping-address) {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}
body.sm-site :is(.woocommerce-order-details, .woocommerce-customer-details address, .wc-block-order-confirmation-totals) {
  border: 1px solid var(--rule) !important;
  border-radius: 0 !important;
}
body.sm-site :is(.woocommerce-order-details, .wc-block-order-confirmation-totals) { padding: 1.5rem; }
body.sm-site .woocommerce-table--order-details :is(tfoot th, thead th) { color: var(--gold) !important; }
body.sm-site :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-overview, .wc-block-order-confirmation-totals) :is(a, .amount, strong, h2, h3) { color: var(--ink) !important; }
body.sm-site ul.woocommerce-order-overview li { border-color: var(--rule) !important; }

/* Street address on checkout: WooCommerce's address script can hide it by country rules */
body.sm-site.woocommerce-page #billing_address_1_field { display: block !important; visibility: visible !important; }

/* Empty cart */
body.sm-site.woocommerce-page .cart-empty { font-family: var(--font-editorial-family) !important; font-size: 1.5rem !important; color: var(--ink) !important; }
body.sm-site.woocommerce-page .cart-empty::before,
body.sm-site.woocommerce-page .wc-block-cart__empty-cart__title::before { color: var(--gold) !important; }

/* ---------- Scented Mile product page (templates/single-product.php) ---------- */
#sm-page .smp-size[aria-pressed="true"] { border-color: var(--gold) !important; box-shadow: inset 0 0 0 1px var(--gold); }
#sm-page .smp-size[disabled] { opacity: .4; cursor: not-allowed; }
#sm-page [data-smp-add][disabled] { opacity: .45; cursor: not-allowed; }
#sm-page [data-smp-message] a { text-decoration: underline; text-underline-offset: 3px; }
#sm-page .smp-panel strong { font-weight: 500; color: var(--ink); }
#sm-page .smp-panel blockquote { color: oklch(14.48% 0 0 / .6); }
#sm-page .woocommerce-notices-wrapper:not(:empty) { max-width: 1360px; margin: 1.5rem auto 0; padding: 0 1.125rem; }

/* Dropdown lists: selects are transparent, and desktop Chrome/Edge on Windows draws the open
   option list in that colour, which shows as black with dark text. Give the options cream. */
body.sm-site select option, body.sm-site select optgroup,
#sm-page select option, #sm-page select optgroup { background-color: #F8F3EA !important; color: #141414 !important; }
