/*
 * Atelier Nora Studio 1.2.2 — WooCommerce & Elementor Pro presentation.
 * Shop/catalog, Printify variations and classic + Elementor Product Images.
 * Scoped deliberately to WooCommerce blocks and our own Elementor templates.
 * No product content, media attachment or order data is modified.
 */

/* ---------- Foundation / brand tone ---------- */
:root{--an-shop-ink:var(--an-ink,#45382f);--an-shop-accent:var(--an-accent,#c98569);--an-shop-sand:var(--an-cream,#f8f5ee);--an-shop-line:#e8e0d7;--an-shop-muted:#786a5e;}
body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag,
body.single-product{--an-shop-ink:var(--an-ink,#45382f);--an-shop-accent:var(--an-accent,#c98569);--an-shop-sand:var(--an-cream,#f8f5ee);--an-shop-line:#e8e0d7;--an-shop-muted:#786a5e;}
body :is(.woocommerce,.elementor-widget-woocommerce-archive-products,.elementor-widget-woocommerce-products) ul.products,
body .an-wc-archive-grid ul.products{box-sizing:border-box;list-style:none!important;padding:0!important;margin:0!important;}

/* ---------- Shop and product archive cards ---------- */
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products,
body .elementor-widget-woocommerce-archive-products ul.products,
body .elementor-widget-woocommerce-products ul.products,
body .an-wc-archive-grid ul.products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(14px,2vw,28px)!important;
  align-items:stretch;
  margin:0 0 40px!important;
  padding:0!important;
  float:none!important;
  width:100%!important;
  clear:both;
}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products::before,:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products::after{display:none!important;content:none!important;}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product,
body .elementor-widget-woocommerce-archive-products ul.products li.product,
body .elementor-widget-woocommerce-products ul.products li.product {
  float:none!important;clear:none!important;
  width:auto!important;min-width:0!important;max-width:100%!important;
  margin:0!important;padding:0 0 15px!important;
  text-align:left!important;position:relative;
  display:flex!important;flex-direction:column;align-items:stretch;
  background:#fffdf9;border:1px solid #ede7de;border-radius:16px;
  overflow:hidden;box-shadow:0 2px 16px rgba(59,47,37,.035);
  transition:transform .24s ease,box-shadow .24s ease;
}
@media(hover:hover) and (pointer:fine){
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product:hover,
 body .elementor-widget-woocommerce-archive-products ul.products li.product:hover{
   transform:translateY(-4px);box-shadow:0 12px 28px rgba(59,47,37,.10);
 }
}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product > a.woocommerce-LoopProduct-link,
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product > a.woocommerce-loop-product__link,
body .elementor-widget-woocommerce-archive-products ul.products li.product > a{
  color:var(--an-shop-ink)!important;text-decoration:none!important;display:block;min-width:0;
}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product a img,
body .elementor-widget-woocommerce-archive-products ul.products li.product a img,
body .elementor-widget-woocommerce-products ul.products li.product a img{
  box-sizing:border-box!important;display:block!important;
  width:100%!important;max-width:100%!important;max-height:none;
  height:auto!important;aspect-ratio:4/5!important;object-fit:contain!important;
  padding:clamp(10px,1.7vw,20px)!important;margin:0 0 15px!important;
  border-radius:0!important;background:#f6f3ed!important;
  transition:transform .35s ease;
}
@media(hover:hover) and (pointer:fine){:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product:hover a img{transform:scale(1.025);}}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product :is(.woocommerce-loop-product__title,h2.woocommerce-loop-product__title),
body .elementor-widget-woocommerce-archive-products ul.products li.product .woocommerce-loop-product__title,
body .elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--an-head,Georgia,serif)!important;font-size:clamp(18px,1.6vw,23px)!important;
  font-weight:500!important;font-style:normal!important;line-height:1.28!important;
  text-transform:none!important;letter-spacing:-.02em!important;
  color:var(--an-shop-ink)!important;padding:0!important;
  margin:0 16px 10px!important;overflow-wrap:anywhere;
}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product .price,
body .elementor-widget-woocommerce-archive-products ul.products li.product .price,
body .elementor-widget-woocommerce-products ul.products li.product .price{
  display:block!important;font-family:var(--an-body,system-ui,sans-serif)!important;
  font-size:15px!important;line-height:1.45!important;font-weight:600!important;
  color:var(--an-shop-ink)!important;margin:0 16px 16px!important;
}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product .price :is(ins,del),
body .elementor-widget-woocommerce-archive-products ul.products li.product .price :is(ins,del){color:inherit;}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product :is(a.button,button.button),
body .elementor-widget-woocommerce-archive-products ul.products li.product :is(a.button,button.button),
body .elementor-widget-woocommerce-products ul.products li.product :is(a.button,button.button){
  box-sizing:border-box;align-self:flex-start;display:inline-flex!important;justify-content:center;align-items:center;
  min-height:42px!important;max-width:calc(100% - 32px);
  margin:auto 16px 0!important;padding:11px 18px!important;
  background:var(--an-shop-ink)!important;color:#fff!important;
  font-family:var(--an-body,system-ui,sans-serif)!important;font-size:12px!important;
  font-weight:600!important;line-height:1.4!important;letter-spacing:.01em;
  border:1px solid var(--an-shop-ink)!important;border-radius:100px!important;
  text-transform:none!important;box-shadow:none!important;text-decoration:none!important;
  white-space:normal!important;text-align:center!important;
}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product :is(a.button,button.button):hover,
body .elementor-widget-woocommerce-archive-products ul.products li.product :is(a.button,button.button):hover{
  color:#fff!important;background:var(--an-shop-accent)!important;border-color:var(--an-shop-accent)!important;
}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product :is(.added_to_cart,.woocommerce-loop-product__link .star-rating){margin:9px 16px 0;color:var(--an-shop-ink);}
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product .onsale{
  top:12px!important;left:12px!important;right:auto!important;min-width:0!important;min-height:0!important;
  padding:7px 12px!important;margin:0!important;background:var(--an-shop-accent)!important;
  color:white!important;border-radius:99px!important;font:600 11px/1.2 var(--an-body,system-ui)!important;
}
body .woocommerce :is(.woocommerce-result-count,.woocommerce-ordering){font:400 13px var(--an-body,system-ui,sans-serif);color:var(--an-shop-muted);}
body .woocommerce .woocommerce-ordering select{
  border:1px solid var(--an-shop-line);border-radius:10px;padding:10px 12px;
  background:#fffdf9;color:var(--an-shop-ink);font-size:13px;max-width:100%;
}
body.woocommerce-shop :is(.woocommerce-products-header__title,.page-title),
body.tax-product_cat :is(.woocommerce-products-header__title,.page-title),
body.tax-product_tag :is(.woocommerce-products-header__title,.page-title),
body .elementor-widget-woocommerce-archive-title :is(h1,.elementor-heading-title),
body .an-wc-archive-title :is(h1,.elementor-heading-title){
  font-family:var(--an-head,Georgia,serif)!important;font-size:clamp(34px,4vw,58px)!important;
  font-weight:500!important;line-height:1.12!important;letter-spacing:-.035em!important;color:var(--an-shop-ink)!important;
}
body .an-wc-archive-section{width:100%;max-width:1320px;margin-inline:auto;padding:clamp(15px,3vw,40px);}
body .an-wc-archive-description,body .woocommerce-products-header__description{color:var(--an-shop-muted);font:400 15px/1.7 var(--an-body,system-ui,sans-serif);}
/* A single Printify product should not be stretched into a giant empty grid. */
:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product:only-child{grid-column:1/-1;width:min(100%,320px)!important;justify-self:center;}

/* ---------- Single product: classic WooCommerce + Elementor builder ---------- */
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product{box-sizing:border-box;color:var(--an-shop-ink);font-family:var(--an-body,system-ui,sans-serif);}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product > div.images,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product > div.summary{box-sizing:border-box;min-width:0;}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product > div.images{width:50%;max-width:50%;float:left;margin:0 0 35px;}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product > div.summary{width:45%;max-width:45%;float:right;margin:5px 0 36px;}
body.single-product .an-wc-product-main{
  box-sizing:border-box!important;display:flex!important;flex-flow:row nowrap!important;
  align-items:flex-start!important;justify-content:center!important;
  width:100%!important;max-width:1370px!important;margin-inline:auto!important;
  gap:clamp(28px,5vw,78px)!important;padding:clamp(28px,3.5vw,48px)!important;
}
body.single-product .an-wc-product-main>.an-wc-product-media,
body.single-product .an-wc-product-main>.an-wc-product-info{
  box-sizing:border-box!important;min-width:0!important;max-width:none!important;
}
body.single-product .an-wc-product-main>.an-wc-product-media{flex:1 1 51%!important;width:51%!important;}
body.single-product .an-wc-product-main>.an-wc-product-info{flex:1 1 43%!important;width:43%!important;gap:13px;}
body.single-product :is(.woocommerce div.product .product_title,.elementor-widget-woocommerce-product-title .elementor-heading-title,.an-wc-title-widget .elementor-heading-title){
  font-family:var(--an-head,Georgia,serif)!important;
  font-size:clamp(33px,3.7vw,57px)!important;font-weight:500!important;line-height:1.12!important;
  letter-spacing:-.035em!important;text-transform:none!important;overflow-wrap:anywhere;
  color:var(--an-shop-ink)!important;margin:0 0 14px!important;
}
body.single-product :is(.woocommerce div.product p.price,.woocommerce div.product span.price,.elementor-widget-woocommerce-product-price .price){
  color:var(--an-shop-ink)!important;font-family:var(--an-body,system-ui,sans-serif)!important;
  font-size:clamp(20px,2vw,26px)!important;font-weight:600!important;line-height:1.4!important;
  margin:0 0 22px!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-product-details__short-description{
  font:400 15px/1.75 var(--an-body,system-ui,sans-serif);color:var(--an-shop-muted);margin-bottom:25px;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .woocommerce-breadcrumb,
body.single-product .elementor-widget-woocommerce-breadcrumb{
  font:400 12px/1.6 var(--an-body,system-ui,sans-serif);color:#8b7e72;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .woocommerce-breadcrumb a{color:inherit;}

/* Gallery width belongs to its container. Never expand the classic .images root
   to 100%: that would push the entire product summary below the gallery. */
body.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery,
body.single-product .an-wc-product-media .woocommerce-product-gallery,
body.single-product div.product > .images .woocommerce-product-gallery{
  box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;
  float:none!important;position:relative!important;margin:0 0 16px!important;
}
/* Native WooCommerce/Hello Elementor single product structure:
   <div class="product"><div class="woocommerce-product-gallery images">... */
body.single-product div.product > div.woocommerce-product-gallery.images {
  box-sizing:border-box!important;width:52%!important;max-width:52%!important;min-width:0!important;
  float:left!important;clear:none!important;display:block!important;
  position:relative!important;margin:0 0 34px!important;
}
body.single-product div.product > div.summary.entry-summary,
body.single-product div.product > div.summary:not(.elementor-element) {
  box-sizing:border-box!important;width:42%!important;max-width:42%!important;
  float:right!important;clear:none!important;margin:2px 0 34px!important;
}
/* Some themes wrap .woocommerce-product-gallery inside div.images instead. */
body.single-product div.product > div.images:not(.woocommerce-product-gallery){
  box-sizing:border-box!important;width:52%!important;max-width:52%!important;
  float:left!important;clear:none!important;margin:0 0 34px!important;
}
/* Avoid overlapping old floated content with tabs and related products. */
body.single-product .woocommerce div.product > .woocommerce-tabs,
body.single-product .woocommerce div.product > .related,
body.single-product .woocommerce div.product > .upsells {clear:both!important;}

:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-product-gallery .flex-viewport,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .elementor-widget-woocommerce-product-images .flex-viewport{
  box-sizing:border-box;border-radius:16px!important;overflow:hidden!important;
  background:var(--an-shop-sand)!important;max-width:100%!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-product-gallery__wrapper,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper{
  box-sizing:border-box!important;max-width:100%;margin:0!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-product-gallery__image,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image{
  box-sizing:border-box!important;max-width:100%!important;overflow:hidden;text-align:center;
  background:#f7f4ee;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-product-gallery__image img,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img{
  display:block!important;box-sizing:border-box!important;max-width:100%!important;
  width:100%!important;height:auto!important;max-height:690px!important;
  object-fit:contain!important;margin:0!important;padding:0!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
  z-index:4!important;top:14px!important;right:14px!important;
  background:#fffdf9!important;border-radius:99px!important;
  width:38px!important;height:38px!important;
  box-shadow:0 4px 14px rgba(40,30,20,.09);
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .flex-control-nav.flex-control-thumbs,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .flex-control-thumbs,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .flex-control-nav.flex-control-thumbs{
  box-sizing:border-box!important;display:flex!important;flex-direction:row!important;
  flex-wrap:nowrap!important;gap:10px!important;
  margin:12px 0 0!important;padding:3px 1px 11px!important;
  width:100%!important;max-width:100%!important;list-style:none!important;
  overflow-x:auto!important;overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c6b5a4 transparent;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .flex-control-thumbs li,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .flex-control-thumbs li{
  box-sizing:border-box!important;display:block!important;flex:0 0 75px!important;
  float:none!important;width:75px!important;max-width:75px!important;
  min-width:75px!important;margin:0!important;padding:0!important;
  scroll-snap-align:start;list-style:none!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .flex-control-thumbs li img{
  box-sizing:border-box!important;display:block!important;width:75px!important;
  height:75px!important;max-height:75px!important;aspect-ratio:1!important;
  object-fit:contain!important;padding:5px!important;margin:0!important;
  background:#f7f3ec;border:1px solid #e6ddd4;border-radius:10px!important;
  opacity:.6;cursor:pointer;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .flex-control-thumbs li img.flex-active,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .flex-control-thumbs li img:hover{opacity:1;border-color:var(--an-shop-accent)!important;}
/* The fallback runs only when the standard WooCommerce slider did not start. */
body.single-product .woocommerce-product-gallery.an-wc-gallery--fallback .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image[hidden]{display:none!important;}
.an-wc-gallery--fallback .an-wc-gallery__thumbs{
  display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;max-width:100%;
  margin:12px 0 0;padding:2px 1px 10px;scroll-snap-type:x proximity;
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
.an-wc-gallery__thumb{
  flex:0 0 76px;box-sizing:border-box;display:block;width:76px;height:76px;
  appearance:none;cursor:pointer;padding:4px;margin:0;
  background:#f7f3ec;border:2px solid #e9e0d7;border-radius:10px;
  scroll-snap-align:start;
}
.an-wc-gallery__thumb[aria-current="true"]{border-color:var(--an-shop-accent,#c98569);}
.an-wc-gallery__thumb:focus-visible{outline:2px solid var(--an-shop-accent,#c98569);outline-offset:2px;}
.an-wc-gallery__thumb img{display:block;width:100%;height:100%;object-fit:contain;}

/* Form: size, frame option and ordering. */
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart,
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart{width:100%;max-width:100%;margin:10px 0 25px!important;}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .variations,
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .variations{
  width:100%!important;max-width:100%!important;border-collapse:separate;border-spacing:0 7px;margin:0 0 15px;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .variations :is(th,td),
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .variations :is(th,td){
  box-sizing:border-box;text-align:left!important;padding:0 0 7px!important;
  font-family:var(--an-body,system-ui,sans-serif);float:none!important;vertical-align:middle;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .variations label,
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .variations label{
  color:var(--an-shop-ink)!important;font:600 13px/1.5 var(--an-body,system-ui,sans-serif)!important;
  display:block;margin:0 0 7px!important;text-transform:none;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .variations select,
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .variations select{
  box-sizing:border-box!important;display:block!important;max-width:100%!important;width:100%!important;
  min-width:0!important;height:auto!important;min-height:48px!important;
  background:#fffdf9!important;color:var(--an-shop-ink)!important;
  font:500 14px/1.35 var(--an-body,system-ui,sans-serif)!important;
  border:1px solid #dcd0c3!important;border-radius:10px!important;
  padding:12px 14px!important;box-shadow:none!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .reset_variations{font:500 12px var(--an-body,system-ui,sans-serif);color:var(--an-shop-accent);}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .quantity .qty{
  width:75px!important;min-height:48px;padding:8px!important;border:1px solid #dcd0c3!important;
  border-radius:10px!important;background:#fffdf9!important;color:var(--an-shop-ink)!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product :is(button.single_add_to_cart_button,button.button.alt),
body.single-product .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:48px!important;max-width:100%;padding:13px 25px!important;
  background:var(--an-shop-ink)!important;color:#fff!important;
  border:1px solid var(--an-shop-ink)!important;border-radius:100px!important;
  font:600 14px/1.35 var(--an-body,system-ui,sans-serif)!important;
  letter-spacing:.01em;text-transform:none!important;box-shadow:none!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product button.single_add_to_cart_button:hover,
body.single-product .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button:hover{
  background:var(--an-shop-accent)!important;border-color:var(--an-shop-accent)!important;
}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-tabs,
body.single-product .an-wc-related-widget{clear:both;max-width:1320px;margin:42px auto 35px;}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-tabs ul.tabs li{background:#f5eee5;border-color:#e5d9ca;border-radius:10px 10px 0 0;}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-tabs ul.tabs li a{color:var(--an-shop-ink)!important;}
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .related > h2,
:is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .upsells > h2{
  font:500 clamp(27px,3vw,38px)/1.2 var(--an-head,Georgia,serif);
  color:var(--an-shop-ink);margin:32px 0 24px;
}

/* ---------- Responsiveness ---------- */
@media (max-width:1199px){
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products,body .elementor-widget-woocommerce-archive-products ul.products,
 body .elementor-widget-woocommerce-products ul.products,body .an-wc-archive-grid ul.products{
   grid-template-columns:repeat(3,minmax(0,1fr))!important;
 }
}
@media (max-width:900px){
 body.single-product .an-wc-product-main{flex-flow:column nowrap!important;gap:20px!important;padding:26px 5%!important;}
 body.single-product .an-wc-product-main>.an-wc-product-media,
 body.single-product .an-wc-product-main>.an-wc-product-info{
   flex:0 1 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;
 }
 /* Reset the actual native gallery node (which is also .images). */
 body.single-product div.product > div.woocommerce-product-gallery.images,
 body.single-product div.product > div.summary.entry-summary,
 body.single-product div.product > div.summary:not(.elementor-element),
 body.single-product div.product > div.images:not(.woocommerce-product-gallery){
   width:100%!important;max-width:100%!important;float:none!important;
   clear:both!important;margin:0 0 22px!important;
 }
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product > div.images,
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product > div.summary{
   float:none!important;width:100%!important;max-width:100%!important;clear:both!important;
   margin:0 0 25px!important;
 }
 body.single-product :is(.woocommerce div.product .product_title,.elementor-widget-woocommerce-product-title .elementor-heading-title,.an-wc-title-widget .elementor-heading-title){font-size:clamp(30px,5.5vw,43px)!important;}
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products,body .elementor-widget-woocommerce-archive-products ul.products,
 body .elementor-widget-woocommerce-products ul.products,body .an-wc-archive-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:600px){
 body.single-product .an-wc-product-main{padding:14px 16px 28px!important;gap:16px!important;}
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .woocommerce-product-gallery__image img,
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img{max-height:470px!important;}
 body.single-product :is(.woocommerce div.product .product_title,.elementor-widget-woocommerce-product-title .elementor-heading-title,.an-wc-title-widget .elementor-heading-title){
   font-size:clamp(29px,8.2vw,37px)!important;line-height:1.14!important;margin-bottom:8px!important;
 }
 body.single-product :is(.woocommerce div.product p.price,.woocommerce div.product span.price,.elementor-widget-woocommerce-product-price .price){font-size:22px!important;margin-bottom:15px!important;}
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .variations :is(th,td),
 body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .variations :is(th,td){display:block!important;width:100%!important;}
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .variations tr,
 body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .variations tr{display:block;margin-bottom:9px;}
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product button.single_add_to_cart_button{flex:1 1 205px!important;}
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .flex-control-thumbs li,
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) div.product .flex-control-thumbs li{flex-basis:64px!important;width:64px!important;min-width:64px!important;max-width:64px!important;}
 :is(body.single-product .woocommerce,body.single-product.woocommerce,body.single-product.woocommerce-page) .flex-control-thumbs li img{width:64px!important;height:64px!important;max-height:64px!important;}
 .an-wc-gallery__thumb{flex-basis:64px;width:64px;height:64px;}
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products,body .elementor-widget-woocommerce-archive-products ul.products,
 body .elementor-widget-woocommerce-products ul.products,body .an-wc-archive-grid ul.products{gap:12px!important;}
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product .woocommerce-loop-product__title,
 body .elementor-widget-woocommerce-archive-products ul.products li.product .woocommerce-loop-product__title{font-size:17px!important;margin:0 10px 8px!important;line-height:1.25!important;}
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product .price{font-size:13px!important;margin:0 10px 12px!important;}
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product :is(a.button,button.button),
 body .elementor-widget-woocommerce-archive-products ul.products li.product :is(a.button,button.button){
   font-size:11px!important;min-height:38px!important;padding:9px 11px!important;
   margin:auto 10px 0!important;max-width:calc(100% - 20px);
 }
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product a img{padding:10px!important;margin-bottom:10px!important;}
}
@media (max-width:339px){
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products,body .elementor-widget-woocommerce-archive-products ul.products,
 body .elementor-widget-woocommerce-products ul.products,body .an-wc-archive-grid ul.products{
   grid-template-columns:minmax(0,1fr)!important;
 }
 :is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product .woocommerce-loop-product__title{font-size:20px!important;}
}
@media(prefers-reduced-motion:reduce){:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product,:is(body .woocommerce,body.woocommerce.archive,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag) ul.products li.product a img{transition:none!important;}}

/* ---------- Gallery 1.2.1: independent of FlexSlider init ----------
   Display the new gallery ONLY after the image UI is built. Keep WooCommerce's
   original gallery DOM intact and hidden for its variation image controller. */
body.single-product .woocommerce-product-gallery.an-woo-gallery-ready > .flex-viewport,
body.single-product .woocommerce-product-gallery.an-woo-gallery-ready > .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery.an-woo-gallery-ready > .flex-control-nav,
body.single-product .woocommerce-product-gallery.an-woo-gallery-ready > .flex-control-thumbs,
body.single-product .woocommerce-product-gallery.an-woo-gallery-ready > .woocommerce-product-gallery__trigger {
  display:none!important;
}
body.single-product .woocommerce-product-gallery.an-woo-gallery-ready > .an-woo-gallery {
  display:block!important;width:100%!important;max-width:100%!important;
  padding:0!important;margin:0!important;float:none!important;clear:both;
  box-sizing:border-box!important;
}
.an-woo-gallery,.an-woo-gallery * {box-sizing:border-box;}
.an-woo-gallery__stage {
  position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;aspect-ratio:5/5.8;max-height:630px;min-height:0;
  padding:clamp(10px,2vw,20px);background:#f7f3ed;
  border-radius:16px;overflow:hidden;
}
.an-woo-gallery__main-link {
  width:100%;height:100%;display:flex!important;align-items:center;justify-content:center;
  text-decoration:none!important;outline-offset:3px;
}
.an-woo-gallery__main-image {
  display:block!important;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
}
.an-woo-gallery :is(.an-woo-gallery__prev,.an-woo-gallery__next) {
  position:absolute!important;top:50%!important;transform:translateY(-50%)!important;
  z-index:3!important;display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;
  background:rgba(255,253,248,.93)!important;color:#45382f!important;
  border:1px solid #e6ddd4!important;border-radius:50%!important;
  padding:0 0 4px!important;margin:0!important;box-shadow:0 2px 10px rgba(39,30,23,.10)!important;
  font:400 31px/1 Arial,sans-serif!important;cursor:pointer!important;
}
.an-woo-gallery .an-woo-gallery__prev{left:11px!important;right:auto!important;}
.an-woo-gallery .an-woo-gallery__next{right:11px!important;left:auto!important;}
.an-woo-gallery :is(.an-woo-gallery__prev,.an-woo-gallery__next)[hidden]{display:none!important;}
.an-woo-gallery__counter {
  position:absolute;bottom:14px;right:14px;z-index:2;
  background:rgba(255,253,248,.94);color:#45382f;
  padding:5px 10px;border-radius:99px;font:600 12px/1.3 system-ui,sans-serif;
  box-shadow:0 1px 9px rgba(49,40,33,.07);
}
.an-woo-gallery__thumbs {
  box-sizing:border-box;display:flex!important;flex-wrap:nowrap!important;
  gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;
  width:100%!important;max-width:100%!important;
  padding:12px 2px 12px!important;margin:0!important;
  list-style:none;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;scroll-snap-type:x proximity;
}
.an-woo-gallery__thumbs[hidden]{display:none!important;}
.an-woo-gallery__thumbs .an-woo-gallery__thumb {
  appearance:none!important;display:block!important;position:relative;
  flex:0 0 76px!important;width:76px!important;min-width:76px!important;max-width:76px!important;
  height:76px!important;min-height:76px!important;max-height:76px!important;
  padding:4px!important;margin:0!important;cursor:pointer!important;
  background:#faf7f1!important;color:#45382f!important;
  border:2px solid #e6ddd4!important;border-radius:11px!important;
  overflow:hidden!important;scroll-snap-align:start;box-shadow:none!important;
}
.an-woo-gallery__thumbs .an-woo-gallery__thumb[aria-pressed="true"] {
  border-color:var(--an-shop-accent,#c98569)!important;
  box-shadow:0 0 0 1px var(--an-shop-accent,#c98569)!important;
}
.an-woo-gallery__thumbs .an-woo-gallery__thumb img {
  display:block!important;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;opacity:1!important;
  padding:0!important;margin:0!important;border-radius:5px!important;
  background:transparent!important;transform:none!important;
}
.an-woo-gallery :is(button,a):focus-visible,.an-woo-lightbox button:focus-visible {
  outline:2px solid var(--an-shop-accent,#c98569)!important;outline-offset:3px!important;
}
/* In-gallery full-screen viewer. Never applies to product image assets. */
body.an-woo-lightbox-open{overflow:hidden!important;}
.an-woo-lightbox:not([hidden]) {
  position:fixed;inset:0;z-index:999999;
  display:flex!important;align-items:center;justify-content:center;
  padding:clamp(16px,4vw,50px);background:rgba(26,23,21,.88);
}
.an-woo-lightbox[hidden]{display:none!important;}
.an-woo-lightbox__inner{
  display:flex;align-items:center;justify-content:center;position:relative;
  width:min(100%,1080px);height:min(100%,90dvh);min-height:0;
}
.an-woo-lightbox__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.an-woo-lightbox :is(button.an-woo-lightbox__close,button.an-woo-lightbox__prev,button.an-woo-lightbox__next) {
  position:absolute;z-index:5;display:grid;place-items:center;
  width:44px!important;height:44px!important;min-width:44px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;
  background:rgba(255,253,248,.95)!important;color:#45382f!important;
  font:400 33px/1 Arial,sans-serif!important;cursor:pointer!important;
}
.an-woo-lightbox__close{right:0;top:0;}
.an-woo-lightbox__prev{left:0;top:50%;transform:translateY(-50%);}
.an-woo-lightbox__next{right:0;top:50%;transform:translateY(-50%);}
.an-woo-lightbox__counter{position:absolute;bottom:0;left:50%;transform:translateX(-50%);color:#fff;font:600 12px/1.4 system-ui,sans-serif;padding:6px 12px;border-radius:99px;background:#2c2420;}
@media(max-width:600px){
  .an-woo-gallery__stage{aspect-ratio:5/6;max-height:480px;padding:10px;border-radius:12px;}
  .an-woo-gallery__thumbs{gap:8px!important;padding-top:10px!important;}
  .an-woo-gallery__thumbs .an-woo-gallery__thumb{flex-basis:64px!important;width:64px!important;min-width:64px!important;max-width:64px!important;height:64px!important;min-height:64px!important;max-height:64px!important;}
  .an-woo-gallery :is(.an-woo-gallery__prev,.an-woo-gallery__next){width:31px!important;height:31px!important;min-width:31px!important;font-size:28px!important;}
  .an-woo-lightbox__inner{height:85dvh;}
  .an-woo-lightbox :is(button.an-woo-lightbox__close,button.an-woo-lightbox__prev,button.an-woo-lightbox__next){width:38px!important;height:38px!important;min-width:38px!important;}
}
@media(prefers-reduced-motion:reduce){.an-woo-gallery__thumbs{scroll-behavior:auto!important;}}

/* -------------------------------------------------------------------------
   1.2.2 Gallery conflict repair
   WooCommerce's control-nav CSS above used display:flex!important, which had
   higher specificity than the 1.2.1 display:none rule. The old thumbnails
   remained visible under the new thumbnails. Ensure only ONE gallery is seen.
   This rule only applies after our replacement UI is built successfully.
   ------------------------------------------------------------------------- */
body.single-product div.product .woocommerce-product-gallery.an-woo-gallery-ready > :not(.an-woo-gallery),
body.single-product div.product .woocommerce-product-gallery.an-woo-gallery-ready .flex-control-nav.flex-control-thumbs,
body.single-product div.product .woocommerce-product-gallery.an-woo-gallery-ready .flex-control-nav,
body.single-product div.product .woocommerce-product-gallery.an-woo-gallery-ready .an-wc-gallery__thumbs,
body.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery.an-woo-gallery-ready > :not(.an-woo-gallery),
body.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery.an-woo-gallery-ready .flex-control-nav.flex-control-thumbs {
  display:none!important;visibility:hidden!important;
}
body.single-product div.product .woocommerce-product-gallery.an-woo-gallery-ready > .an-woo-gallery,
body.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery.an-woo-gallery-ready > .an-woo-gallery {
  display:block!important;visibility:visible!important;
}
/* The new gallery must never inherit the theme's FlexSlider float sizing. */
body.single-product div.product .woocommerce-product-gallery.an-woo-gallery-ready .an-woo-gallery__stage {
  width:100%!important;max-width:100%!important;
}
/* Keep classic summary from inheriting an accidental full-width widget rule. */
@media(min-width:901px){
 body.single-product .woocommerce div.product > div.woocommerce-product-gallery.images ~ div.summary,
 body.single-product.woocommerce div.product > div.woocommerce-product-gallery.images ~ div.summary{
   width:42%!important;max-width:42%!important;float:right!important;clear:none!important;
 }
}
/* The gallery and summary belong to separate full-width rows on mobile. */
@media(max-width:900px){
 body.single-product .woocommerce div.product > div.woocommerce-product-gallery.images ~ div.summary,
 body.single-product.woocommerce div.product > div.woocommerce-product-gallery.images ~ div.summary{
   width:100%!important;max-width:100%!important;float:none!important;clear:both!important;
 }
 body.single-product div.product > div.woocommerce-product-gallery.images {margin-bottom:20px!important;}
}
