:root{--ezm-ink:#0c352a;--ezm-green:#103b2e;--ezm-gold:#d8ad28;--ezm-cream:#faf8f1;--ezm-panel:#f4f1e8;--ezm-line:#d9d8cf;--ezm-muted:#5f6b67}
.ezm-product-page .site-main,.ezm-product-page main{background:var(--ezm-cream)}
.ezm-product-page div.product{box-sizing:border-box;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr);gap:34px 46px;width:min(100% - 48px,1320px);margin:0 auto;padding:40px 0 64px;color:var(--ezm-ink)}
.ezm-product-page div.product::after{display:none}.ezm-product-page div.product .woocommerce-product-gallery{grid-column:1;grid-row:1;float:none;width:100%;margin:0;background:var(--ezm-panel)}
.ezm-product-page .woocommerce-product-gallery__trigger{display:none!important}.ezm-product-page div.product .woocommerce-product-gallery__wrapper,.ezm-product-page div.product .woocommerce-product-gallery__image{margin:0!important;background:var(--ezm-panel)}
.ezm-product-page div.product .woocommerce-product-gallery__image a{display:block;pointer-events:none}.ezm-product-page div.product .woocommerce-product-gallery img{display:block;width:100%;height:clamp(390px,39vw,570px);margin:0!important;object-fit:contain;object-position:center;background:var(--ezm-panel);transform:none!important;transition:none!important;cursor:default!important}.ezm-product-page div.product .woocommerce-product-gallery:hover img{transform:none!important}
.ezm-product-page div.product .summary{grid-column:2;grid-row:1;float:none;width:auto;margin:0;padding:12px 0 0}.ezm-product-page div.product .product_title{max-width:720px;margin:0 0 15px;color:var(--ezm-ink);font-size:clamp(42px,4.2vw,66px);font-weight:500;line-height:.98;letter-spacing:-.035em}
.ezm-product-page div.product .summary>.price{margin:0 0 22px;color:var(--ezm-ink);font-size:22px;font-weight:700;line-height:1.25}.ezm-product-page div.product .woocommerce-product-details__short-description{max-width:650px;margin:0 0 28px;color:var(--ezm-muted);font-size:17px;line-height:1.55}
.ezm-product-page div.product form.cart{margin:0}.ezm-product-page .ezmpp-buy-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr);gap:28px;align-items:start;margin-top:30px}.ezm-product-page .ezmpp-options{min-width:0}.ezm-product-page .ezmpp-options-title{margin:0 0 17px;color:var(--ezm-ink);font-size:30px;font-weight:500;line-height:1.1}
.ezm-product-page div.product table.variations,.ezm-product-page div.product table.variations tbody,.ezm-product-page div.product table.variations tr,.ezm-product-page div.product table.variations th,.ezm-product-page div.product table.variations td{display:block;box-sizing:border-box;width:100%;border:0}.ezm-product-page div.product table.variations{margin:0}.ezm-product-page div.product table.variations tr{margin:0 0 18px}.ezm-product-page div.product table.variations th.label{margin:0 0 8px;padding:0;color:var(--ezm-ink);font-size:13px;font-weight:800;letter-spacing:.12em;text-align:left;text-transform:uppercase}.ezm-product-page div.product table.variations td.value{padding:0}
.ezm-product-page div.product table.variations select{box-sizing:border-box;width:100%;min-height:54px;margin:0;padding:0 48px 0 16px;border:1px solid #819087;border-radius:0;background-color:transparent;color:var(--ezm-ink);font:inherit;font-size:16px;font-weight:600;box-shadow:none}.ezm-product-page div.product table.variations select:focus{border-color:var(--ezm-gold);outline:2px solid rgba(216,173,40,.3);outline-offset:1px}.ezm-product-page div.product .reset_variations{display:inline-block;margin-top:8px;color:var(--ezm-muted);font-size:13px}
.ezm-product-page .ezmpp-purchase{box-sizing:border-box;padding:25px;background:var(--ezm-green);color:#fff;border-top:6px solid var(--ezm-gold)}.ezm-product-page .ezmpp-purchase-title{margin:0 0 18px;color:#fff;font-size:29px;font-weight:500;line-height:1.1}.ezm-product-page .ezmpp-summary-row,.ezm-product-page .ezmpp-total-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.17);font-size:14px}.ezm-product-page .ezmpp-summary-row strong{text-align:right}.ezm-product-page .ezmpp-total-row{align-items:center;padding:17px 0;font-size:21px}
.ezm-product-page .ezmpp-purchase .single_variation_wrap{margin:0}.ezm-product-page .ezmpp-purchase .woocommerce-variation{min-height:0}.ezm-product-page .ezmpp-purchase .woocommerce-variation-description,.ezm-product-page .ezmpp-purchase .woocommerce-variation-availability{display:none}.ezm-product-page .ezmpp-purchase .woocommerce-variation-price{display:none!important}
.ezm-product-page div.product .ezmpp-purchase .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:16px 0 0}.ezm-product-page .ezmpp-quantity-label{font-size:14px;font-weight:700}.ezm-product-page div.product .quantity{display:inline-flex;float:none;margin:0!important}.ezm-product-page div.product .quantity .qty{box-sizing:border-box;width:72px;height:48px;margin:0;border:1px solid rgba(255,255,255,.45);border-radius:0;background:transparent;color:#fff;font-size:17px;box-shadow:none}
.ezm-product-page div.product .single_add_to_cart_button,.ezm-product-page div.product button.single_add_to_cart_button{grid-column:1/-1;box-sizing:border-box;width:100%;min-height:52px;padding:13px 22px!important;border:1px solid var(--ezm-gold)!important;border-radius:0!important;background:var(--ezm-gold)!important;color:var(--ezm-green)!important;font-size:16px!important;font-weight:800!important;line-height:1.2!important;box-shadow:none!important;text-transform:none}.ezm-product-page div.product .single_add_to_cart_button:hover,.ezm-product-page div.product .single_add_to_cart_button:focus{border-color:#fff!important;background:#fff!important;color:var(--ezm-green)!important}
.ezm-product-page .ezmpp-simple-ready .ezmpp-purchase-title{grid-column:1/-1}.ezm-product-page .ezmpp-simple-ready .ezmpp-quantity-label{align-self:center}
.ezm-product-page div.product .product_meta{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--ezm-line);color:var(--ezm-muted);font-size:14px;line-height:1.7}.ezm-product-page div.product .product_meta .sku_wrapper{display:none}.ezm-product-page div.product .product_meta a{color:var(--ezm-ink);text-underline-offset:3px}
.ezm-product-page div.product>.woocommerce-tabs,.ezm-product-page div.product>.related,.ezm-product-page div.product>.upsells{grid-column:1/-1;width:100%;padding-top:20px}.ezm-product-page div.product .woocommerce-tabs ul.tabs{display:flex;gap:28px;margin:0;padding:0;border-bottom:1px solid var(--ezm-line);list-style:none}.ezm-product-page div.product .woocommerce-tabs ul.tabs::before,.ezm-product-page div.product .woocommerce-tabs ul.tabs li::before,.ezm-product-page div.product .woocommerce-tabs ul.tabs li::after{display:none!important}.ezm-product-page div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;border-radius:0;background:transparent}.ezm-product-page div.product .woocommerce-tabs ul.tabs li a{display:block;padding:0 0 13px;border-bottom:3px solid transparent;color:var(--ezm-muted);font-weight:700;text-decoration:none}.ezm-product-page div.product .woocommerce-tabs ul.tabs li.active a{border-color:var(--ezm-gold);color:var(--ezm-ink)}.ezm-product-page div.product .woocommerce-tabs .panel{margin:0;padding:26px 0;color:var(--ezm-muted)}
.ezm-product-page div.product .woocommerce-tabs .panel h2,.ezm-product-page div.product .related>h2,.ezm-product-page div.product .upsells>h2{margin:0 0 24px;color:var(--ezm-ink);font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.05}
@media(min-width:1051px){.ezm-product-page div.product:has(form.variations_form){grid-template-rows:auto auto}.ezm-product-page div.product:has(form.variations_form) .summary{display:contents}.ezm-product-page div.product:has(form.variations_form) .product_title,.ezm-product-page div.product:has(form.variations_form) .summary>.price,.ezm-product-page div.product:has(form.variations_form) .woocommerce-product-details__short-description{grid-column:2}.ezm-product-page div.product:has(form.variations_form) form.variations_form{grid-column:1/-1;grid-row:2}.ezm-product-page div.product:has(form.variations_form) .product_meta{grid-column:2}.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready{padding:25px;background:var(--ezm-green);color:#fff;border-top:6px solid var(--ezm-gold);display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}}
@media(max-width:1050px){.ezm-product-page div.product{grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:30px}.ezm-product-page .ezmpp-buy-layout{grid-template-columns:1fr}.ezm-product-page div.product .product_title{font-size:clamp(40px,5vw,56px)}}
@media(max-width:760px){.ezm-product-page div.product{grid-template-columns:1fr;width:min(100% - 36px,680px);padding-top:28px}.ezm-product-page div.product .woocommerce-product-gallery,.ezm-product-page div.product .summary{grid-column:1;grid-row:auto}.ezm-product-page div.product .woocommerce-product-gallery img{height:min(88vw,500px)}.ezm-product-page div.product .summary{padding-top:0}.ezm-product-page div.product .product_title{font-size:clamp(38px,9vw,50px)}.ezm-product-page .ezmpp-buy-layout{margin-top:24px}.ezm-product-page div.product>.woocommerce-tabs,.ezm-product-page div.product>.related,.ezm-product-page div.product>.upsells{grid-column:1}.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready{padding:22px;background:var(--ezm-green);color:#fff;border-top:6px solid var(--ezm-gold);display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}}
@media(max-width:460px){.ezm-product-page div.product{width:calc(100% - 28px);gap:24px}.ezm-product-page div.product .woocommerce-product-gallery img{height:min(92vw,430px)}.ezm-product-page .ezmpp-purchase{padding:20px}.ezm-product-page div.product .product_title{font-size:38px}.ezm-product-page div.product .woocommerce-product-details__short-description{font-size:16px}}

/* 1.3.1: tighter desktop proportions and a full-width direct-purchase panel. */
@media(min-width:761px){
	.ezm-product-page div.product{grid-template-columns:minmax(420px,1fr) minmax(500px,1.12fr);gap:38px 54px;width:min(100% - 64px,1440px);padding-top:34px}
	.ezm-product-page div.product .woocommerce-product-gallery,.ezm-product-page div.product .woocommerce-product-gallery__wrapper,.ezm-product-page div.product .woocommerce-product-gallery__image{height:clamp(430px,36vw,560px)!important;min-height:0!important;overflow:hidden}
	.ezm-product-page div.product .woocommerce-product-gallery img{height:100%!important;max-height:none!important}
	.ezm-product-page div.product .product_title{max-width:none;font-size:clamp(42px,3.6vw,58px);line-height:1.02}
	.ezm-product-page div.product .summary{padding-top:2px}
	.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready{box-sizing:border-box;width:min(100%,620px);max-width:none;margin-top:24px;padding:28px 30px}
}

/* 1.3.4: compact variable layout and explicit base/upgrade presentation. */
@media(min-width:1051px){
	body.ezm-product-page div.product:has(form.variations_form) .summary{display:block!important;grid-column:2!important;grid-row:1!important}
	body.ezm-product-page div.product:has(form.variations_form) .product_title,
	body.ezm-product-page div.product:has(form.variations_form) .summary>.price,
	body.ezm-product-page div.product:has(form.variations_form) .woocommerce-product-details__short-description,
	body.ezm-product-page div.product:has(form.variations_form) form.variations_form,
	body.ezm-product-page div.product:has(form.variations_form) .product_meta{grid-column:auto!important;grid-row:auto!important}
	body.ezm-product-page div.product:has(form.variations_form) .ezmpp-buy-layout{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:24px;margin-top:28px}
}

.ezm-product-page .ezmpp-upgrade-row[hidden]{display:none!important}
.ezm-product-page .ezmpp-base-row strong,
.ezm-product-page .ezmpp-upgrade-row strong{white-space:nowrap}
.ezm-product-page .ezmpp-purchase .ezc-standalone-choices{grid-column:1/-1;width:100%;margin:3px 0 0}
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice{display:grid;gap:8px;width:100%}
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice[hidden]{display:none!important}
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice>span{color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice select{box-sizing:border-box;width:100%;max-width:none;min-height:48px;margin:0;padding:0 42px 0 14px;border:1px solid rgba(255,255,255,.5);border-radius:0;background-color:var(--ezm-cream);color:var(--ezm-ink);font:inherit;font-size:15px;font-weight:650;box-shadow:none}
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice select:focus{border-color:var(--ezm-gold);outline:2px solid var(--ezm-gold);outline-offset:1px}

@media(max-width:1050px){
	.ezm-product-page .ezmpp-purchase .ezc-standalone-choices{margin-top:5px}
}

/* Cart/Checkout Blocks receive their base unit price through Woo's price token. */
.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready{background:var(--ezm-green);color:#fff;border-top:6px solid var(--ezm-gold)}
.ezm-product-page .ezmpp-simple-product-row{grid-column:1/-1;margin-bottom:4px}.ezm-product-page .ezmpp-simple-product-row strong{text-align:right}

/* Site-wide WooCommerce notices. */
.woocommerce-notices-wrapper{box-sizing:border-box;width:min(100% - 48px,1440px);margin:24px auto 8px!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{box-sizing:border-box;min-height:0!important;margin:0 0 18px!important;padding:16px 18px 16px 50px!important;border:1px solid var(--ezm-line)!important;border-top:3px solid var(--ezm-gold)!important;border-radius:0!important;background:var(--ezm-cream)!important;color:var(--ezm-ink)!important;box-shadow:none!important;line-height:1.5}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{top:16px!important;left:18px!important;color:var(--ezm-green)!important}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right!important;margin:-5px 0 -5px 18px!important;padding:10px 17px!important;border:1px solid var(--ezm-gold)!important;border-radius:0!important;background:var(--ezm-gold)!important;color:var(--ezm-green)!important;font-weight:800!important;line-height:1.2!important;box-shadow:none!important}
.woocommerce-message .button:hover,.woocommerce-info .button:hover,.woocommerce-error .button:hover{border-color:var(--ezm-green)!important;background:var(--ezm-green)!important;color:#fff!important}
@media(max-width:600px){.woocommerce-notices-wrapper{width:calc(100% - 28px);margin-top:16px!important}.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:14px 14px 14px 42px!important}.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{top:14px!important;left:14px!important}.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{display:block;float:none!important;width:100%;margin:12px 0 0!important;text-align:center}}

/* 1.3.2: break out of narrow theme product containers. */
@media(min-width:761px){
	body.ezm-product-page div.product{box-sizing:border-box!important;width:calc(100% - 64px)!important;max-width:1440px!important;grid-template-columns:minmax(500px,1fr) minmax(560px,1.08fr)!important}
	body.ezm-product-page div.product .woocommerce-product-gallery{box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;overflow:hidden!important}
	body.ezm-product-page div.product .woocommerce-product-gallery__wrapper,body.ezm-product-page div.product .woocommerce-product-gallery__image{width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}
	body.ezm-product-page div.product .woocommerce-product-gallery img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
	body.ezm-product-page div.product .summary{box-sizing:border-box!important;width:100%!important;max-width:none!important}
	body.ezm-product-page div.product .product_title{font-size:clamp(42px,3.25vw,56px)!important;white-space:normal}
	body.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready{width:100%!important;max-width:620px!important}
}

/* Premium success toast: no page reflow, pause on hover/focus, dismisses automatically. */
.woocommerce-notices-wrapper.ezmpp-toast-wrapper{position:fixed!important;z-index:99999;top:112px;right:24px;width:min(390px,calc(100% - 48px))!important;margin:0!important;pointer-events:none}
.woocommerce-notices-wrapper.ezmpp-toast-wrapper .woocommerce-message.ezmpp-cart-toast{position:relative;display:flex;align-items:center;min-height:72px!important;margin:0 0 12px!important;padding:18px 42px 18px 48px!important;border:0!important;border-top:4px solid var(--ezm-gold)!important;background:var(--ezm-green)!important;color:#fff!important;box-shadow:0 12px 32px rgba(12,53,42,.2)!important;pointer-events:auto;opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .2s ease}
.woocommerce-notices-wrapper.ezmpp-toast-wrapper .woocommerce-message.ezmpp-cart-toast::before{top:22px!important;left:18px!important;color:var(--ezm-gold)!important}
.woocommerce-notices-wrapper.ezmpp-toast-wrapper .woocommerce-message.ezmpp-cart-toast .button{order:2;flex:0 0 auto;float:none!important;margin:0 0 0 14px!important;padding:0!important;border:0!important;border-bottom:1px solid var(--ezm-gold)!important;background:transparent!important;color:var(--ezm-gold)!important;font-size:14px!important;white-space:nowrap}
.woocommerce-notices-wrapper.ezmpp-toast-wrapper .woocommerce-message.ezmpp-cart-toast .button:hover{color:#fff!important;border-color:#fff!important}
.ezmpp-toast-close{position:absolute;top:7px;right:9px;width:26px;height:26px;padding:0;border:0;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:.72}.ezmpp-toast-close:hover{opacity:1}.woocommerce-message.ezmpp-toast-leaving{opacity:0!important;transform:translateY(-8px)!important}
@media(max-width:600px){.woocommerce-notices-wrapper.ezmpp-toast-wrapper{top:auto;right:14px;bottom:14px;width:calc(100% - 28px)!important}.woocommerce-notices-wrapper.ezmpp-toast-wrapper .woocommerce-message.ezmpp-cart-toast{display:block;min-height:0!important;padding:16px 38px 16px 44px!important}.woocommerce-notices-wrapper.ezmpp-toast-wrapper .woocommerce-message.ezmpp-cart-toast::before{top:18px!important;left:15px!important}.woocommerce-notices-wrapper.ezmpp-toast-wrapper .woocommerce-message.ezmpp-cart-toast .button{display:inline-block;width:auto;margin:8px 0 0!important;text-align:left}}

/* 1.3.3: show the complete product image and prevent the original notice flash. */
html.ezmpp-toast-js .woocommerce-notices-wrapper .woocommerce-message:not(.ezmpp-cart-toast){visibility:hidden!important}
html.ezmpp-toast-js .woocommerce-notices-wrapper .woocommerce-message.ezmpp-cart-toast{visibility:visible!important}
@media(min-width:761px){
	body.ezm-product-page div.product .woocommerce-product-gallery__wrapper,body.ezm-product-page div.product .woocommerce-product-gallery__image,body.ezm-product-page div.product .woocommerce-product-gallery__image a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important}
	body.ezm-product-page div.product .woocommerce-product-gallery img{display:block!important;width:auto!important;max-width:88%!important;height:auto!important;max-height:88%!important;margin:auto!important;object-fit:contain!important;object-position:center!important}
	body.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready{padding:22px 26px!important}
	body.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready .ezmpp-purchase-title{margin-bottom:13px;font-size:27px}
	body.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready .ezmpp-summary-row{padding:8px 0}
}

/* 1.3.8: let Chrome reflow the desktop layout at zoomed viewport widths. */
body.ezm-product-page div.product,
body.ezm-product-page div.product > *,
body.ezm-product-page div.product .summary,
body.ezm-product-page div.product form.cart,
body.ezm-product-page .ezmpp-buy-layout,
body.ezm-product-page .ezmpp-options,
body.ezm-product-page .ezmpp-purchase,
body.ezm-product-page .ezmpp-summary-row,
body.ezm-product-page .ezmpp-summary-row > *{min-width:0}

@media(min-width:761px){
	body.ezm-product-page div.product{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important}
	body.ezm-product-page div.product form.cart:not(.variations_form).ezmpp-simple-ready{width:min(100%,620px)!important}
}

@media(min-width:1051px){
	body.ezm-product-page .ezmpp-buy-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
}

.ezm-product-page .ezmpp-summary-row > span{flex:0 1 auto}
.ezm-product-page .ezmpp-summary-row > strong{flex:0 1 auto;max-width:72%}
.ezm-product-page .ezmpp-simple-product-row strong{white-space:normal!important;overflow-wrap:anywhere;word-break:normal}
.ezm-product-page form.cart.ezmpp-simple-ready > *,
.ezm-product-page form.cart.ezmpp-simple-ready iframe,
.ezm-product-page form.cart.ezmpp-simple-ready [id*="payment-request"],
.ezm-product-page form.cart.ezmpp-simple-ready [class*="payment-request"]{box-sizing:border-box;min-width:0;max-width:100%!important}

/* 1.3.9: keep the variable-product form inside the purchase panel. */
.ezm-product-page .ezmpp-purchase .single_variation_wrap,
.ezm-product-page .ezmpp-purchase .woocommerce-variation-add-to-cart,
.ezm-product-page .ezmpp-purchase .ezc-standalone-choices,
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice{box-sizing:border-box;width:100%;min-width:0;max-width:100%}

.ezm-product-page div.product .ezmpp-purchase .woocommerce-variation-add-to-cart{grid-template-columns:minmax(0,1fr) auto}
.ezm-product-page .ezmpp-purchase .woocommerce-variation-add-to-cart > *,
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice > span,
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice > span > *{min-width:0;max-width:100%}
.ezm-product-page .ezmpp-purchase .ezc-standalone-choice > span{white-space:normal;overflow-wrap:anywhere}
.ezm-product-page div.product .ezmpp-purchase .quantity{justify-self:end;width:auto!important}
.ezm-product-page div.product .ezmpp-purchase .quantity .qty{width:72px!important;max-width:100%!important}
.ezm-product-page div.product .ezmpp-purchase .single_add_to_cart_button{min-width:0!important;max-width:100%!important}
