/* Only single-product content; native WooCommerce markup and interactions remain intact. */
body.single-product { --om-ink:#302721; --om-red:#8f282b; --om-cream:#faf7f2; --om-line:#e8e0d6; }
body.single-product main.site-main { background:var(--om-cream); }
body.single-product div.product { color:var(--om-ink); }
body.single-product div.product .product-entry-wrapper { gap:clamp(28px,5vw,76px); align-items:start; padding-block:20px 48px; }
body.single-product div.product .woocommerce-product-gallery { background:#fff; border:1px solid var(--om-line); border-radius:18px; overflow:hidden; }
body.single-product div.product .woocommerce-product-gallery .ct-media-container img,
body.single-product div.product .woocommerce-product-gallery__image img { object-fit:contain; background:#fff; }
body.single-product div.product .summary { padding-block:14px; }
body.single-product div.product .product_title { font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3.2vw,46px); font-weight:500; line-height:1.15; letter-spacing:-.025em; color:var(--om-ink); margin-bottom:18px; }
body.single-product div.product .summary .price { font-size:28px; font-weight:650; color:var(--om-red); line-height:1.4; }
body.single-product div.product .summary .price del { font-size:18px; opacity:.55; }
body.single-product div.product .summary .price ins { text-decoration:none; }
body.single-product div.product .woocommerce-product-details__short-description { font-size:16px; line-height:1.8; color:#665b51; }
body.single-product div.product .ct-product-divider { background:var(--om-line); }
body.single-product div.product .summary .stock { font-size:14px; }
body.single-product div.product .summary .stock.in-stock { color:#38643e; }
body.single-product div.product .summary form.cart { margin-block:24px; }
body.single-product div.product .summary .quantity input.qty { min-height:50px; border-color:#d9cfc2; border-radius:8px; background:#fff; color:var(--om-ink); }
body.single-product div.product .single_add_to_cart_button { min-height:50px; border-radius:8px; padding-inline:28px; background:var(--om-red); border-color:var(--om-red); color:white; font-size:16px; font-weight:600; box-shadow:none; }
body.single-product div.product .single_add_to_cart_button:hover { background:#702023; border-color:#702023; }
body.single-product div.product .single_add_to_cart_button.disabled,
body.single-product div.product .single_add_to_cart_button:disabled { opacity:.5; cursor:not-allowed; }
body.single-product div.product .summary select { min-height:46px; background-color:#fff; border-color:#d9cfc2; border-radius:7px; }
body.single-product div.product .product_meta { border-top:1px solid var(--om-line); padding-top:20px; font-size:13px; line-height:1.9; color:#75695f; }
body.single-product div.product .product_meta a { color:var(--om-red); }
body.single-product div.product .woocommerce-tabs { margin-top:12px; padding-top:24px; border-top:1px solid var(--om-line); }
body.single-product div.product .woocommerce-tabs ul.tabs { gap:24px; }
body.single-product div.product .woocommerce-tabs ul.tabs li a { font-weight:600; color:#75695f; padding-block:16px; }
body.single-product div.product .woocommerce-tabs ul.tabs li.active a { color:var(--om-red); }
body.single-product div.product .woocommerce-tabs .panel { line-height:1.8; padding-block:24px; }
body.single-product div.product .woocommerce-tabs h2,
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(24px,2.4vw,32px); font-weight:500; color:var(--om-ink); }
body.single-product .related.products,
body.single-product .upsells.products { padding-top:36px; border-top:1px solid var(--om-line); }
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product { background:#fff; border:1px solid var(--om-line); border-radius:12px; padding:18px; overflow:hidden; }
body.single-product .related.products .woocommerce-loop-product__title,
body.single-product .upsells.products .woocommerce-loop-product__title { font-size:17px; line-height:1.4; }
body.single-product div.product :is(a,button,input,select,textarea):focus-visible { outline:3px solid #b67a20; outline-offset:3px; }
@media (max-width:689px) {
 body.single-product div.product .product-entry-wrapper { gap:22px; padding-block:8px 28px; }
 body.single-product div.product .summary { padding-top:0; }
 body.single-product div.product .product_title { font-size:30px; }
 body.single-product div.product .woocommerce-tabs ul.tabs { gap:12px; flex-wrap:wrap; }
 body.single-product div.product .woocommerce-tabs ul.tabs li a { font-size:14px; }
 body.single-product .related.products ul.products li.product,
 body.single-product .upsells.products ul.products li.product { padding:12px; }
}

/* Edition 2: product stage, editorial information and a mobile return-to-order bar. */
body.single-product main.site-main { background:#f8f5ef; }
body.single-product div.product .product-entry-wrapper {
 display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(28px,5vw,72px);
 padding:clamp(18px,3vw,42px); margin-block:20px 64px; border:1px solid #e8e0d6;
 background:#fffdf9; border-radius:24px; box-shadow:0 18px 60px #49371d07;
}
body.single-product div.product .product-entry-wrapper > * { min-width:0; width:auto; float:none; }
body.single-product div.product .woocommerce-product-gallery { border:0; border-radius:16px; background:#f4f0e8; margin:0; }
body.single-product div.product .woocommerce-product-gallery .ct-media-container { background:#f4f0e8; }
body.single-product div.product .woocommerce-product-gallery .ct-media-container img,
body.single-product div.product .woocommerce-product-gallery__image img {
 aspect-ratio:1/1 !important; object-fit:contain; padding:clamp(18px,3vw,42px); background:#fff;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img { padding:6px; }
body.single-product div.product .summary { margin:0; padding:8px 0; }
body.single-product .om-product-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:22px; font-size:10px; letter-spacing:.13em; font-weight:700; }
body.single-product .om-product-eyebrow > span { color:#8f282b; }
body.single-product .om-product-eyebrow a { color:#75695f; background:#f2ede4; border-radius:30px; padding:6px 10px; letter-spacing:.04em; text-decoration:none; }
body.single-product div.product .product_title { font-size:clamp(32px,3.5vw,52px); max-width:18ch; margin-bottom:20px; }
body.single-product div.product .summary .price { font-size:32px; letter-spacing:-.035em; margin-bottom:22px; }
body.single-product div.product .summary .woocommerce-product-rating { margin-block:0 16px; }
body.single-product div.product .summary .ct-product-add-to-cart { padding:22px; border:1px solid #e6ddcf; background:#f6f2e9; border-radius:14px; }
body.single-product div.product .summary form.cart { margin-block:0; }
body.single-product div.product .summary .single_add_to_cart_button { min-height:54px; flex-grow:1; border-radius:9px; }
body.single-product div.product .summary .quantity input.qty { min-height:54px; }
body.single-product .om-product-help { display:flex; gap:13px; align-items:center; padding-top:22px; border-top:1px solid #e8e0d6; margin-top:24px; }
body.single-product .om-help-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid #d9cdbb; border-radius:50%; font-family:Georgia,serif; font-size:22px; }
body.single-product .om-product-help strong { display:block; font-size:13px; font-weight:600; }
body.single-product .om-product-help a { color:#8f282b; font-size:13px; text-underline-offset:4px; }
body.single-product div.product .woocommerce-tabs { border:1px solid #e8e0d6; border-radius:18px; background:#fffdf9; padding:0 24px; margin-bottom:64px; overflow:hidden; }
body.single-product div.product .woocommerce-tabs ul.tabs { justify-content:flex-start; border-bottom:1px solid #e8e0d6; margin:0; }
body.single-product div.product .woocommerce-tabs ul.tabs li { background:transparent; border:0; }
body.single-product div.product .woocommerce-tabs ul.tabs li.active { border-bottom:3px solid #8f282b; }
body.single-product div.product .woocommerce-tabs .panel { padding:28px 0; }
body.single-product div.product .woocommerce-tabs .panel p { max-width:75ch; }
body.single-product div.product .woocommerce-product-attributes th,
body.single-product div.product .woocommerce-product-attributes td { padding:16px; border-color:#e8e0d6; }
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 { font-size:36px; letter-spacing:-.025em; margin-bottom:28px; }
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product { border-radius:16px; transition:box-shadow .2s,border-color .2s; }
body.single-product .related.products ul.products li.product:hover,
body.single-product .upsells.products ul.products li.product:hover { border-color:#c8bba8; box-shadow:0 12px 28px #49371d0b; }
body.single-product .related.products li.product img,
body.single-product .upsells.products li.product img { aspect-ratio:1/1; object-fit:contain; }
body.single-product .related.products .button,
body.single-product .upsells.products .button { background:#f3ede3; color:#8f282b; border-radius:8px; }
.om-order-dock { display:none; }
@media(min-width:1000px) {
 body.single-product div.product .product-entry-wrapper > .woocommerce-product-gallery { position:sticky; top:110px; }
}
@media(max-width:999px) {
 body.single-product div.product .product-entry-wrapper { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; padding:24px; }
}
@media(max-width:689px) {
 body.single-product div.product .product-entry-wrapper { grid-template-columns:minmax(0,1fr); padding:14px; border-radius:18px; margin-block:8px 32px; gap:24px; }
 body.single-product div.product .summary { padding:0 4px 8px; }
 body.single-product .om-product-eyebrow { margin-bottom:14px; }
 body.single-product div.product .product_title { font-size:34px; max-width:none; }
 body.single-product div.product .summary .ct-product-add-to-cart { padding:16px; }
 body.single-product div.product .woocommerce-tabs { padding-inline:16px; margin-bottom:32px; }
 body.single-product .related.products.ct-hidden-sm { display:block !important; }
 body.single-product .related.products > h2 { font-size:28px; }
 body.single-product.om-has-dock { padding-bottom:85px; }
 .om-order-dock:not([hidden]) { display:flex; position:fixed; inset:auto 0 0; z-index:90; background:#fffdf9; border-top:1px solid #e8e0d6; box-shadow:0 -8px 24px #3027210b; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); gap:16px; align-items:center; }
 .om-order-dock strong { flex:1; min-width:0; font-size:13px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; color:#302721; }
 .om-order-dock button { border:0; background:#8f282b; color:#fff; border-radius:8px; padding:12px 18px; min-height:44px; font:600 14px system-ui,sans-serif; }
}
@media(prefers-reduced-motion:reduce) { body.single-product .related.products ul.products li.product { transition:none; } }

/* Edition 3: quiet utility row, only populated when content exists. */
body.single-product .om-product-tools { display:flex; flex-wrap:wrap; gap:14px 20px; align-items:center; padding-top:22px; margin-top:22px; border-top:1px solid var(--om-line); }
body.single-product .om-product-shortcuts { display:flex; flex-wrap:wrap; gap:14px; }
body.single-product .om-product-shortcuts:empty { display:none; }
body.single-product .om-product-shortcuts a { color:#64594f; font-size:13px; font-weight:500; text-decoration:none; text-underline-offset:4px; padding-block:9px; }
body.single-product .om-product-shortcuts a:hover { color:var(--om-red); text-decoration:underline; }
body.single-product .om-share-product { display:inline-flex; align-items:center; background:transparent; color:var(--om-red); border:1px solid #dfd5c7; border-radius:30px; font-family:inherit; font-size:13px; font-weight:500; line-height:1.4; padding:10px 15px; min-height:42px; cursor:pointer; box-shadow:none; }
body.single-product .om-share-product:hover { background:#f3ede3; border-color:#b9a892; }
body.single-product .om-share-product:disabled { opacity:.55; cursor:wait; }
body.single-product .om-share-status { flex-basis:100%; font-size:12px; color:#64594f; }
body.single-product .om-share-status:empty { display:none; }
body.single-product .om-share-url:not([hidden]) { width:100%; background:#fff; border:1px solid #dfd5c7; border-radius:8px; padding:10px; font-size:14px; }
body.single-product .om-share-url[hidden] { display:none; }
body.single-product :is(#om-product-details,#om-related-products) { scroll-margin-top:130px; }
@media(max-width:999px) { body.single-product .related.products.ct-hidden-md { display:block !important; } }
