/* Product page: native WooCommerce slider, with its thumbnails on the left. */
.single-product .wc-content>div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}
.single-product .wc-content>div.product:before,.single-product .wc-content>div.product:after{display:none}
.single-product .wc-content>div.product>div.images{float:none;width:100%;min-width:0;margin:0;display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:start}
.single-product .woocommerce-product-gallery>.flex-viewport,.single-product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{grid-column:2;grid-row:1;min-width:0;margin:0;border:1px solid var(--line);border-radius:12px;background:#fcf9f7;overflow:hidden}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image>a>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:normal}
.single-product .wc-content>div.product>div.images .flex-control-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;width:100%;max-height:640px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0;margin:0;list-style:none}
.single-product .wc-content>div.product>div.images .flex-control-thumbs li{display:block;float:none;width:100%;margin:0;padding:4px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:#fff;flex:0 0 auto}
.single-product .wc-content>div.product>div.images .flex-control-thumbs li img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:4px;opacity:.75;cursor:pointer}
.single-product .wc-content>div.product>div.images .flex-control-thumbs li:has(img.flex-active){border-color:var(--violet);background:var(--lav)}
.single-product .wc-content>div.product>div.images .flex-control-thumbs li img.flex-active{opacity:1}
.single-product .wc-content>div.product>div.images .flex-control-thumbs li img:hover{opacity:1}
.single-product .isolon-single-thumb{grid-column:1;grid-row:1;display:block;width:100%;padding:4px;border:1px solid var(--violet);border-radius:8px;background:var(--lav);line-height:0;box-sizing:border-box}
.single-product .isolon-single-thumb img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:4px}
.single-product .woocommerce-product-gallery>.woocommerce-product-gallery__trigger{top:12px;right:12px;z-index:5;border:1px solid var(--line);box-shadow:0 2px 8px #703c4910}
.single-product .wc-content>div.product>.summary{grid-column:2;grid-row:1;float:none;width:100%;min-width:0;margin:0;padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;box-sizing:border-box}
.single-product .wc-content>div.product>.summary .product_title{font-family:'Montserrat',Arial,sans-serif;font-size:28px;line-height:1.35;letter-spacing:-.5px;font-weight:600;color:var(--ink);margin:0 0 20px;overflow-wrap:anywhere}
.single-product .wc-content>div.product>.summary>.price,.single-product .wc-content>div.product>.summary .woocommerce-variation-price .price{font-size:30px;font-weight:600;line-height:1.35;letter-spacing:-.5px;color:var(--ink);margin:0 0 22px}
.single-product .summary .price ins{text-decoration:none;background:none}
.single-product .summary .price del{font-size:18px;font-weight:400;color:var(--muted)}
.single-product .summary .woocommerce-product-details__short-description{font-size:14px;line-height:1.75;color:#786b65;margin-bottom:24px;overflow-wrap:anywhere}
.single-product .summary .woocommerce-product-details__short-description strong{color:var(--ink);font-weight:600}
.single-product .summary .woocommerce-product-details__short-description p{margin:0 0 14px}
.single-product .summary form.cart:not(.variations_form):not(.grouped_form),.single-product .summary .woocommerce-variation-add-to-cart{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0}
.single-product .summary form.cart .quantity{float:none;margin:0;flex:0 0 76px}
.single-product .summary form.cart .quantity input.qty{width:76px;min-height:46px;height:46px;padding:8px;border:1px solid #e9ddd8;border-radius:6px;background:#fcf9f7;color:var(--ink);font:500 14px 'Montserrat',Arial,sans-serif}
.single-product .summary form.cart .single_add_to_cart_button{float:none;flex:1;min-height:46px;padding:12px 20px;border-radius:6px;background:var(--violet);color:#fff;font:600 14px/1.5 'Montserrat',Arial,sans-serif}
.single-product .summary form.cart .single_add_to_cart_button:hover{background:var(--violet-dark);color:#fff;filter:brightness(.97)}
.single-product .summary form.variations_form{margin-top:22px}
.single-product .summary table.variations{width:100%;margin-bottom:20px}
.single-product .summary table.variations select{width:100%;min-height:42px;border:1px solid #e9ddd8;border-radius:6px;padding:8px 10px;background:#fcf9f7;font:inherit}
.single-product .summary .product_meta{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;color:var(--muted);font-size:12px;line-height:1.8}
.single-product .summary .product_meta>span{display:block}
.single-product .summary .product_meta a{color:var(--violet)}
.single-product .wc-content>div.product>.woocommerce-tabs,.single-product .wc-content>div.product>.related,.single-product .wc-content>div.product>.up-sells{grid-column:1/-1;width:100%;min-width:0;margin:0;clear:both}
.single-product .wc-content>div.product>.woocommerce-tabs{padding-top:8px}
.single-product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:24px;border-bottom:1px solid var(--line);padding:0!important;margin:0 0 24px!important;overflow:visible!important}
.single-product .woocommerce-tabs ul.tabs:before,.single-product .woocommerce-tabs ul.tabs:after,.single-product .woocommerce-tabs ul.tabs li:before,.single-product .woocommerce-tabs ul.tabs li:after{display:none!important;content:none!important}
.single-product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important}
.single-product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--violet)!important}
.single-product .woocommerce-tabs ul.tabs li a{padding:14px 0!important;font-family:'Montserrat',Arial,sans-serif;font-size:14px!important;line-height:1.5;color:var(--muted)!important;font-weight:500!important}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--violet)!important}
.single-product .woocommerce-tabs .panel{padding:24px!important;border:1px solid var(--line);border-radius:10px;font-size:14px;line-height:1.8;color:#786b65;box-sizing:border-box}
.single-product .woocommerce-tabs .panel h2{font-size:22px;line-height:1.35;font-weight:600;color:var(--ink);margin-top:0}
.single-product .related>h2,.single-product .up-sells>h2{font-size:24px;font-weight:600;margin:8px 0 22px}
@media(max-width:1050px){
.single-product .wc-content>div.product{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.single-product .wc-content>div.product>div.images{grid-template-columns:60px minmax(0,1fr);gap:10px}
.single-product .wc-content>div.product>.summary{padding:20px}
.single-product .wc-content>div.product>.summary .product_title{font-size:24px}
}
@media(max-width:760px){
.single-product .wc-content>div.product{grid-template-columns:minmax(0,1fr);gap:24px}
.single-product .wc-content>div.product>.summary{grid-column:1;grid-row:auto}
.single-product .wc-content>div.product>div.images{grid-template-columns:54px minmax(0,1fr)}
.single-product .wc-content>div.product>div.images .flex-control-thumbs{gap:8px;max-height:420px}
.single-product .wc-content>div.product>.summary .product_title{font-size:23px}
.single-product .woocommerce-tabs .panel{padding:18px!important}
}

/* 1.0.45: cancel legacy WooCommerce #content 48% column widths inside our grid. */
.single-product #content.wc-content>div.product>div.images,
.single-product #content.wc-content>div.product>div.summary{width:100%!important;max-width:none;min-width:0;float:none!important;box-sizing:border-box}
.single-product #content.wc-content>div.product:before,
.single-product #content.wc-content>div.product:after{display:none!important;content:none!important}
.single-product #content.wc-content>div.product>div.images>.flex-viewport,
.single-product #content.wc-content>div.product>div.images>.woocommerce-product-gallery__wrapper{width:100%!important;max-width:100%;min-width:0;box-sizing:border-box}

/* 1.0.46: product-loop cards retain the catalog layout inside a product page.
   WooCommerce form.cart clearfix pseudo-elements otherwise become grid cells. */
.single-product .wc-content .is-product form.buy.cart{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;align-self:end;margin:0}
.single-product .wc-content .is-product form.buy.cart:before,
.single-product .wc-content .is-product form.buy.cart:after{display:none;content:none}
.single-product .wc-content .is-product .buy .price{font-size:21px;line-height:1.5;margin:0;color:var(--ink)}
.single-product .wc-content .is-product form.buy.cart div.quantity{float:none;margin:0}
.single-product .wc-content .is-product .buy .add{float:none;margin:0;width:100%}
@media(max-width:640px){
.single-product .wc-content .is-product form.buy.cart{display:flex;flex-wrap:wrap;gap:7px}
.single-product .wc-content .is-product .buy .price{font-size:18px;line-height:1}
.single-product .wc-content .is-product .buy .add{flex-basis:100%}
}

/* 1.0.57: rich product fields from the existing JetEngine meta box. */
.single-product .woocommerce-tabs .isolon-product-field{font-size:14px;line-height:1.8;color:#786b65;overflow-wrap:anywhere}
.single-product .woocommerce-tabs .isolon-product-field p:first-child{margin-top:0}
.single-product .woocommerce-tabs .isolon-product-field p:last-child{margin-bottom:0}
.single-product .woocommerce-tabs .isolon-product-field ul,.single-product .woocommerce-tabs .isolon-product-field ol{padding-left:22px;margin:12px 0}
.single-product .woocommerce-tabs .isolon-product-field li+li{margin-top:5px}
.single-product .woocommerce-tabs .isolon-product-field strong{color:var(--ink);font-weight:600}
.single-product .woocommerce-tabs .isolon-product-field img{max-width:100%;height:auto}
.single-product .woocommerce-tabs .isolon-product-field table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.single-product .woocommerce-tabs .isolon-product-field th,.single-product .woocommerce-tabs .isolon-product-field td{padding:12px;border:1px solid var(--line);vertical-align:top}
.single-product .woocommerce-tabs .isolon-product-characteristics+table{margin-top:24px}
.single-product .woocommerce-tabs .isolon-product-video{max-width:900px;margin:0 auto}
.single-product .woocommerce-tabs .isolon-product-video iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:8px}
.single-product .woocommerce-tabs .isolon-product-video video{display:block;width:100%;max-width:100%;height:auto}
.single-product .woocommerce-tabs .isolon-product-video>a{color:var(--violet);text-decoration:underline}

/* Native product quantity with the same minus/input/plus layout as catalog cards. */
.single-product .summary form.cart .quantity.isolon-single-qty{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;height:46px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--field-bg,#f5efeb);overflow:hidden;gap:0}
.single-product .summary form.cart .isolon-single-qty input.qty{width:44px;min-width:0;height:44px;min-height:0;padding:0 2px;margin:0;border:0;border-radius:0;background:transparent;text-align:center;box-shadow:none;appearance:textfield;-moz-appearance:textfield;font-size:14px}
.single-product .summary form.cart .isolon-single-qty input.qty::-webkit-inner-spin-button,.single-product .summary form.cart .isolon-single-qty input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.single-product .summary form.cart .isolon-single-qty button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:500 20px/1 var(--font-body,'Montserrat',sans-serif);cursor:pointer}
.single-product .summary form.cart .isolon-single-qty button:hover:not(:disabled){background:var(--rose-soft);color:var(--brand-accent)}
.single-product .summary form.cart .isolon-single-qty button:disabled{opacity:.35;cursor:default}
.single-product .summary form.cart .isolon-single-qty :is(button,input):focus-visible{outline:2px solid var(--brand-accent);outline-offset:-3px}

/* Read-more/select links use two cells, rather than a full-width flex child. */
.single-product .wc-content .is-product .buy.options-buy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;align-self:end;gap:8px;width:100%;min-width:0;margin:0}
.single-product .wc-content .is-product .buy.options-buy>.price{min-width:0;max-width:100%;margin:0;align-self:center}
.single-product .wc-content .is-product .buy.options-buy>.add{display:flex;align-items:center;justify-content:center;float:none;width:auto;max-width:100%;min-width:0;margin:0;flex-basis:auto;justify-self:stretch;white-space:normal;text-align:center}
@media(max-width:640px){.single-product .wc-content .is-product .buy.options-buy{grid-template-columns:minmax(0,1fr);gap:8px}.single-product .wc-content .is-product .buy.options-buy>.add{width:100%}}

.single-product .summary .isolon-product-description-link{display:inline-block;margin-top:4px;color:var(--brand-accent,var(--violet));font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
