/* Commerce and mobile refinement, version 1.10 */
.business-address-link,.footer-address{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.business-address-link:after,.footer-address:after{content:"↗";font-size:.9em;color:var(--accent)}
.transparency-section .business-address-link{color:var(--surface)}
.transparency-section .business-address-link:hover,.footer-address:hover{color:var(--surface);text-decoration:underline}
.prose-content .business-address-link{font-weight:700}

/* Keep WooCommerce slider math from becoming the page width in Safari. */
body.single-product{max-width:100%;overflow-x:clip}
.single-product .shop-main,
.single-product .shop-shell,
.single-product .woocommerce,
.single-product .woocommerce div.product,
.single-product .woocommerce div.product>*{max-width:100%;min-width:0}
.single-product .woocommerce-product-gallery{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  contain:layout paint;
}
.single-product .woocommerce-product-gallery .flex-viewport{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  contain:layout paint;
}
.single-product .oev-contained-gallery .flex-viewport{height:auto!important}
.single-product .oev-contained-gallery .woocommerce-product-gallery__wrapper{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  transform:none!important;
  transition:none!important;
}
.single-product .oev-contained-gallery .woocommerce-product-gallery__image{
  display:none!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.single-product .oev-contained-gallery .woocommerce-product-gallery__image.oev-gallery-active{display:block!important}
.single-product .oev-contained-gallery .zoomImg{display:none!important}
.single-product .oev-contained-gallery .woocommerce-product-gallery__image>a{
  display:grid;
  place-items:center;
  width:100%;
  max-width:100%;
  aspect-ratio:1;
  overflow:hidden;
  background:var(--surface);
}
.single-product .oev-contained-gallery .woocommerce-product-gallery__image>a>img{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs{width:100%;max-width:100%;overflow:hidden}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{object-fit:contain!important}
.single-product .related,
.single-product .related ul.products,
.single-product .related ul.products li.product,
.single-product .related ul.products li.product a,
.single-product .related ul.products li.product img{max-width:100%;min-width:0}
.single-product .related ul.products{width:100%!important;overflow:hidden}
.single-product .product-policy-note>*{min-width:0}
.single-product .product-policy-note p{overflow-wrap:anywhere}
.single-product+.site-footer,.single-product~.site-footer,.site-footer{clear:both;width:100%;max-width:100%}

.single-product .shop-shell{padding-top:54px}
.single-product .woocommerce-breadcrumb{margin-bottom:28px}
.single-product .woocommerce div.product{gap:clamp(36px,5vw,72px);align-items:start}
.single-product .woocommerce div.product div.images{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{padding:0;background:var(--surface)}
.single-product .woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.single-product .woocommerce div.product div.images .flex-control-thumbs li{float:none!important;width:auto!important}
.single-product .woocommerce div.product div.images .flex-control-thumbs li img{height:92px;object-fit:cover;border-radius:9px}
.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:var(--accent);opacity:1}
.single-product .woocommerce div.product div.summary{padding:clamp(28px,3.4vw,46px);border-radius:20px}
.single-product .woocommerce div.product .product_title{font-size:clamp(38px,4.2vw,62px);line-height:1.02;letter-spacing:-.052em}
.single-product .woocommerce div.product p.price{margin:24px 0 18px;font-size:28px!important}
.single-product .woocommerce-product-details__short-description{max-width:580px;font-size:15px;line-height:1.65}
.single-product .woocommerce div.product form.cart{display:grid;grid-template-columns:78px minmax(180px,1fr);gap:12px;margin:27px 0 0}
.single-product .woocommerce div.product form.cart .quantity{width:78px}
.single-product .woocommerce div.product form.cart .quantity .qty{width:100%;height:54px;font-size:15px}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button{width:100%;height:54px;font-size:14px}
.single-product .woocommerce div.product form.cart .variations{grid-column:1/-1}
.single-product .woocommerce div.product form.cart .single_variation_wrap{grid-column:1/-1}
.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:78px 1fr;gap:12px}
.purchase-context{margin:13px 0 0;color:var(--muted);font-size:11px}
.product-assurance{margin-top:26px}
.product-assurance p{position:relative;padding:16px 0 16px 28px}
.product-assurance p:before{content:"✓";position:absolute;top:17px;left:0;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--surface);font-size:10px;font-weight:800}
.product-assurance strong{font-size:14px}
.product-assurance span{margin-top:4px;font-size:12px;line-height:1.45}
.single-product .woocommerce div.product .product_meta{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}

.single-product .woocommerce div.product .woocommerce-tabs{margin-top:72px;padding:42px 46px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:28px;margin:0 0 32px!important;border-bottom:1px solid var(--line)}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none!important}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:before,.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:0 0 14px!important;color:var(--muted)!important;font-size:13px;font-weight:800!important}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{border-bottom:2px solid var(--accent);color:var(--ink)!important}
.single-product .woocommerce-Tabs-panel{max-width:920px;margin:0!important;color:var(--muted)}
.single-product .woocommerce-Tabs-panel>h2:first-child{display:none}
.single-product .woocommerce-Tabs-panel h2{margin:0 0 22px;color:var(--ink);font-size:30px}
.single-product .woocommerce-Tabs-panel h3{margin:30px 0 10px;color:var(--ink);font-size:20px}
.single-product .woocommerce-Tabs-panel p,.single-product .woocommerce-Tabs-panel li{max-width:760px}
.single-product .woocommerce-Tabs-panel ul{padding-left:20px}

.single-product .product-policy-note{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:60px;align-items:start;margin:30px 0 0;padding:38px 44px;border:1px solid var(--line);background:var(--ink);color:var(--surface)}
.single-product .product-policy-note span{color:var(--signal);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.single-product .product-policy-note h2{margin:8px 0 0;color:var(--surface);font-size:30px;line-height:1.1}
.single-product .product-policy-note p{margin:0;color:var(--line);font-size:14px;line-height:1.7}
.single-product .product-policy-note a{color:var(--surface)}
.single-product .related{margin-top:72px!important;padding-top:46px!important}
.single-product .related>h2{font-size:36px!important}
.single-product .related ul.products{grid-template-columns:repeat(auto-fit,minmax(250px,300px));justify-content:start;gap:22px}
.single-product .related ul.products li.product{max-width:300px}

.woocommerce-cart .page-hero,.woocommerce-checkout .page-hero{padding-block:62px}
.woocommerce-cart .prose-content,.woocommerce-checkout .prose-content{padding-top:48px}
.wc-block-cart,.wc-block-checkout{font-family:var(--font);color:var(--ink)}
.wc-block-cart__main,.wc-block-checkout__main{padding-right:0!important}
.wc-block-cart-items{margin:0!important}
.wc-block-cart-items__row{box-shadow:none!important}
.wc-block-cart-items__row td{border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;background:var(--surface)}
.wc-block-cart-items__row td:first-child{border-left:1px solid var(--line)!important;border-radius:14px 0 0 14px}
.wc-block-cart-items__row td:last-child{border-right:1px solid var(--line)!important;border-radius:0 14px 14px 0}
.wc-block-cart-item__image img{padding:6px;object-fit:contain}
.wc-block-cart-item__product .wc-block-components-product-name{color:var(--ink);font-size:17px;font-weight:800}
.wc-block-cart-item__remove-link{color:var(--muted)!important;font-size:11px!important}
.wc-block-components-sidebar-layout .wc-block-components-main{width:calc(65% - 22px)!important}
.wc-block-components-sidebar-layout .wc-block-components-sidebar{width:35%!important}
.wc-block-cart__sidebar,.wc-block-checkout__sidebar{top:122px}
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{font-size:14px!important}
.wc-block-components-checkout-step{margin:0!important;padding:28px!important;border:1px solid var(--line)!important;border-radius:14px;background:var(--surface)}
.wc-block-components-checkout-step+.wc-block-components-checkout-step{margin-top:16px!important}
.wc-block-components-checkout-step__heading{margin-bottom:20px!important}
.wc-block-components-checkout-step__heading h2{margin:0!important;color:var(--ink);font-size:23px!important}
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input{min-height:54px!important;background:var(--surface)!important;color:var(--ink)!important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border-color:var(--muted)!important}
.wc-block-components-order-summary{font-size:13px}

@media(max-width:900px){
  .single-product .shop-shell{padding-top:36px}
  .single-product .woocommerce div.product{width:100%;grid-template-columns:minmax(0,1fr);gap:28px;overflow:hidden}
  .single-product .woocommerce div.product div.images{width:100%!important;max-width:680px;margin-inline:auto!important}
  .single-product .woocommerce div.product div.summary{position:static;width:100%!important;max-width:680px;margin-inline:auto!important}
  .single-product .product-policy-note{grid-template-columns:1fr;gap:18px}
  body.woocommerce-cart,body.woocommerce-checkout{overflow-x:hidden}
  .woocommerce-cart .prose-content,.woocommerce-checkout .prose-content{width:min(calc(100% - 30px),1200px);max-width:100%;margin-inline:auto;padding-inline:0}
  .wc-block-cart,.wc-block-checkout,.wc-block-components-sidebar-layout{width:100%!important;max-width:100%!important;min-width:0!important}
  .wc-block-components-sidebar-layout{display:flex!important;flex-direction:column!important;gap:22px!important;margin-inline:0!important}
  .wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar,
  .wc-block-cart__main,.wc-block-cart__sidebar,
  .wc-block-checkout__main,.wc-block-checkout__sidebar{
    flex:0 1 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .wc-block-cart__sidebar,.wc-block-checkout__sidebar{position:static!important;order:2;margin-top:0!important}
  .wc-block-components-checkout-step,
  .wc-block-components-checkout-step__container,
  .wc-block-components-address-form,
  .wc-block-components-order-summary,
  .wc-block-components-order-summary-item,
  .wc-block-components-order-summary-item__description,
  .wc-block-components-totals-wrapper,
  .wc-block-components-totals-coupon{max-width:100%!important;min-width:0!important}
  .wc-block-components-text-input,.wc-block-components-combobox,.wc-block-components-combobox-control{width:100%!important;max-width:100%!important;min-width:0!important}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .woocommerce ul.products li.product{width:100%!important;max-width:none!important;min-width:0!important}
}

@media(max-width:620px){
  .single-product .shop-shell{padding-top:22px;padding-bottom:64px}
  .single-product .woocommerce-breadcrumb{margin-bottom:18px}
  .single-product .woocommerce div.product div.images{width:100%!important;max-width:100%!important;padding:10px;border-radius:14px}
  .single-product .woocommerce div.product div.images .flex-control-thumbs{gap:6px}
  .single-product .woocommerce div.product div.images .flex-control-thumbs li img{height:70px;padding:2px}
  .single-product .woocommerce div.product div.summary{width:100%!important;max-width:100%!important;padding:24px 18px;border-radius:14px}
  .single-product .woocommerce div.product .product_title{font-size:34px;line-height:1.04}
  .single-product .woocommerce div.product p.price{margin:18px 0 12px;font-size:25px!important}
  .single-product .woocommerce-product-details__short-description{font-size:14px}
  .single-product .woocommerce div.product form.cart{grid-template-columns:68px 1fr}
  .single-product .woocommerce div.product form.cart .quantity{width:68px}
  .single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart{grid-template-columns:68px 1fr}
  .product-assurance p{padding-left:26px}
  .single-product .woocommerce div.product .woocommerce-tabs{margin-top:46px;padding:25px 18px;border-radius:14px}
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs{gap:20px;overflow-x:auto}
  .single-product .woocommerce-Tabs-panel h2{font-size:25px}
  .single-product .woocommerce-Tabs-panel h3{font-size:18px}
  .single-product .product-policy-note{margin-top:18px;padding:28px 20px;border-radius:14px}
  .single-product .product-policy-note h2{font-size:26px}
  .single-product .related{margin-top:48px!important;padding-top:34px!important}
  .single-product .related>h2{font-size:30px!important}
  .single-product .related ul.products{grid-template-columns:1fr;max-width:none}
  .single-product .related ul.products li.product{max-width:none}
  .woocommerce-cart .page-hero,.woocommerce-checkout .page-hero{padding-block:42px}
  .woocommerce-cart .prose-content,.woocommerce-checkout .prose-content{padding-top:28px;padding-bottom:64px}
  .wc-block-components-checkout-step{padding:20px 16px!important}
  .wc-block-components-checkout-step__heading h2{font-size:20px!important}
  .wc-block-cart-items__row td{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent}
  .wc-block-cart-item__image{width:96px!important}
  .wc-block-cart-item__image img{width:90px!important;height:100px!important;object-fit:contain}
  .wc-block-cart__sidebar,.wc-block-checkout__sidebar{margin-top:22px;padding:18px!important;top:auto}
  .wc-block-components-sidebar-layout{gap:18px!important}
  .wc-block-checkout__sidebar,.wc-block-cart__sidebar{margin-top:0!important;padding:16px!important}
  .wc-block-components-order-summary-item{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;column-gap:12px!important}
  .wc-block-components-order-summary-item__image{grid-column:1!important;grid-row:1 / span 2!important;width:64px!important;min-width:64px!important;margin:0!important}
  .wc-block-components-order-summary-item__image img{width:64px!important;height:64px!important;object-fit:contain}
  .wc-block-components-order-summary-item__description{grid-column:2!important;grid-row:1!important;width:auto!important;overflow-wrap:anywhere;word-break:normal}
  .wc-block-components-order-summary-item__total-price{grid-column:2!important;grid-row:2!important;justify-self:end;white-space:nowrap}
  .wc-block-components-totals-coupon__form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  .wc-block-components-totals-coupon__input{min-width:0!important}
  .wc-block-components-address-form{grid-template-columns:minmax(0,1fr)!important}
  .wc-block-components-address-form>div{grid-column:1!important;min-width:0!important}
  .woocommerce ul.products{grid-template-columns:1fr!important}
  .wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:54px!important}
  .footer-grid{grid-template-columns:1fr!important}
  .footer-brand,.footer-grid>div:last-child{grid-column:1!important}
  .footer-contact>div{align-items:flex-start}
  .footer-address{line-height:1.5}
}

/* 1.11: definitive storefront stability layer.
   Woo Blocks adds percentage widths and a gap, which can wrap the order
   summary below the cart on desktop and produce a very wide canvas on mobile. */
html,body{max-width:100%;overflow-x:clip}
.site-header,.site-footer,.page-main,.shop-main,main,
.container,.woocommerce,.woocommerce-page,
.wc-block-cart,.wc-block-checkout,.wc-block-components-sidebar-layout{
  min-width:0;
  max-width:100%;
}
.site-footer{position:relative;inset:auto;float:none;clear:both;width:100%}
.footer-grid>*,.footer-contact>*,.woocommerce>*{min-width:0}
.footer-contact a,.footer-contact span,.company-details dd,.prose-content a{overflow-wrap:anywhere}

/* Cart and checkout: reliable two-column desktop grid. */
.woocommerce-cart .wc-block-components-sidebar-layout,
.woocommerce-checkout .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.58fr) minmax(320px,.82fr)!important;
  align-items:start!important;
  gap:36px!important;
  width:100%!important;
  margin:0!important;
}
.woocommerce-cart .wc-block-components-sidebar-layout>.wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar-layout>.wc-block-components-sidebar,
.woocommerce-checkout .wc-block-components-sidebar-layout>.wc-block-components-main,
.woocommerce-checkout .wc-block-components-sidebar-layout>.wc-block-components-sidebar{
  grid-column:auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
.woocommerce-cart .wc-block-components-sidebar-layout>.wc-block-components-main,
.woocommerce-checkout .wc-block-components-sidebar-layout>.wc-block-components-main{padding-left:0!important;padding-right:0!important}
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar{
  position:sticky!important;
  top:118px!important;
  order:initial!important;
}
.wc-block-cart-items{width:100%!important;table-layout:fixed}
.wc-block-cart-items__row{width:100%}
.wc-block-cart-item__product,.wc-block-cart-item__product *{min-width:0}
.wc-block-components-product-name,.wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item__description{overflow-wrap:anywhere}
.wc-block-components-order-summary-item{min-width:0}

/* Product pages: contain every Woo/FlexSlider internal width at all desktop sizes. */
.single-product .woocommerce div.product{
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.86fr);
  width:100%;
  max-width:100%;
}
body.single-product div.product div.summary{
  position:static!important;
  top:auto!important;
  align-self:start;
}
.single-product .woocommerce-product-gallery__trigger{z-index:4}
.single-product .flex-control-thumbs li,.single-product .flex-control-thumbs img{min-width:0;max-width:100%}

/* Switch to the compact navigation before links become crowded on smaller PCs. */
@media(max-width:1020px){
  .header-inner{grid-template-columns:82px minmax(0,1fr) auto;gap:12px}
  .menu-toggle{display:block;order:3;width:44px;height:44px;border:1px solid var(--line);border-radius:10px}
  .cart-link{order:2;margin-left:auto}
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:30;flex-direction:column;align-items:stretch;gap:0;padding:12px max(20px,calc((100% - var(--container))/2)) 20px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(7,28,26,.09)}
  .primary-nav.is-open{display:flex}
  .primary-nav a{padding:13px 0;border-bottom:1px solid var(--line)}
  .single-product .woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:30px}
  .single-product .woocommerce div.product div.summary{position:static}
  .woocommerce-cart .wc-block-components-sidebar-layout,
  .woocommerce-checkout .wc-block-components-sidebar-layout{
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  .woocommerce-cart .wc-block-cart__sidebar,
  .woocommerce-checkout .wc-block-checkout__sidebar{
    position:static!important;
    top:auto!important;
  }
}

@media(max-width:620px){
  body{font-size:15px}
  .container{width:min(calc(100% - 24px),var(--container))}
  .service-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:8px 4px}
  .service-bar span{display:block!important;margin:0!important;padding:0 5px;font-size:9px;line-height:1.3}
  .service-bar span+span{border-left:1px solid rgba(220,230,227,.25)}
  .woocommerce-cart .page-hero,.woocommerce-checkout .page-hero{padding-block:34px}
  .woocommerce-cart .prose-content,.woocommerce-checkout .prose-content{width:calc(100% - 24px);padding-top:22px}
  .wc-block-cart-items{display:block!important}
  .wc-block-cart-items thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .wc-block-cart-items tbody,.wc-block-cart-items__row{display:block!important;width:100%!important}
  .wc-block-cart-items__row{position:relative;min-height:132px;margin:0 0 14px;padding:14px 12px 14px 104px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--surface)!important}
  .wc-block-cart-items__row td{display:block!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important}
  .wc-block-cart-item__image{position:absolute!important;top:14px;left:12px;width:78px!important}
  .wc-block-cart-item__image img{width:78px!important;height:88px!important;padding:4px!important}
  .wc-block-cart-item__product{min-height:102px}
  .wc-block-cart-item__total{margin-top:10px;text-align:left!important}
  .wc-block-cart-item__total-price-and-sale-badge-wrapper{align-items:flex-start!important}
  .wc-block-cart__sidebar,.wc-block-checkout__sidebar{width:100%!important;padding:16px!important;border-radius:14px!important}
  .wc-block-components-checkout-step{padding:18px 14px!important}
  .wc-block-components-order-summary-item{grid-template-columns:58px minmax(0,1fr)!important}
  .wc-block-components-order-summary-item__image,
  .wc-block-components-order-summary-item__image img{width:58px!important;min-width:58px!important;height:58px!important}
  .single-product .woocommerce div.product .product_title{font-size:clamp(30px,9.2vw,38px)}
  .single-product .woocommerce div.product form.cart,
  .single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart{grid-template-columns:64px minmax(0,1fr)}
  .footer-contact,.footer-contact>div,.footer-bottom{width:100%;max-width:100%}
}
