/** Havasu 3D WooCommerce layer — intentionally template-light. */

.woocommerce,
.woocommerce-page {
  --h3d-woo-border: rgba(11,14,13,.14);
  --h3d-woo-radius: 2px;
}

body.h3d-woocommerce-ready #main-content{background:var(--h3d-paper,#f2efe7)}
body.h3d-woocommerce-ready #content-area{padding-top:64px;padding-bottom:80px}
body.h3d-woocommerce-ready #left-area{width:100%;padding-right:0}
body.h3d-woocommerce-ready #sidebar{display:none}
body.h3d-woocommerce-ready #main-content .container:before{display:none}
.h3d-store-masthead{padding:92px 5vw 58px;background:#0b0e0d;color:#fff}
.h3d-store-masthead__inner{width:90%;max-width:1280px;margin:auto}
.h3d-store-masthead h1{margin:.25em 0;font:300 clamp(48px,7vw,96px)/.95 "Fraunces",Georgia,serif;color:#fff}
.h3d-store-masthead nav{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px}
.h3d-store-masthead nav a{color:#fff;font:500 11px/1.3 "Geist Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
.h3d-store-masthead nav a:hover{color:var(--h3d-accent,#2f7dff)}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--h3d-accent, #2f7dff);
  color: #fff;
  border: 1px solid var(--h3d-accent, #2f7dff);
  border-radius: var(--h3d-woo-radius);
  font-family: "Geist", Arial, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  padding: .9em 1.35em;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: #0b0e0d;
  color: #fff;
  border-color: #0b0e0d;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
  color: var(--h3d-accent, #2f7dff);
  font-family: "Geist", Arial, sans-serif;
  font-weight: 600;
}

.woocommerce ul.products li.product a img {
  background: #f4f4f4;
  border: 1px solid var(--h3d-woo-border);
  border-radius: var(--h3d-woo-radius);
  margin-bottom: 14px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Geist", Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

.woocommerce span.onsale {
  min-width: 0;
  min-height: 0;
  line-height: 1;
  padding: 8px 10px;
  border-radius: 0;
  background: var(--h3d-accent, #2f7dff);
  font-family: "Geist Mono", monospace;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0;
  border-left: 3px solid var(--h3d-accent, #2f7dff);
  background: #f6f7f8;
  color: #0b0e0d;
  font-family: "Geist", Arial, sans-serif;
}
.woocommerce-error { border-left-color: #b42318; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.woocommerce div.product form.cart .variations select {
  border: 1px solid var(--h3d-woo-border);
  border-radius: var(--h3d-woo-radius);
  background: #fff;
  color: #0b0e0d;
  padding: 11px 12px;
  font-family: "Geist", Arial, sans-serif;
}

.woocommerce table.shop_table {
  border: 1px solid var(--h3d-woo-border);
  border-radius: 0;
  border-collapse: collapse;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: var(--h3d-woo-border); }

.woocommerce-checkout #payment {
  background: #f4f5f6;
  border-radius: var(--h3d-woo-radius);
}
.woocommerce-checkout #payment div.payment_box { background: #e9ebee; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #e9ebee; }

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--h3d-woo-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 12px 14px;
  border-bottom: 1px solid var(--h3d-woo-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: #0b0e0d;
  color: #fff;
}

@media (max-width: 768px) {
  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr { border-bottom: 1px solid var(--h3d-woo-border); }
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals { width: 100%; }
}

/* Divi 5 Woo module layouts. */
.h3d-product-body.et_pb_section{padding:clamp(50px,7vw,100px) 0!important;background:#f7f7f5;color:#0b0e0d}
.h3d-product-body .et_pb_row:first-child{display:flex;align-items:flex-start;gap:clamp(28px,5vw,72px)}
.h3d-product-body .et_pb_wc_title h1{font:400 clamp(38px,5vw,72px)/1 "Fraunces",Georgia,serif!important;letter-spacing:-.04em}
.h3d-product-body .price{font-size:22px!important}
.h3d-product-body .single_add_to_cart_button{min-width:180px}
.h3d-cart-layout .et_pb_row,.h3d-checkout-layout .et_pb_row{align-items:flex-start;gap:clamp(24px,4vw,56px)}
.h3d-cart-layout .h3d-cart-grid>.et_pb_column,.h3d-checkout-layout>.et_pb_row>.et_pb_column{background:#fff;padding:clamp(18px,3vw,34px);border:1px solid var(--h3d-woo-border)}
.h3d-store-shell .products li.product{background:#12171f;border:1px solid rgba(255,255,255,.13);padding:12px;color:#fff}
.h3d-store-shell .products li.product h2{color:#fff!important}
@media(max-width:980px){.h3d-product-body .et_pb_row:first-child,.h3d-cart-layout .et_pb_row,.h3d-checkout-layout .et_pb_row{display:grid!important;grid-template-columns:1fr!important}}

/* v1.2.8 single-product composition. */
body.h3d-single-product .h3d-store-masthead.et_pb_section{padding:22px 0!important;min-height:0;background:#0b0e0d!important;border-bottom:1px solid rgba(255,255,255,.12)}
body.h3d-single-product .h3d-store-masthead .h3d-eyebrow,body.h3d-single-product .h3d-store-masthead h1{display:none!important}
body.h3d-single-product .h3d-store-links{margin:0!important}
.h3d-product-body.et_pb_section{padding:34px 0 100px!important;background:#eceef0!important}
.h3d-product-crumbs{margin-bottom:18px!important;padding:0!important}
.h3d-product-crumbs p{margin:0;color:#68717d;font:500 11px/1.5 "Geist Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.h3d-product-crumbs a{color:#087cf0!important}
.h3d-product-card.et_pb_row{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(340px,2fr);gap:0!important;width:min(calc(100% - 48px),1180px)!important;max-width:1180px!important;padding:0!important;background:#fff;border:1px solid rgba(11,14,13,.13);border-radius:14px;overflow:hidden;box-shadow:0 20px 55px rgba(17,24,39,.08)}
.h3d-product-card>.et_pb_column{width:auto!important;margin:0!important}
.h3d-product-gallery-panel{padding:clamp(22px,3vw,44px)!important;background:#f5f6f7;border-right:1px solid rgba(11,14,13,.1)}
.h3d-product-gallery-panel .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.h3d-product-gallery-panel .woocommerce-product-gallery__wrapper{background:#fff;border:1px solid rgba(11,14,13,.1);border-radius:10px;overflow:hidden}
.h3d-product-gallery-panel .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px!important}
.h3d-product-gallery-panel .flex-control-thumbs li{width:auto!important;float:none!important;background:#fff;border:1px solid rgba(11,14,13,.12);border-radius:7px;overflow:hidden}
.h3d-product-gallery-panel .flex-control-thumbs img{margin:0!important}
.h3d-product-buy-panel{padding:clamp(30px,4vw,58px)!important;background:#fff}
.h3d-product-eyebrow{margin-bottom:12px;color:#087cf0;font:600 10px/1.4 "Geist Mono",monospace;letter-spacing:.13em;text-transform:uppercase}
.h3d-product-title h1{margin:0 0 12px!important;color:#10151c!important;font:500 clamp(40px,4vw,62px)/1 "Fraunces",Georgia,serif!important;letter-spacing:-.04em!important}
.h3d-product-price{margin:0 0 22px!important;padding-bottom:18px;border-bottom:1px solid rgba(11,14,13,.12)}
.h3d-product-rating{margin:0 0 12px!important}.h3d-product-rating .star-rating{color:#ff5e36!important}.h3d-product-rating a{color:#68717d!important;font-size:12px}
.h3d-product-price .price{color:#10151c!important;font-size:23px!important}.h3d-product-price del{color:#7a828b!important;font-size:16px}.h3d-product-price ins{text-decoration:none!important;color:#087cf0!important}
.h3d-product-description{color:#404854;font-size:15px;line-height:1.65;margin-bottom:22px}
.h3d-product-cart form.cart{display:flex!important;align-items:stretch;gap:10px;margin:0 0 20px!important}
.h3d-product-cart .quantity .qty{height:50px;width:66px!important;background:#f3f4f5!important;border:1px solid rgba(11,14,13,.14)!important}
.h3d-product-cart button.single_add_to_cart_button{height:50px;flex:1;background:#087cf0!important;border-color:#087cf0!important;border-radius:5px!important;font-size:13px!important;text-transform:uppercase;letter-spacing:.05em}
.h3d-product-cart button.single_add_to_cart_button:hover{background:#0b0e0d!important;border-color:#0b0e0d!important}
.h3d-product-meta{padding:14px 0;border-top:1px solid rgba(11,14,13,.1);border-bottom:1px solid rgba(11,14,13,.1);font:500 11px/1.7 "Geist Mono",monospace;color:#69717b}
.h3d-purchase-points ul{list-style:none!important;padding:0!important;margin:20px 0 0!important}.h3d-purchase-points li{padding:7px 0;color:#39424d;font-size:12px;border-bottom:1px dotted rgba(11,14,13,.15)}
.h3d-product-trust.et_pb_row{display:grid!important;grid-template-columns:repeat(3,1fr);width:min(calc(100% - 48px),1180px)!important;max-width:1180px!important;margin-top:18px!important;padding:22px 0!important;background:#0c121a;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;overflow:hidden}
.h3d-product-trust>.et_pb_column{width:auto!important;margin:0!important;padding:0 28px;border-right:1px solid rgba(255,255,255,.13)}.h3d-product-trust>.et_pb_column:last-child{border-right:0}
.h3d-product-trust h3{margin:0 0 7px;color:#3b9cff!important;font:600 11px/1.3 "Geist Mono",monospace;text-transform:uppercase;letter-spacing:.07em}.h3d-product-trust p{margin:0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.45}
.h3d-product-details,.h3d-more-products{width:min(calc(100% - 48px),1180px)!important;max-width:1180px!important;margin-top:52px!important;padding:0!important}
.h3d-product-details .woocommerce-tabs{background:#fff;border:1px solid rgba(11,14,13,.12);border-radius:10px;padding:24px!important}
.h3d-more-products{padding-top:42px!important;border-top:1px solid rgba(11,14,13,.16)}.h3d-more-products h2{font:500 clamp(34px,4vw,52px)/1 "Fraunces",Georgia,serif!important;letter-spacing:-.035em;margin-bottom:24px}
.h3d-more-products .products li.product{background:#fff!important;border:1px solid rgba(11,14,13,.12)!important;border-radius:8px;padding:10px!important}.h3d-more-products .products li.product h2{color:#10151c!important;font:600 14px/1.35 "Geist",Arial,sans-serif!important;margin:10px 0 5px!important}.h3d-more-products .products li.product .price{font-size:13px!important}
@media(max-width:900px){.h3d-product-card.et_pb_row{grid-template-columns:1fr}.h3d-product-gallery-panel{border-right:0;border-bottom:1px solid rgba(11,14,13,.1)}.h3d-product-trust.et_pb_row{grid-template-columns:1fr}.h3d-product-trust>.et_pb_column{padding:18px 24px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.h3d-product-trust>.et_pb_column:last-child{border-bottom:0}}
@media(max-width:520px){.h3d-product-card.et_pb_row,.h3d-product-trust.et_pb_row,.h3d-product-details,.h3d-more-products{width:calc(100% - 28px)!important}.h3d-product-buy-panel,.h3d-product-gallery-panel{padding:22px!important}.h3d-product-cart form.cart{flex-wrap:wrap}.h3d-product-cart button.single_add_to_cart_button{min-width:calc(100% - 80px)}}

/* v1.2.10: bring the store into the original light Havasu3D visual system. */
body.h3d-shop-archive,body.h3d-single-product,body.h3d-cart,body.h3d-checkout,body.h3d-account{background:#f4eee1!important;color:#0b0e0d}
body.h3d-shop-archive #main-content,body.h3d-single-product #main-content,body.h3d-cart #main-content,body.h3d-checkout #main-content,body.h3d-account #main-content{background:#f4eee1!important}
body.h3d-shop-archive .h3d-global-header,body.h3d-single-product .h3d-global-header,body.h3d-cart .h3d-global-header,body.h3d-checkout .h3d-global-header,body.h3d-account .h3d-global-header{background:rgba(244,238,225,.96)!important;color:#0b0e0d!important;border-bottom:1px solid rgba(11,14,13,.12)!important}
body.h3d-shop-archive .h3d-global-header *,body.h3d-single-product .h3d-global-header *,body.h3d-cart .h3d-global-header *,body.h3d-checkout .h3d-global-header *,body.h3d-account .h3d-global-header *{color:#0b0e0d!important}
body.h3d-shop-archive .h3d-global-links a:hover,body.h3d-single-product .h3d-global-links a:hover,body.h3d-cart .h3d-global-links a:hover,body.h3d-checkout .h3d-global-links a:hover,body.h3d-account .h3d-global-links a:hover{color:#ff5e36!important}
.h3d-store-masthead.et_pb_section,body.h3d-single-product .h3d-store-masthead.et_pb_section{background:linear-gradient(120deg,#ebe3d2,#f4eee1 52%,#fae2d6)!important;color:#0b0e0d!important;border-bottom:1px solid rgba(11,14,13,.11)}
.h3d-store-masthead h1{color:#0b0e0d!important}.h3d-store-masthead .h3d-eyebrow,.h3d-store-masthead .h3d-eyebrow *{color:#76706a!important}.h3d-store-masthead .h3d-store-links a{color:#0b0e0d!important}.h3d-store-masthead .h3d-store-links a:hover{color:#ff5e36!important}
.h3d-store-shell.et_pb_section{background:#f4eee1!important;color:#0b0e0d!important}
.h3d-store-shell .products li.product{background:#fff!important;color:#0b0e0d!important;border:1px solid rgba(11,14,13,.13)!important;border-radius:10px!important;padding:12px!important;box-shadow:0 10px 30px rgba(11,14,13,.04)}
.h3d-store-shell .products li.product a img,.h3d-more-products .products li.product a img,.h3d-products-grid .products li.product a img{border-radius:14px!important;overflow:hidden!important}
.h3d-product-gallery-panel .woocommerce-product-gallery__image,.h3d-product-gallery-panel .woocommerce-product-gallery__image a,.h3d-product-gallery-panel .woocommerce-product-gallery__image img{border-radius:14px!important;overflow:hidden!important}
.h3d-product-gallery-panel .flex-control-thumbs li,.h3d-product-gallery-panel .flex-control-thumbs li img{border-radius:8px!important;overflow:hidden!important}
.h3d-store-shell .products li.product h2{color:#0b0e0d!important}.h3d-store-shell .products li.product .price{color:#137b75!important}.h3d-store-shell .products li.product a.button{background:#0b0e0d!important;border-color:#0b0e0d!important;color:#f4eee1!important;width:100%;text-align:center}.h3d-store-shell .products li.product a.button:hover{background:#ff5e36!important;border-color:#ff5e36!important}
.woocommerce span.onsale{background:#ff5e36!important;color:#fff!important}
.h3d-product-body.et_pb_section{background:#ebe7de!important}.h3d-product-eyebrow,.h3d-product-price ins,.h3d-product-crumbs a{color:#137b75!important}.h3d-product-cart button.single_add_to_cart_button{background:#0b0e0d!important;border-color:#0b0e0d!important}.h3d-product-cart button.single_add_to_cart_button:hover{background:#ff5e36!important;border-color:#ff5e36!important}
.h3d-product-trust.et_pb_row{background:#0b0e0d}.h3d-product-trust h3{color:#d4ff3a!important}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:#0b0e0d!important;border-color:#0b0e0d!important}.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:#ff5e36!important;border-color:#ff5e36!important}

/* v1.2.15: Theme Builder header styling on WooCommerce screens. */
body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav.et_pb_section{padding:17px 0!important;background:rgba(244,238,225,.97)!important;border-top:2px solid #0b0e0d!important;border-bottom:1px solid rgba(11,14,13,.12)!important;color:#0b0e0d!important}
body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-inner.et_pb_row{display:grid!important;grid-template-columns:1fr 1fr 1fr;align-items:center;width:min(calc(100% - 48px),1120px)!important;max-width:1120px!important;padding:0!important}
body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .et_pb_column{width:auto!important;margin:0!important}
body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .logo,body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .logo a{color:#0b0e0d!important;font:400 29px/1 "Fraunces",Georgia,serif!important}
body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .logo em{color:#ff5e36!important}
body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links{text-align:center!important}body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links p{margin:0!important;padding:0!important}body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links a{margin:0 12px;color:#0b0e0d!important;font:500 13px/1.3 "Geist",Arial,sans-serif!important}
body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-cta{text-align:right!important}body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-cta .et_pb_button,body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-cta a{padding:13px 23px!important;border:1px solid #0b0e0d!important;border-radius:999px!important;background:#0b0e0d!important;color:#f4eee1!important;font:600 13px/1.2 "Geist",Arial,sans-serif!important}
.h3d-nav .nav-cta.et_pb_button_module_wrapper .et_pb_button,.h3d-nav a.et_pb_button.nav-cta,.h3d-nav .nav-cta a.et_pb_button,.h3d-nav .nav-cta a{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:14px 24px!important;border:1px solid #0b0e0d!important;border-radius:999px!important;background:#0b0e0d!important;color:#f4eee1!important;font:600 13px/1.2 "Geist",Arial,sans-serif!important;box-shadow:none!important;text-decoration:none!important}
.h3d-nav .nav-cta.et_pb_button_module_wrapper .et_pb_button:hover,.h3d-nav a.et_pb_button.nav-cta:hover,.h3d-nav .nav-cta a:hover{border-color:#ff5e36!important;background:#ff5e36!important;color:#fff!important}
.h3d-store-shell .h3d-products-grid ul.products li.product .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-height:42px;padding:12px 20px!important;border:1px solid #0b0e0d!important;border-radius:999px!important;background:#0b0e0d!important;color:#f4eee1!important;font:600 12px/1.2 "Geist",Arial,sans-serif!important;text-transform:none!important}
.h3d-store-shell .h3d-products-grid ul.products li.product .button:hover{border-color:#ff5e36!important;background:#ff5e36!important;color:#fff!important}
.h3d-store-shell .h3d-products-grid ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}.h3d-store-shell .h3d-products-grid ul.products:before,.h3d-store-shell .h3d-products-grid ul.products:after{display:none!important}.h3d-store-shell .h3d-products-grid ul.products li.product{float:none!important;width:auto!important;margin:0!important}.h3d-store-shell .h3d-products-grid ul.products li.product img{width:100%!important;aspect-ratio:1/1;object-fit:cover!important;max-height:290px!important}.h3d-store-shell .h3d-products-grid ul.products li.product h2,.h3d-store-shell .h3d-products-grid ul.products li.product .price,.h3d-store-shell .h3d-products-grid ul.products li.product .button{display:block!important;visibility:visible!important;opacity:1!important}.h3d-store-shell .h3d-products-grid ul.products li.product h2{margin:10px 0 5px!important}.h3d-store-shell .h3d-products-grid ul.products li.product .button{margin-top:10px!important}
@media(max-width:980px){body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-inner.et_pb_row{grid-template-columns:1fr auto}body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links{display:none}.h3d-store-shell .h3d-products-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.h3d-store-shell .h3d-products-grid ul.products{grid-template-columns:1fr!important}}

/* v1.2.20: finished Cart and My Account experiences. */
.h3d-cart-layout.et_pb_section{padding:72px 0 88px!important}
.h3d-commerce-intro.et_pb_row,.h3d-cart-grid.et_pb_row,.h3d-commerce-trust.et_pb_row{width:min(calc(100% - 48px),1180px)!important;max-width:1180px!important}
.h3d-commerce-intro.et_pb_row{padding:0 0 34px!important;border-bottom:1px solid rgba(11,14,13,.15)}
.h3d-commerce-intro .h3d-eyebrow{color:#706a63!important;font:600 10px/1.4 "Geist Mono",monospace!important;letter-spacing:.16em;text-transform:uppercase}
.h3d-commerce-title h2{margin:10px 0 12px!important;color:#0b0e0d!important;font:400 clamp(44px,5vw,68px)/1 "Fraunces",Georgia,serif!important;letter-spacing:-.045em!important}
.h3d-commerce-copy{max-width:620px;color:#706a63;font-size:15px;line-height:1.65}
.h3d-cart-grid.et_pb_row{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);align-items:start!important;gap:28px!important;margin-top:34px!important;padding:0!important}
.h3d-cart-grid>.et_pb_column{width:auto!important;margin:0!important;padding:clamp(22px,3vw,38px)!important;border:1px solid rgba(11,14,13,.13)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 14px 42px rgba(11,14,13,.05)}
.h3d-cart-summary{position:sticky;top:32px}
.h3d-cart-layout .woocommerce-message,.h3d-cart-layout .woocommerce-info{margin:0 0 24px!important;padding:18px 20px!important;border:0!important;border-left:3px solid #ff5e36!important;border-radius:8px!important;background:#f7f2e8!important;color:#0b0e0d!important;font-weight:600!important}
.h3d-cart-layout .woocommerce-message:before,.h3d-cart-layout .woocommerce-info:before{display:none!important}
.h3d-cart-layout .woocommerce-message .button{display:none!important}
.h3d-cart-products table.shop_table{margin:0!important;border:0!important;border-collapse:separate!important;border-spacing:0}
.h3d-cart-products table.shop_table thead th{padding:12px!important;border-bottom:1px solid rgba(11,14,13,.15)!important;color:#706a63;font:600 10px/1.3 "Geist Mono",monospace!important;letter-spacing:.1em;text-transform:uppercase}
.h3d-cart-products table.shop_table td{padding:18px 12px!important;vertical-align:middle!important}
.h3d-cart-products td.product-thumbnail{width:92px}.h3d-cart-products td.product-thumbnail img{width:76px!important;height:76px!important;object-fit:cover;border-radius:10px!important;border:1px solid rgba(11,14,13,.12)}
.h3d-cart-products td.product-name a{color:#0b0e0d!important;font-weight:650}.h3d-cart-products td.product-name a:hover{color:#ff5e36!important}
.h3d-cart-products td.product-remove a{display:grid!important;place-items:center;width:28px;height:28px;border:1px solid rgba(11,14,13,.14);border-radius:50%;color:#0b0e0d!important;font-size:18px!important}.h3d-cart-products td.product-remove a:hover{border-color:#ff5e36;background:#ff5e36!important;color:#fff!important}
.h3d-cart-products .quantity .qty{width:68px!important;min-height:44px!important;border-radius:7px!important;background:#f5f2ec!important;text-align:center}
.h3d-cart-products td.actions{padding:22px 0 0!important}.h3d-cart-products .coupon{display:flex;gap:9px}.h3d-cart-products .coupon .input-text{min-width:145px!important;min-height:46px!important;border-radius:7px!important;background:#f5f2ec!important}
.h3d-cart-products .button,.h3d-cart-summary .checkout-button,.h3d-cart-layout .return-to-shop .button{min-height:46px!important;padding:14px 20px!important;border:1px solid #0b0e0d!important;border-radius:999px!important;background:#0b0e0d!important;color:#fff!important;font:650 13px/1.2 "Geist",Arial,sans-serif!important;text-align:center!important;box-shadow:none!important}
.h3d-cart-products .button:hover,.h3d-cart-summary .checkout-button:hover,.h3d-cart-layout .return-to-shop .button:hover{border-color:#ff5e36!important;background:#ff5e36!important;color:#fff!important}
.h3d-cart-products .button:after,.h3d-cart-summary .checkout-button:after,.h3d-cart-layout .return-to-shop .button:after{display:none!important}
.h3d-cart-summary h2{margin:0 0 20px!important;color:#0b0e0d!important;font:500 30px/1.1 "Fraunces",Georgia,serif!important}.h3d-cart-summary table{margin-bottom:22px!important;border:0!important}.h3d-cart-summary th,.h3d-cart-summary td{padding:14px 0!important;border-bottom:1px solid rgba(11,14,13,.12)!important}.h3d-cart-summary .order-total{font-size:18px}.h3d-cart-summary .checkout-button{display:block!important;width:100%;margin:8px 0 0!important}
.h3d-cart-grid:has(.wc-empty-cart-message){grid-template-columns:1fr!important}.h3d-cart-grid:has(.wc-empty-cart-message) .h3d-cart-summary{display:none!important}.h3d-cart-grid:has(.wc-empty-cart-message) .h3d-cart-main{max-width:760px!important;margin:auto!important;text-align:center}.h3d-cart-layout .wc-empty-cart-message{margin-bottom:22px!important}.h3d-cart-layout .cart-empty{font:500 28px/1.2 "Fraunces",Georgia,serif!important}.h3d-cart-layout .return-to-shop{margin:0!important}
.h3d-commerce-trust.et_pb_row{display:grid!important;grid-template-columns:repeat(3,1fr);margin-top:28px!important;padding:25px 0!important;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#0b0e0d;color:#fff;overflow:hidden}
.h3d-commerce-trust>.et_pb_column{width:auto!important;margin:0!important;padding:0 28px!important;border-right:1px solid rgba(255,255,255,.14)}.h3d-commerce-trust>.et_pb_column:last-child{border-right:0}.h3d-commerce-trust .et_pb_module,.h3d-commerce-trust .et_pb_text_inner{padding:0!important;background:transparent!important;box-shadow:none!important}.h3d-commerce-trust h3{margin:0 0 7px!important;color:#d4ff3a!important;font:600 10px/1.3 "Geist Mono",monospace!important;letter-spacing:.1em;text-transform:uppercase}.h3d-commerce-trust p{display:block!important;margin:0!important;padding:0!important;background:transparent!important;color:rgba(255,255,255,.7)!important;font-size:12px!important;line-height:1.5!important}
.h3d-nav .h3d-cart-link{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap}.h3d-nav .h3d-cart-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff5e36;color:#fff!important;font:700 10px/1 "Geist",Arial,sans-serif!important;transition:transform .2s ease,background-color .2s ease}.h3d-nav .h3d-cart-link.h3d-cart-updated .h3d-cart-count{transform:scale(1.35);background:#137b75}

body.h3d-account #main-content>.container{width:min(calc(100% - 48px),1120px)!important;max-width:1120px!important;padding:72px 0 90px!important}
body.h3d-account #main-content>.container #content-area{padding:0!important}body.h3d-account #main-content>.container article{padding:0!important}
body.h3d-account .entry-title{margin:0 0 28px!important;color:#0b0e0d!important;font:400 clamp(46px,5vw,68px)/1 "Fraunces",Georgia,serif!important;letter-spacing:-.045em}
body.h3d-account .entry-content>.woocommerce{display:flow-root;padding:clamp(24px,4vw,44px);border:1px solid rgba(11,14,13,.13);border-radius:14px;background:#fff;box-shadow:0 14px 42px rgba(11,14,13,.05)}
body.h3d-account .woocommerce-MyAccount-navigation{width:28%!important;margin:0!important}body.h3d-account .woocommerce-MyAccount-navigation ul{list-style:none!important;margin:0!important;padding:8px!important;border:1px solid rgba(11,14,13,.12)!important;border-radius:11px!important;background:#f5f2ec}body.h3d-account .woocommerce-MyAccount-navigation li{list-style:none!important;margin:0!important;padding:0!important}body.h3d-account .woocommerce-MyAccount-navigation li::marker{content:""}body.h3d-account .woocommerce-MyAccount-navigation li a{padding:13px 15px!important;border:0!important;border-radius:7px;color:#55504b!important;font-weight:600!important}body.h3d-account .woocommerce-MyAccount-navigation li a:hover{color:#ff5e36!important}body.h3d-account .woocommerce-MyAccount-navigation li.is-active a{background:#0b0e0d!important;color:#fff!important}
body.h3d-account .woocommerce-MyAccount-content{width:68%!important;color:#403c38;font-size:15px;line-height:1.7}body.h3d-account .woocommerce-MyAccount-content>p:first-child{margin-top:3px}body.h3d-account .woocommerce-MyAccount-content a{color:#137b75!important;text-decoration-thickness:1px;text-underline-offset:3px}body.h3d-account .woocommerce-MyAccount-content h2,body.h3d-account .woocommerce-MyAccount-content h3{color:#0b0e0d!important;font-family:"Fraunces",Georgia,serif!important}
body.h3d-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}body.h3d-account .woocommerce-Address{float:none!important;width:auto!important;padding:22px;border:1px solid rgba(11,14,13,.12);border-radius:10px;background:#f8f5ef}body.h3d-account .woocommerce-Address-title h3{font-size:24px!important}body.h3d-account .woocommerce-Address-title .edit{padding:6px 11px;border:1px solid rgba(11,14,13,.18);border-radius:999px;font-size:11px;font-weight:650}
body.h3d-account table.shop_table{border:1px solid rgba(11,14,13,.12)!important;border-radius:9px!important;overflow:hidden}body.h3d-account table.shop_table th{background:#f5f2ec;color:#625d57;font:600 10px/1.3 "Geist Mono",monospace!important;letter-spacing:.08em;text-transform:uppercase}body.h3d-account fieldset{margin:28px 0 20px;padding:22px;border:1px solid rgba(11,14,13,.12);border-radius:9px}body.h3d-account legend{padding:0 8px;font:500 24px/1 "Fraunces",Georgia,serif}
body.h3d-account #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:26px}body.h3d-account #customer_login>.u-column1,body.h3d-account #customer_login>.u-column2{float:none!important;width:auto!important;padding:28px;border:1px solid rgba(11,14,13,.12);border-radius:11px;background:#fff}body.h3d-account #customer_login h2{font:500 32px/1.1 "Fraunces",Georgia,serif!important}
@media(max-width:980px){.h3d-cart-grid.et_pb_row{grid-template-columns:1fr}.h3d-cart-summary{position:static}.h3d-commerce-trust.et_pb_row{grid-template-columns:1fr}.h3d-commerce-trust>.et_pb_column{padding:20px 24px!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.h3d-commerce-trust>.et_pb_column:last-child{border-bottom:0}body.h3d-account .woocommerce-MyAccount-navigation,body.h3d-account .woocommerce-MyAccount-content{float:none!important;width:100%!important}body.h3d-account .woocommerce-MyAccount-navigation{margin-bottom:24px!important}}
@media(max-width:600px){.h3d-commerce-intro.et_pb_row,.h3d-cart-grid.et_pb_row,.h3d-commerce-trust.et_pb_row,body.h3d-account #main-content>.container{width:calc(100% - 28px)!important}.h3d-cart-grid>.et_pb_column{padding:18px!important}.h3d-cart-products .coupon{display:grid!important;grid-template-columns:1fr}.h3d-cart-products .coupon .input-text,.h3d-cart-products .coupon .button{width:100%!important}.h3d-cart-products td.actions>.button{width:100%!important;margin-top:10px!important}body.h3d-account .entry-content>.woocommerce{padding:18px}body.h3d-account .woocommerce-Addresses,body.h3d-account #customer_login{grid-template-columns:1fr}}

/* ==========================================================================
   v1.2.23: mobile store navigation.

   Releases up to 1.2.22 hid .nav-links entirely below 980px with nothing in
   its place, so Shop, Cart, Checkout, and Account were unreachable on a phone.
   The links now move to their own row under the logo as a horizontally
   scrollable strip, which needs no toggle script and no layout migration.
   ========================================================================== */
@media(max-width:980px){
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-inner.et_pb_row{grid-template-columns:1fr auto!important;row-gap:6px!important}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-inner>.et_pb_column:nth-child(1){grid-column:1;grid-row:1}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-inner>.et_pb_column:nth-child(3){grid-column:2;grid-row:1}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-inner>.et_pb_column:nth-child(2){grid-column:1/-1;grid-row:2}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links{display:block!important;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0!important;text-align:left!important;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links::-webkit-scrollbar{display:none}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links p{display:flex!important;align-items:center;gap:20px;width:max-content;margin:0!important;white-space:nowrap}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links a{display:inline-flex;align-items:center;min-height:40px;margin:0!important;padding:9px 0!important;font-size:12px!important}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-cta .et_pb_button,body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-cta a{padding:11px 17px!important;font-size:12px!important}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav.et_pb_section{padding:13px 0!important}
}
@media(max-width:520px){
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .logo,body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .logo a{font-size:23px!important}
  body.h3d-woocommerce-ready:not(.havasu3d-homepage) .h3d-nav .nav-links p{gap:17px}
  /* Two-up catalog cards read better than one giant card on a phone. */
  .h3d-store-shell .h3d-products-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}
@media(max-width:360px){
  .h3d-store-shell .h3d-products-grid ul.products{grid-template-columns:1fr!important}
}

/* The cart badge is noise when the cart is empty. */
.h3d-nav .h3d-cart-count[data-count="0"]{display:none!important}

/* ==========================================================================
   v1.2.23: empty Cart state.

   Divi's Cart Products module renders an empty `et_pb_wc_cart_empty` shell, so
   an empty cart previously showed two blank white cards. functions.php fills
   the shell; these rules collapse the two-card grid around it. The :has()
   selectors are a progressive fallback for the body class.
   ========================================================================== */
body.h3d-cart-empty .h3d-cart-grid.et_pb_row,
.h3d-cart-grid.et_pb_row:has(.et_pb_wc_cart_empty){grid-template-columns:1fr!important}
body.h3d-cart-empty .h3d-cart-summary,
.h3d-cart-grid.et_pb_row:has(.et_pb_wc_cart_empty) .h3d-cart-summary{display:none!important}
body.h3d-cart-empty .h3d-cart-main,
.h3d-cart-grid.et_pb_row:has(.et_pb_wc_cart_empty) .h3d-cart-main{max-width:720px!important;margin:0 auto!important}
/* Divi hides the Cart Products module outright when the cart is empty, which
   would also hide the state injected into it. Reveal it only once filled. */
body.h3d-cart-empty .h3d-cart-products.et_pb_wc_cart_empty,
.et_pb_wc_cart_empty:has(.h3d-cart-empty-state){display:block!important}
.h3d-cart-empty-state{padding:26px 4px 12px;text-align:center}
.h3d-cart-empty-state h2.cart-empty{margin:0 0 12px!important;color:#0b0e0d!important;font:400 clamp(30px,4vw,42px)/1.05 "Fraunces",Georgia,serif!important;letter-spacing:-.035em}
.h3d-cart-empty-state p{margin:0 auto 22px;max-width:430px;color:#706a63;font-size:15px;line-height:1.6}
.h3d-cart-empty-actions{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 20px;margin-bottom:6px!important}
.h3d-cart-empty-quote{color:#137b75!important;font:600 13px/1.2 "Geist",Arial,sans-serif!important;text-decoration:underline;text-underline-offset:4px}
.h3d-cart-empty-quote:hover{color:#ff5e36!important}

/* Related-products cards get the same square crop as the catalog grid. */
.h3d-more-products .products li.product img{width:100%!important;aspect-ratio:1/1;object-fit:cover!important}

/* v1.2.22: nested trust columns are not Cart cards. */
.h3d-cart-layout .h3d-commerce-trust>.et_pb_column{padding:0 28px!important;border:0!important;border-right:1px solid rgba(255,255,255,.14)!important;background:transparent!important;box-shadow:none!important}
.h3d-cart-layout .h3d-commerce-trust>.et_pb_column:last-child{border-right:0!important}
@media(max-width:980px){.h3d-cart-layout .h3d-commerce-trust>.et_pb_column{padding:20px 24px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}.h3d-cart-layout .h3d-commerce-trust>.et_pb_column:last-child{border-bottom:0!important}}

/* ==========================================================================
   v1.3.0 — Shop hero, catalog toolbar, and product cards.

   Layout only. Every string in the hero (headline, sub-copy, button labels,
   the printers/colors status line) stays an editable Divi module; the shelf,
   the category pills, the sort control, and the card meta line are rendered
   from WooCommerce data because they must not go stale.
   ========================================================================== */

.h3d-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* --- Hero ---------------------------------------------------------------- */
.h3d-shop-hero.et_pb_section{padding:clamp(38px,5vw,72px) 0 clamp(34px,4.5vw,62px)!important;background:linear-gradient(115deg,#f3ead9 0%,#f6efe3 46%,#fae6da 100%)!important;border-bottom:1px solid rgba(11,14,13,.11)}
.h3d-hero-row.et_pb_row{display:grid!important;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(24px,4vw,58px)!important;width:min(calc(100% - 48px),1240px)!important;max-width:1240px!important;padding:0!important}
.h3d-hero-row>.et_pb_column{width:auto!important;margin:0!important}

.h3d-hero-title h1{margin:0 0 18px!important;max-width:12ch;color:#0b0e0d!important;font:400 clamp(42px,5.4vw,80px)/.97 "Fraunces",Georgia,serif!important;letter-spacing:-.042em!important}
.h3d-hero-copy{margin-bottom:26px!important;max-width:44ch;color:#6f6a63!important;font:400 16px/1.55 "Geist",Arial,sans-serif!important}
.h3d-hero-copy p{margin:0!important}

.h3d-hero-actions{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 30px!important}
.h3d-btn{display:inline-flex!important;align-items:center;gap:8px;padding:15px 26px!important;border-radius:999px!important;font:600 14px/1.2 "Geist",Arial,sans-serif!important;text-decoration:none!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.h3d-btn:active{transform:translateY(1px)}
.h3d-btn-primary{background:#ff5e36!important;border:1px solid #ff5e36!important;color:#fff!important;box-shadow:0 10px 24px rgba(255,94,54,.24)}
.h3d-btn-primary:hover{background:#0b0e0d!important;border-color:#0b0e0d!important;color:#fff!important}
.h3d-btn-ghost{background:#fff!important;border:1px solid rgba(11,14,13,.24)!important;color:#0b0e0d!important}
.h3d-btn-ghost:hover{border-color:#0b0e0d!important;background:#0b0e0d!important;color:#fff!important}

.h3d-hero-status{display:flex!important;flex-wrap:wrap;align-items:center;gap:14px 26px;margin:0!important;color:#5f5a54!important;font:500 13px/1.3 "Geist",Arial,sans-serif!important}
.h3d-status-item{display:inline-flex;align-items:center;gap:9px}
.h3d-status-item strong{color:#0b0e0d;font-weight:700}
.h3d-status-colors strong{color:#ff5e36}
.h3d-status-item:before{content:"";width:19px;height:19px;flex:none;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:.75}
.h3d-status-printers:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V4h12v5'/%3E%3Crect x='3' y='9' width='18' height='7' rx='2'/%3E%3Cpath d='M7 16v4h10v-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V4h12v5'/%3E%3Crect x='3' y='9' width='18' height='7' rx='2'/%3E%3Cpath d='M7 16v4h10v-4'/%3E%3C/svg%3E")}
.h3d-status-colors:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18c1 0 1.7-.8 1.7-1.7 0-.5-.2-.9-.5-1.2-.3-.3-.5-.7-.5-1.1 0-1 .8-1.7 1.7-1.7H16a5 5 0 0 0 5-5c0-4-4-7.3-9-7.3Z'/%3E%3Ccircle cx='7.5' cy='11' r='1'/%3E%3Ccircle cx='11' cy='7.5' r='1'/%3E%3Ccircle cx='15.5' cy='8.5' r='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18c1 0 1.7-.8 1.7-1.7 0-.5-.2-.9-.5-1.2-.3-.3-.5-.7-.5-1.1 0-1 .8-1.7 1.7-1.7H16a5 5 0 0 0 5-5c0-4-4-7.3-9-7.3Z'/%3E%3Ccircle cx='7.5' cy='11' r='1'/%3E%3Ccircle cx='11' cy='7.5' r='1'/%3E%3Ccircle cx='15.5' cy='8.5' r='1'/%3E%3C/svg%3E")}

/* --- Hero print shelf ---------------------------------------------------- */
.h3d-hero-shelf .et_pb_text_inner{padding:0!important}
.h3d-shelf{position:relative;padding-top:104px}
.h3d-shelf-items{display:flex!important;align-items:flex-end;justify-content:center;gap:clamp(8px,2.2vw,34px);margin:0!important;padding:0 0 4px!important;list-style:none!important}
.h3d-shelf-item{position:relative;display:flex;flex-direction:column;align-items:center;margin:0!important;padding:0!important;list-style:none!important}
.h3d-shelf-item:before{content:none}
.h3d-shelf-link{display:block;line-height:0}
.h3d-shelf-img{width:auto!important;max-width:clamp(74px,13vw,178px);height:clamp(78px,12vw,168px);object-fit:contain;border-radius:0!important;border:0!important;background:transparent!important;filter:drop-shadow(0 14px 18px rgba(11,14,13,.18));transition:transform .3s ease}
.h3d-shelf-link:hover .h3d-shelf-img{transform:translateY(-5px)}

.h3d-shelf-callout{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.h3d-shelf-label{padding:5px 10px;border:1px solid rgba(11,14,13,.22);border-radius:5px;background:rgba(255,255,255,.94);color:#3b3630;font:500 10px/1.2 "Geist Mono",monospace;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.h3d-shelf-leader{width:1px;border-left:1px dashed rgba(11,14,13,.4)}
.h3d-shelf-leader:after{content:"";display:block;width:5px;height:5px;margin-left:-2px;border-radius:50%;border:1px solid rgba(11,14,13,.45);background:#f6efe3}
/* Staggered leader lengths keep neighbouring labels from colliding. */
.h3d-shelf-item--1 .h3d-shelf-leader{height:34px}
.h3d-shelf-item--2 .h3d-shelf-leader{height:62px}
.h3d-shelf-item--3 .h3d-shelf-leader{height:18px}
.h3d-shelf-item--4 .h3d-shelf-leader{height:80px}

.h3d-shelf-plinth{height:26px;border-radius:5px;background:linear-gradient(180deg,#e9dcc4,#d8c6a6);box-shadow:0 16px 30px rgba(11,14,13,.13),inset 0 1px 0 rgba(255,255,255,.55)}

/* --- Catalog toolbar ----------------------------------------------------- */
.h3d-catalog-row.et_pb_row{width:min(calc(100% - 48px),1240px)!important;max-width:1240px!important;padding:clamp(26px,3.4vw,44px) 0 0!important}
.h3d-catalog-toolbar-slot .et_pb_text_inner{padding:0!important}
.h3d-catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;margin-bottom:clamp(20px,2.6vw,30px);scroll-margin-top:96px}
.h3d-catalog-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0}
.h3d-pill{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:10px 18px;border:1px solid rgba(11,14,13,.17);border-radius:999px;background:#fff;color:#3b3630!important;font:500 13px/1.2 "Geist",Arial,sans-serif;text-decoration:none!important;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.h3d-pill:hover{border-color:#0b0e0d;color:#0b0e0d!important}
.h3d-pill.is-active{background:#0b0e0d;border-color:#0b0e0d;color:#fff!important;font-weight:600}
.h3d-pill--local{border-color:rgba(255,94,54,.5);color:#ff5e36!important}
.h3d-pill--local:hover{border-color:#ff5e36;background:rgba(255,94,54,.07);color:#ff5e36!important}
.h3d-pill--local.is-active{background:#ff5e36;border-color:#ff5e36;color:#fff!important}
.h3d-pill-pin{width:12px;height:12px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E")}

.h3d-catalog-sort{position:relative;margin:0!important}
.h3d-catalog-sort select{appearance:none;-webkit-appearance:none;min-height:44px;padding:11px 42px 11px 18px!important;border:1px solid rgba(11,14,13,.17)!important;border-radius:10px!important;background:#fff!important;color:#0b0e0d!important;font:500 13px/1.2 "Geist",Arial,sans-serif!important;cursor:pointer}
.h3d-catalog-sort select:focus-visible{outline:2px solid #ff5e36;outline-offset:2px}
.h3d-catalog-sort:after{content:"";position:absolute;top:50%;right:16px;width:11px;height:7px;transform:translateY(-50%);background:#0b0e0d;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none}

/* --- Product cards ------------------------------------------------------- */
.h3d-store-shell .h3d-products-grid ul.products{grid-template-columns:repeat(auto-fill,minmax(206px,1fr))!important;gap:18px!important}
.h3d-store-shell .h3d-products-grid ul.products li.product{display:flex!important;flex-direction:column;padding:0!important;overflow:hidden;border-radius:14px!important;box-shadow:0 8px 26px rgba(11,14,13,.05)!important;transition:transform .2s ease,box-shadow .2s ease}
.h3d-store-shell .h3d-products-grid ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(11,14,13,.1)!important}
.h3d-store-shell .h3d-products-grid li.product>a.woocommerce-LoopProduct-link{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"img img" "title price" "meta meta";align-items:baseline;column-gap:10px;text-decoration:none!important}
.h3d-store-shell .h3d-products-grid li.product .et_shop_image{grid-area:img;display:block;margin:0 0 12px!important;line-height:0}
.h3d-store-shell .h3d-products-grid ul.products li.product img{aspect-ratio:1/1;object-fit:cover!important;max-height:none!important;border-radius:0!important;border:0!important;margin:0!important}
.h3d-store-shell .h3d-products-grid li.product h2.woocommerce-loop-product__title{grid-area:title;margin:0 0 0 14px!important;padding:0!important;color:#0b0e0d!important;font:600 14px/1.35 "Geist",Arial,sans-serif!important}
.h3d-store-shell .h3d-products-grid li.product .price{grid-area:price;margin:0 14px 0 0!important;color:#ff5e36!important;font:700 14px/1.35 "Geist",Arial,sans-serif!important;white-space:nowrap}
.h3d-store-shell .h3d-products-grid li.product .price del{margin-right:5px;color:#a49d94!important;font-weight:500!important;font-size:12px!important}
.h3d-store-shell .h3d-products-grid li.product .price ins{text-decoration:none!important;color:#ff5e36!important}
.h3d-card-meta{grid-area:meta;display:flex;align-items:center;gap:7px;margin:7px 14px 14px!important;color:#8b847b!important;font:500 11px/1.4 "Geist Mono",monospace!important;letter-spacing:.03em;text-transform:uppercase}
.h3d-card-meta strong{color:#5f5a54;font-weight:700}
.h3d-card-sep{opacity:.55}
.h3d-store-shell .h3d-products-grid li.product .onsale{top:10px!important;left:10px!important;right:auto!important;z-index:2;border-radius:4px!important}
.h3d-store-shell .h3d-products-grid ul.products li.product .button{margin:0 14px 14px!important;width:calc(100% - 28px)!important}

/* --- Header cart button -------------------------------------------------- */
.h3d-cart-button-wrap .et_pb_text_inner{padding:0!important;text-align:right}
.h3d-cart-button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:46px;height:46px;margin-left:12px;border:1px solid rgba(11,14,13,.2)!important;border-radius:50%!important;background:#fff!important;color:#0b0e0d!important;text-decoration:none!important;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.h3d-cart-button:hover{background:#0b0e0d!important;border-color:#0b0e0d!important;color:#fff!important}
.h3d-cart-button svg{display:block}
.h3d-cart-button-count{position:absolute;top:-3px;right:-3px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #f4eee1;border-radius:999px;background:#ff5e36;color:#fff!important;font:700 10px/1 "Geist",Arial,sans-serif!important}
.h3d-cart-button-count[data-count="0"]{display:none}
.h3d-cart-button.h3d-cart-updated .h3d-cart-button-count{animation:h3d-cart-pop .45s ease}
@keyframes h3d-cart-pop{0%{transform:scale(1)}45%{transform:scale(1.4)}100%{transform:scale(1)}}

/* --- Responsive ---------------------------------------------------------- */
@media(max-width:1100px){
  .h3d-shelf-img{max-width:clamp(66px,11vw,132px)}
}
@media(max-width:980px){
  .h3d-hero-row.et_pb_row{grid-template-columns:1fr!important;gap:34px!important}
  .h3d-hero-title h1{max-width:none}
  .h3d-hero-copy{max-width:52ch}
  .h3d-shelf{padding-top:92px}
  .h3d-catalog-toolbar{justify-content:flex-start}
  .h3d-catalog-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
  .h3d-catalog-filters::-webkit-scrollbar{display:none}
  .h3d-catalog-sort{width:100%}
  .h3d-catalog-sort select{width:100%}
  .h3d-cart-button{width:42px;height:42px;margin-left:8px}
}
@media(max-width:600px){
  .h3d-hero-row.et_pb_row,.h3d-catalog-row.et_pb_row{width:calc(100% - 28px)!important}
  .h3d-hero-actions .h3d-btn{flex:1 1 auto;justify-content:center}
  .h3d-shelf{padding-top:78px}
  .h3d-shelf-item--2 .h3d-shelf-leader{height:48px}
  .h3d-shelf-item--4 .h3d-shelf-leader{height:62px}
  .h3d-shelf-label{padding:4px 7px;font-size:9px}
  .h3d-store-shell .h3d-products-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .h3d-card-meta{margin:6px 11px 12px!important;font-size:10px!important}
  .h3d-store-shell .h3d-products-grid li.product h2.woocommerce-loop-product__title{margin-left:11px!important;font-size:13px!important}
  .h3d-store-shell .h3d-products-grid li.product .price{margin-right:11px!important;font-size:13px!important}
  .h3d-store-shell .h3d-products-grid ul.products li.product .button{margin:0 11px 11px!important;width:calc(100% - 22px)!important}
}
@media(prefers-reduced-motion:reduce){
  .h3d-shelf-link:hover .h3d-shelf-img,.h3d-store-shell .h3d-products-grid ul.products li.product:hover{transform:none}
  .h3d-cart-button.h3d-cart-updated .h3d-cart-button-count{animation:none}
}

/* v1.3.1: intentional homepage empty state. */
body.havasu3d-homepage .h3d-products-grid .woocommerce-info,
body.havasu3d-homepage .h3d-products-grid .woocommerce-no-products-found{
  position:relative;
  width:100%!important;
  margin:22px 0 0!important;
  padding:74px 28px 30px!important;
  border:1px dashed rgba(11,14,13,.24)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.5)!important;
  color:#0b0e0d!important;
  box-shadow:none!important;
  text-align:center!important;
  font:500 17px/1.5 "Geist",Arial,sans-serif!important;
}
body.havasu3d-homepage .h3d-products-grid .woocommerce-info:before,
body.havasu3d-homepage .h3d-products-grid .woocommerce-no-products-found:before{
  content:""!important;
  position:absolute!important;
  top:24px!important;
  left:50%!important;
  display:block!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  border:0!important;
  background:#ff5e36!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V4h12v5'/%3E%3Crect x='3' y='9' width='18' height='7' rx='2'/%3E%3Cpath d='M7 16v4h10v-4M8 12h.01'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V4h12v5'/%3E%3Crect x='3' y='9' width='18' height='7' rx='2'/%3E%3Cpath d='M7 16v4h10v-4M8 12h.01'/%3E%3C/svg%3E") center/contain no-repeat!important;
}
body.havasu3d-homepage .h3d-products-grid .woocommerce-info:after{
  content:"The print shelf is being stocked. Check back soon—or ask us to make something custom.";
  display:block;
  max-width:620px;
  margin:8px auto 0;
  color:#716a62;
  font:400 14px/1.55 "Geist",Arial,sans-serif;
}

/* v1.3.1: variable-product controls need a stacked layout. */
.h3d-product-cart form.variations_form.cart{display:block!important;width:100%!important;margin:0 0 20px!important}
.h3d-product-cart form.variations_form table.variations{display:table!important;width:100%!important;margin:0 0 16px!important;border:0!important}
.h3d-product-cart form.variations_form table.variations tbody{display:table-row-group!important}
.h3d-product-cart form.variations_form table.variations tr{display:table-row!important}
.h3d-product-cart form.variations_form table.variations th.label,
.h3d-product-cart form.variations_form table.variations td.value{display:table-cell!important;padding:0 0 12px!important;border:0!important;vertical-align:middle!important}
.h3d-product-cart form.variations_form table.variations th.label{width:82px;padding-right:14px!important;color:#0b0e0d!important;text-align:left!important;font:650 13px/1.3 "Geist",Arial,sans-serif!important}
.h3d-product-cart form.variations_form table.variations td.value{position:relative;width:auto!important}
.h3d-product-cart form.variations_form table.variations select{display:block!important;width:100%!important;max-width:none!important;min-height:48px!important;margin:0!important;padding:11px 42px 11px 14px!important;border:1px solid rgba(11,14,13,.16)!important;border-radius:8px!important;background:#f7f5f0!important;color:#0b0e0d!important;font:500 14px/1.3 "Geist",Arial,sans-serif!important;white-space:normal!important}
.h3d-product-cart form.variations_form .reset_variations{display:inline-block!important;margin-top:8px!important;color:#776f67!important;font-size:11px!important;text-decoration:underline!important;text-underline-offset:3px}
.h3d-product-cart form.variations_form .single_variation_wrap{display:block!important;width:100%!important}
.h3d-product-cart form.variations_form .woocommerce-variation{margin:0 0 12px!important}
.h3d-product-cart form.variations_form .woocommerce-variation-description p{margin:0 0 10px!important;color:#655f59;font-size:13px;line-height:1.5}
.h3d-product-cart form.variations_form .woocommerce-variation-price{margin-bottom:12px!important}
.h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important;width:100%!important}
.h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart .quantity{float:none!important;width:72px!important;margin:0!important}
.h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart .quantity .qty{width:72px!important;height:50px!important;margin:0!important;border-radius:8px!important}
.h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{float:none!important;width:100%!important;min-width:0!important;height:50px!important;margin:0!important;border-radius:8px!important;white-space:nowrap!important}
.h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled{background:#989b99!important;border-color:#989b99!important;color:#fff!important;opacity:1!important;cursor:not-allowed!important}
@media(max-width:520px){
  .h3d-product-cart form.variations_form table.variations,
  .h3d-product-cart form.variations_form table.variations tbody,
  .h3d-product-cart form.variations_form table.variations tr,
  .h3d-product-cart form.variations_form table.variations th.label,
  .h3d-product-cart form.variations_form table.variations td.value{display:block!important;width:100%!important}
  .h3d-product-cart form.variations_form table.variations th.label{padding:0 0 7px!important}
  .h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart{grid-template-columns:64px minmax(0,1fr)!important}
  .h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart .quantity,
  .h3d-product-cart form.variations_form .woocommerce-variation-add-to-cart .quantity .qty{width:64px!important}
}
