/* ULTIMOND Elementor/ShopEngine templates. Scoped so the existing store is unchanged. */
body.shopengine-template {
  --ult-bg: #080808;
  --ult-panel: #111;
  --ult-white: #dcdcdc;
  --ult-red: #ff2020;
  background: var(--ult-bg);
  color: var(--ult-white);
  font-family: "Space Grotesk", sans-serif;
}
body.shopengine-template .elementor-location-single,
body.shopengine-template .elementor-location-archive,
body.shopengine-template .elementor-widget-theme-post-content,
body.shopengine-template .elementor,
body.shopengine-template .elementor-section,
body.shopengine-template .e-con { background-color: transparent; }
body.shopengine-template .elementor-element .e-con-inner { max-width: 1440px; }
body.shopengine-template .shopengine-template-main { padding: 56px clamp(20px, 5vw, 90px); }
body.shopengine-template .shopengine-template-main > .e-con-inner { max-width: 1500px; }
body.shopengine-template h1,
body.shopengine-template h2,
body.shopengine-template .shopengine-product-title { color: #f5f5f5; font-family: "Barlow Condensed", Impact, sans-serif; font-weight: 700; text-transform: uppercase; line-height: .9; }
body.single-product.shopengine-template .shopengine-product-title,
body.single-product.shopengine-template .shopengine-product-title .product-title,
body.single-product .product_title { color: #f5f5f5 !important; font: 400 clamp(29.25px, 3.9375vw, 63px)/.88 "Barlow Condensed", Impact, sans-serif !important; text-transform: uppercase; letter-spacing: -.035em; }
body.shopengine-template p,
body.shopengine-template .shopengine-product-excerpt,
body.shopengine-template .shopengine-product-price,
body.shopengine-template .shopengine-product-meta,
body.shopengine-template .shopengine-breadcrumbs { color: var(--ult-white); }
body.shopengine-template .shopengine-product-price { font-family: "DM Mono", monospace; color: var(--ult-red); }
body.shopengine-template .shopengine-product-price * { color: var(--ult-red) !important; }
body.shopengine-template .shopengine-product-excerpt { font-size: 15px; line-height: 1.65; }
body.shopengine-template .shopengine-product-excerpt code { display: inline; background: transparent !important; color: #dcdcdc !important; padding: 0 !important; font: inherit; white-space: normal; }
body.shopengine-template .shopengine-product-tabs code,
body.shopengine-template .woocommerce-Tabs-panel code { background: transparent !important; color: #dcdcdc !important; padding: 0 !important; white-space: normal; font: 13px/1.6 "DM Mono", monospace; }
body.shopengine-template a { color: inherit; }
body.shopengine-template a:hover { color: var(--ult-red); }
body.shopengine-template .shopengine-single-product-images img { object-fit: contain; }
body.shopengine-template .shopengine-product-image .woocommerce-product-gallery .flex-viewport { aspect-ratio: 1; height: auto !important; }
body.shopengine-template .shopengine-product-image .woocommerce-product-gallery__image > a > img { width: 100%; aspect-ratio: 1; object-fit: contain; object-position: center; }
body.shopengine-template .single_add_to_cart_button { background: var(--ult-red) !important; color: #fff !important; border: 1px solid var(--ult-red) !important; border-radius: 0 !important; text-transform: uppercase; letter-spacing: .1em; font: 600 11px "DM Mono", monospace; min-height: 48px; }
body.shopengine-template .single_add_to_cart_button:hover { background: #fff !important; color: #080808 !important; border-color: #fff !important; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart label,
body.shopengine-template .woocommerce-tabs li,
body.shopengine-template .shopengine-product-meta { color: var(--ult-white) !important; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations th.label,
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations th.label label,
body.shopengine-template .shopengine-swatches .variations label { color: #dcdcdc !important; font: 11px "DM Mono", monospace !important; letter-spacing: .08em; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart select,
body.shopengine-template .elementor-widget-shopengine-add-to-cart input,
body.shopengine-template .elementor-widget-shopengine-add-to-cart .quantity input { background: #171717 !important; color: #fff !important; border: 1px solid #676767 !important; border-radius: 0 !important; }
body.shopengine-template .ultimond-variation-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 9px 0 18px; }
body.shopengine-template .ultimond-variation-pills button { min-width: 46px; min-height: 43px; background: #151515 !important; border: 1px solid #5c5c5c !important; border-radius: 0 !important; color: #eee !important; padding: 8px 12px; font: 11px "DM Mono", monospace !important; cursor: pointer; }
body.shopengine-template .ultimond-variation-pills button:hover:not(:disabled),
body.shopengine-template .ultimond-variation-pills button[aria-pressed="true"] { border-color: #f5f5f5 !important; background: #292929 !important; }
/* Focus lock corners use the existing WooCommerce choice state. */
body.single-product.shopengine-template .ultimond-variation-pills button[aria-pressed="true"] { position: relative; border-color: #5c5c5c !important; }
body.single-product.shopengine-template .ultimond-variation-pills button[aria-pressed="true"]::before {
  content: "";
  position: absolute;
  inset: 2px;
  pointer-events: none;
  background:
    linear-gradient(#ff2020, #ff2020) left top / 7px 2px,
    linear-gradient(#ff2020, #ff2020) left top / 2px 7px,
    linear-gradient(#ff2020, #ff2020) right top / 7px 2px,
    linear-gradient(#ff2020, #ff2020) right top / 2px 7px,
    linear-gradient(#ff2020, #ff2020) left bottom / 7px 2px,
    linear-gradient(#ff2020, #ff2020) left bottom / 2px 7px,
    linear-gradient(#ff2020, #ff2020) right bottom / 7px 2px,
    linear-gradient(#ff2020, #ff2020) right bottom / 2px 7px;
  background-repeat: no-repeat;
}
body.shopengine-template .ultimond-variation-pills button:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
body.shopengine-template form.ultimond-tabs-ready table.variations select { position: absolute !important; width: 1px !important; height: 1px !important; clip-path: inset(50%); overflow: hidden; opacity: 0; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations { border: 0 !important; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations tr,
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations th,
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations td { border: 0 !important; background: transparent !important; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations td.value { display: flex !important; flex-direction: column; align-items: flex-start; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .variations .ultimond-variation-pills { order: 1; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .reset_variations { order: 2; display: block !important; margin: 0 0 14px !important; color: #999 !important; font: 10px "DM Mono", monospace !important; }
body.shopengine-template .shopengine-product-meta .product_meta,
body.shopengine-template .shopengine-product-meta .product_meta span { color: #999 !important; font: 10px "DM Mono", monospace !important; }
body.shopengine-template .shopengine-product-meta .product_meta a { color: #dcdcdc !important; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .quantity-wrap button,
body.shopengine-template .elementor-widget-shopengine-add-to-cart .quantity-wrap input,
body.shopengine-template .elementor-widget-shopengine-add-to-cart .quantity button,
body.shopengine-template .elementor-widget-shopengine-add-to-cart .quantity input { background: #171717 !important; color: #fff !important; border: 1px solid #555 !important; }
body.shopengine-template .elementor-widget-shopengine-add-to-cart .quantity-wrap button svg { fill: #fff !important; width: 12px; height: 12px; }
body.shopengine-template .single_add_to_cart_button:disabled { color: #fff !important; opacity: .55 !important; }
body.shopengine-template .ast-sticky-add-to-cart { display: none !important; }
body.shopengine-template .woocommerce-tabs { border-top: 1px solid #444; padding-top: 30px; }
body.shopengine-template .woocommerce-tabs li.active a { color: #fff !important; border-bottom: 2px solid var(--ult-red); }
body.shopengine-template .woocommerce-tabs p { color: #ccc; }
body.shopengine-template .woocommerce-tabs a,
body.shopengine-template .shopengine-product-tabs a { color: #dcdcdc !important; font-family: "DM Mono", monospace !important; }
body.shopengine-template .ultimond-template-announcement { display: flex; justify-content: space-between; gap: 12px; padding: 8px clamp(20px,5vw,90px); border-bottom: 1px solid #343434; color: #969696; font: 9px "DM Mono", monospace; letter-spacing: .12em; }
body.shopengine-template .ultimond-template-announcement span:first-child { color: var(--ult-red); }
body.shopengine-template .ultimond-template-header { min-height: 82px; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 12px clamp(20px,5vw,90px); border-bottom: 1px solid #333; background: #080808; }
body.shopengine-template .ultimond-template-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ult-red); font: 700 19px "Space Grotesk", sans-serif; letter-spacing: .13em; text-decoration: none; }
body.shopengine-template .ultimond-template-brand img { width: 30px; height: 42px; object-fit: contain; }
body.shopengine-template .ultimond-template-brand small,
body.shopengine-template .ultimond-template-footer span small { display: block; color: #bbb; font: 8px "DM Mono", monospace; letter-spacing: .14em; }
body.shopengine-template .ultimond-template-header nav { display: flex; gap: clamp(14px,2vw,34px); }
body.shopengine-template .ultimond-template-header nav a,
body.shopengine-template .ultimond-template-cart { color: #dcdcdc; font: 10px "DM Mono", monospace; letter-spacing: .1em; text-decoration: none; }
body.shopengine-template .ultimond-template-cart { color: var(--ult-red); white-space: nowrap; }
body.shopengine-template .ultimond-template-footer { display: flex; justify-content: space-between; align-items: start; gap: 30px; padding: 60px clamp(20px,5vw,90px) 26px; border-top: 1px solid #444; background: #080808; }
body.shopengine-template .ultimond-template-footer > span { color: var(--ult-red); font-weight: 700; letter-spacing: .15em; }
body.shopengine-template .ultimond-template-footer nav { display: flex; gap: 24px; }
body.shopengine-template .ultimond-template-footer nav a,
body.shopengine-template .ultimond-template-footer > small { color: #aaa; font: 10px "DM Mono", monospace; text-decoration: none; }
body.shopengine-template .ultimond-template-archive-heading { padding: 64px clamp(20px,5vw,90px) 8px; }
body.shopengine-template .ultimond-template-archive-heading p { color: var(--ult-red); font: 10px "DM Mono", monospace; letter-spacing: .15em; }
body.shopengine-template .ultimond-template-archive-heading h1 { font-size: clamp(66px,10vw,150px); margin: 18px 0; }
body.shopengine-template .shopengine-archive-products { padding: 0 clamp(20px,5vw,90px) 80px; }
body.shopengine-template .shopengine-archive-products ul.products { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)) !important; gap: 16px !important; width: 100% !important; margin: 0 !important; }
body.shopengine-template .shopengine-archive-products li.archive-product-container { width: auto !important; max-width: none !important; float: none !important; background: #111 !important; border: 1px solid #393939 !important; padding: 0 0 24px !important; margin: 0 !important; overflow: hidden; }
body.shopengine-template .shopengine-archive-products .shopengine-archive-mode-grid { display: block !important; background: transparent !important; padding: 0 !important; margin: 0 !important; }
body.shopengine-template .shopengine-archive-products__left-image { display: none !important; }
body.shopengine-template .shopengine-archive-products li.product { width: 100% !important; float: none !important; background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
body.shopengine-template .shopengine-archive-products li.product > a:first-child img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4/5; object-fit: cover; margin: 0 !important; }
body.shopengine-template .shopengine-archive-products .product-categories,
body.shopengine-template .shopengine-archive-products .woocommerce-loop-product__title,
body.shopengine-template .shopengine-archive-products .price { display: block; padding: 0 18px !important; }
body.shopengine-template .shopengine-archive-products .product-categories { margin-top: 18px !important; color: var(--ult-red) !important; font: 10px "DM Mono", monospace !important; }
body.shopengine-template .shopengine-archive-products .woocommerce-loop-product__title { color: #f5f5f5 !important; font: 700 clamp(27px,3vw,48px)/.95 "Barlow Condensed", Impact, sans-serif !important; text-transform: uppercase; margin: 8px 0 16px !important; }
body.shopengine-template .shopengine-archive-products .price { color: #eee !important; font: 12px "DM Mono", monospace !important; }
body.shopengine-template .shopengine-archive-products .loop-product--btns,
body.shopengine-template .shopengine-archive-products .ast-on-card-button,
body.shopengine-template .shopengine-archive-products .star-rating,
body.shopengine-template .shopengine-archive-products .shopengine-product-rating-review-count { display: none !important; }
body.shopengine-template .shopengine-archive-products .woocommerce-result-count,
body.shopengine-template .shopengine-archive-products .woocommerce-ordering { color: #aaa; margin: 0 0 18px; }
body.shopengine-template .shopengine-archive-products .woocommerce-ordering select { background: #171717; color: #eee; border: 1px solid #555; }
@media (max-width: 767px) {
  body.shopengine-template .ultimond-template-announcement span:nth-child(2),
  body.shopengine-template .ultimond-template-announcement span:nth-child(3),
  body.shopengine-template .ultimond-template-header nav { display: none; }
  body.shopengine-template .shopengine-template-main { padding: 28px 16px; }
  body.shopengine-template .ultimond-template-footer { flex-direction: column; }
  body.shopengine-template .ultimond-template-footer nav { flex-wrap: wrap; }
  body.shopengine-template .shopengine-archive-products ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 480px) { body.shopengine-template .shopengine-archive-products ul.products { grid-template-columns: 1fr !important; } }

/* Template 619 information rows; leave image and hover rules intact. */
.elementor-619 .shopengine-archive-products ul.products:has(.ultimond-archive-card) { row-gap: 0 !important; }
.elementor-619 .shopengine-archive-products li.archive-product-container:has(.ultimond-archive-card),
.elementor-619 .shopengine-archive-products .shopengine-archive-mode-grid:has(.ultimond-archive-card),
.elementor-619 .shopengine-archive-products li.ultimond-archive-card { display: grid !important; grid-template-rows: subgrid; grid-row: span 6; }
.elementor-619 .ultimond-archive-card > .woocommerce-loop-product__link { grid-row: 1; }
.elementor-619 .ultimond-archive-card .product-categories,
.elementor-619 .ultimond-archive-card .woocommerce-loop-product__title,
.elementor-619 .ultimond-archive-card > .woocommerce-loop-product__link .price,
.elementor-619 .ultimond-archive-card > .price,
.elementor-619 .ultimond-archive-card > .button { display: none !important; }
.elementor-619 .ultimond-card-info { display: grid; grid-template-rows: subgrid; grid-row: span 5; padding: 18px 18px 0; text-align: left; }
.elementor-619 .ultimond-card-info > * { margin: 0; min-width: 0; }
.elementor-619 .ultimond-card-label { font: 10px/1.5 "DM Mono", monospace; color: var(--ult-red); padding-bottom: 10px; }
.elementor-619 .ultimond-card-title { font: 700 clamp(27px,3vw,48px)/.95 "Barlow Condensed", Impact, sans-serif; text-transform: uppercase; overflow-wrap: anywhere; padding-bottom: 16px; }
.elementor-619 .ultimond-card-title a { color: #f5f5f5; text-decoration: none; }
.elementor-619 .ultimond-card-price { font: 12px/1.6 "DM Mono", monospace; color: #eee; padding-bottom: 14px; }
.elementor-619 .ultimond-card-description { font: 12px/1.6 "DM Mono", monospace; color: #bbb; overflow-wrap: anywhere; padding-bottom: 20px; }
.elementor-619 .ultimond-card-cta { position: static; align-self: end; justify-self: start; font: 10px/1.5 "DM Mono", monospace; color: #eee; text-decoration: none; border-bottom: 1px solid var(--ult-red); padding-bottom: 4px; }
/* Template 619: fixed desktop columns; retain existing tablet/mobile rules. */
@media (min-width: 1025px) {
  body.shopengine-template .elementor-619 .shopengine-archive-products ul.products { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}

/* Keep template 618 breadcrumb hover readable. */
body.single-product.shopengine-template .elementor-618 .elementor-element.elementor-widget-shopengine-breadcrumbs .shopengine-breadcrumbs .woocommerce-breadcrumb a:hover { color: var(--ult-red); }

/* Quantity symbols use the existing ULTIMOND text color. */
body.shopengine-template .elementor-widget-shopengine-add-to-cart .quantity-wrap button:is(.minus, .plus) svg path { fill: var(--ult-white) !important; }

/* Collection cards: override template 619 without changing generated Elementor CSS. */
body.shopengine-template .elementor-619 .elementor-element.elementor-element-5ced4d1c .shopengine-archive-products.shopengine-grid ul.products {
  row-gap: 0 !important;
  column-gap: 16px !important;
}
body.shopengine-template .elementor-619 .ultimond-template-archive-heading h1 { max-width: 100%; overflow-wrap: anywhere; }
body.shopengine-template .elementor-619 .shopengine-archive-products li.product > a:first-child img { object-fit: contain; object-position: center; background: #111; }
.elementor-619 .ultimond-card-price:empty,
.elementor-619 .ultimond-card-description:empty { padding-bottom: 0; min-height: 0; }
.elementor-619 .ultimond-card-label { grid-row: 1; }
.elementor-619 .ultimond-card-title { grid-row: 2; }
.elementor-619 .ultimond-card-price { grid-row: 3; }
.elementor-619 .ultimond-card-description { grid-row: 4; }
.elementor-619 .ultimond-card-cta { grid-row: 5; display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; font-size: 12px; padding-bottom: 4px; }
body.term-cs-pt-ms .elementor-619 .ultimond-card-description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; padding-bottom: 0; margin-bottom: 20px; }
@media (max-width: 767px) {
  body.shopengine-template .elementor-619 .shopengine-archive-products li.archive-product-container:has(.ultimond-archive-card),
  body.shopengine-template .elementor-619 .shopengine-archive-products .shopengine-archive-mode-grid:has(.ultimond-archive-card),
  body.shopengine-template .elementor-619 .shopengine-archive-products li.ultimond-archive-card { display: block !important; grid-row: auto; grid-template-rows: none; }
  .elementor-619 .ultimond-card-info { display: flex; flex-direction: column; grid-row: auto; grid-template-rows: none; }
  .elementor-619 .ultimond-card-price:empty,
  .elementor-619 .ultimond-card-description:empty { display: none; }
  .elementor-619 .ultimond-card-label { font-size: 12px; }
  .elementor-619 .ultimond-card-price { font-size: 14px; }
  .elementor-619 .ultimond-card-description { font-size: 13px; }
  .elementor-619 .ultimond-card-cta { align-self: flex-start; font-size: 13px; }
  body.shopengine-template .elementor-619 .elementor-element.elementor-element-5ced4d1c .shopengine-archive-products.shopengine-grid ul.products { row-gap: 16px !important; }
}

/* Category titles: 65% of original clamp(66px,10vw,150px), not a compounded scale. */
body.tax-product_cat.shopengine-template .ultimond-template-archive-heading h1 {
  font-size: clamp(42.9px, 6.5vw, 97.5px);
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}
/* Collection taxonomy is distinct from product_cat. Original: clamp(66px,10vw,150px). */
body.tax-product_collection.shopengine-template .ultimond-template-archive-heading h1 {
  font-size: clamp(42.9px, 6.5vw, 97.5px);
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}