/* Atelier Nora Studio 2.0. One scoped, responsive WooCommerce design system.
   The legacy custom product gallery and its stylesheet are disabled in 2.0.
   Elementor's actual widgets own the interactive cart, checkout and gallery. */
body.ans-v2-commerce {
  --an2-ink:var(--an-ink,#45382f);
  --an2-accent:var(--an-accent,#c98569);
  --an2-soft:var(--an-cream,#f8f5ee);
  --an2-warm:var(--an-sand,#e8dccb);
  --an2-muted:#76695f;
  --an2-line:#e9e0d5;
  --an2-paper:#fffefa;
  --an2-serif:var(--an-head,Georgia,serif);
  --an2-sans:var(--an-body,system-ui,sans-serif);
  color:var(--an2-ink);
}
/* Live-theme wrappers can be narrower than Elementor editor canvas. */
body.ans-v2-commerce :is(.site-main,.content-area,#content.site-content,.site-content > .container){
 max-width:none !important;width:100% !important;margin-inline:auto !important;padding-inline:0 !important;
}
body.ans-v2-commerce .an2,
body.ans-v2-commerce .an2 *{box-sizing:border-box;min-width:0;}
body.ans-v2-commerce .an2{width:100%;max-width:100%;margin-inline:auto;overflow:clip;font-family:var(--an2-sans);}
body.ans-v2-commerce .an2 .elementor-widget{min-width:0;max-width:100%;}
body.ans-v2-commerce .an2 .an2-container,
body.ans-v2-commerce .an2 .an2-product-top {width:100%;max-width:100%;}
body.ans-v2-commerce .an2 .an2-body{max-width:1220px;width:calc(100% - 64px);margin-inline:auto;padding-block:clamp(28px,4vw,64px);}
body.ans-v2-commerce .an2 .an2-hero{
  padding:clamp(45px,7vw,98px) max(32px,calc((100% - 1150px) / 2));
  background:var(--an2-soft);
  width:100%;max-width:100%;min-height:0;
  display:flex;flex-direction:column;gap:12px;
}
body.ans-v2-commerce .an2 .an2-hero-compact {padding-block:38px;}
body.ans-v2-commerce .an2 .an2-eyebrow .elementor-heading-title{
  color:var(--an2-accent);font-family:var(--an2-sans);
  font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
}
body.ans-v2-commerce .an2 .an2-display .elementor-heading-title {
  font-family:var(--an2-serif);font-weight:500;line-height:1.06;
  letter-spacing:-.035em;color:var(--an2-ink);font-size:clamp(40px,5vw,71px);
  max-width:850px;overflow-wrap:break-word;
}
body.ans-v2-commerce .an2 .an2-heading .elementor-heading-title,
body.ans-v2-commerce .an2 .an2-small-heading .elementor-heading-title {
  font-family:var(--an2-serif);line-height:1.13;font-weight:500;
  letter-spacing:-.03em;color:var(--an2-ink);font-size:clamp(29px,3.1vw,43px);
}
body.ans-v2-commerce .an2 .an2-small-heading .elementor-heading-title {font-size:clamp(24px,2.6vw,34px);}
body.ans-v2-commerce .an2 .an2-copy p,
body.ans-v2-commerce .an2 .an2-lead p {
  color:var(--an2-muted);line-height:1.75;margin:0;font-size:15px;font-family:var(--an2-sans);
}
body.ans-v2-commerce .an2 .an2-lead p {font-size:clamp(15px,1.4vw,18px);max-width:700px;}
body.ans-v2-commerce .an2 :is(.an2-btn,.an2-btn-outline) .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;width:auto;max-width:100%;font-weight:650;
  font-size:13px;line-height:1.4;padding:13px 23px;border-radius:999px;
  font-family:var(--an2-sans);text-decoration:none;box-shadow:none;
  background:var(--an2-ink);color:#fff;border:1px solid var(--an2-ink);
}
body.ans-v2-commerce .an2 .an2-btn-outline .elementor-button {
  background:transparent;color:var(--an2-ink);border-color:#d3c7b9;
}
body.ans-v2-commerce .an2 :is(.an2-btn,.an2-btn-outline) .elementor-button:hover{
  background:var(--an2-accent);border-color:var(--an2-accent);color:#fff;
}
body.ans-v2-commerce .an2 .an2-promise{
  width:100%;padding:34px max(32px,calc((100% - 1150px) / 2));
  border-block:1px solid var(--an2-line);background:#f7f1e9;
  display:flex;flex-direction:column;gap:8px;
}
body.ans-v2-commerce .an2 .an2-promise .elementor-heading-title {font-size:clamp(21px,2vw,31px);}
/* Home: inclusive language and three editorial category cards. */
body.ans-v2-commerce .an2 .an2-home-hero{background:linear-gradient(125deg,var(--an2-soft) 60%,#e8e7d9);}
body.ans-v2-commerce .an2 .an2-collection-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
body.ans-v2-commerce .an2 .an2-collection-card{
 display:flex;flex-direction:column;gap:12px;align-items:flex-start;
 padding:clamp(20px,2.7vw,38px);border:1px solid var(--an2-line);
 background:#f5eee5;border-radius:18px;min-height:280px;
}
body.ans-v2-commerce .an2 .an2-collection-kids{background:#e9ede3;}
body.ans-v2-commerce .an2 .an2-collection-home{background:#eee4df;}
body.ans-v2-commerce .an2 .an2-card-heading .elementor-heading-title{
 font-family:var(--an2-serif);font-size:clamp(24px,2.5vw,34px);font-weight:500;line-height:1.18;color:var(--an2-ink);
}
body.ans-v2-commerce .an2 .an2-collection-card .an2-btn-outline{margin-top:auto;}
/* Shop and archive layouts. Theme Builder supplies the actual products. */
body.ans-v2-commerce .an2 .an2-cat-widget ul.products,
body.ans-v2-commerce .an2 .an2-products ul.products,
body.ans-v2-commerce .an2 .an2-home-products-grid ul.products {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,2vw,24px);margin:22px 0 26px;padding:0;list-style:none;
}
body.ans-v2-commerce .an2 .an2-cat-widget ul.products{grid-template-columns:repeat(4,minmax(0,1fr));}
body.ans-v2-commerce .an2 .an2-home-products-grid ul.products{grid-template-columns:repeat(4,minmax(0,1fr));}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) ul.products:before,
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) ul.products:after{display:none;}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product,
body.ans-v2-commerce .an2 .an2-cat-widget li.product-category {
 float:none;margin:0;min-width:0;width:100%;max-width:100%;padding:12px 12px 18px;
 display:flex;flex-direction:column;align-items:stretch;background:#fff;
 border:1px solid var(--an2-line);border-radius:16px;overflow:hidden;
}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product > a{display:block;text-decoration:none;}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product img {
 width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;
 background:var(--an2-soft);border-radius:10px;margin:0 0 12px;
}
body.ans-v2-commerce .an2 .an2-cat-widget li.product img{aspect-ratio:4/3;}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) .woocommerce-loop-product__title,
body.ans-v2-commerce .an2 .an2-cat-widget h2.woocommerce-loop-category__title{
 font-family:var(--an2-serif);color:var(--an2-ink);font-size:clamp(17px,1.7vw,23px);
 font-weight:500;line-height:1.22;padding:0;margin:3px 0 8px;text-transform:none;letter-spacing:-.01em;
 overflow-wrap:break-word;
}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) .price {
 display:block;font-size:15px;color:var(--an2-ink);font-weight:700;font-family:var(--an2-sans);margin:0 0 12px;
}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product .button {
 display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;
 width:auto;max-width:100%;white-space:normal;text-align:center;
 font-size:12px;line-height:1.25;font-weight:650;text-transform:none;
 padding:11px 16px;margin-top:auto;border-radius:50px;
 background:var(--an2-ink);color:#fff;border:0;
}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product .button:hover{
 background:var(--an2-accent);color:#fff;
}
body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product .onsale{
 background:var(--an2-accent);color:white;border-radius:99px;border:0;}
body.ans-v2-commerce .an2 .an2-archive-title .elementor-heading-title {
 color:var(--an2-ink);font:500 clamp(36px,4.5vw,58px)/1.08 var(--an2-serif);
}
body.ans-v2-commerce .an2 .an2-archive-description {color:var(--an2-muted);max-width:800px;}
body.ans-v2-commerce .an2 .woocommerce-ordering select,
body.ans-v2-commerce .an2 .woocommerce form .form-row select{
 max-width:100%;padding:10px 14px;border:1px solid var(--an2-line);border-radius:10px;background:#fff;color:var(--an2-ink);
}
body.ans-v2-commerce .an2 .woocommerce-result-count {font-size:13px;color:var(--an2-muted);}
body.ans-v2-commerce .an2 .woocommerce-pagination {clear:both;margin-block:24px;}
/* Single product - two independent Elementor containers, no Woo float layout. */
body.ans-v2-commerce .an2 .an2-product-top{max-width:1220px;margin:0 auto;padding:34px 32px 42px;}
body.ans-v2-commerce .an2 .an2-product-main{
 display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
 gap:clamp(25px,4vw,62px);align-items:start;width:100%;margin-top:22px;
}
body.ans-v2-commerce .an2 .an2-product-media,
body.ans-v2-commerce .an2 .an2-product-info {width:100%;max-width:100%;min-width:0;}
body.ans-v2-commerce .an2 .an2-product-info {display:flex;flex-direction:column;gap:14px;}
body.ans-v2-commerce .an2 .an2-product-title .product_title{
 color:var(--an2-ink);font:500 clamp(37px,3.8vw,58px)/1.09 var(--an2-serif);
 letter-spacing:-.035em;overflow-wrap:break-word;margin:0;
}
body.ans-v2-commerce .an2 .an2-product-price :is(.price,.amount) {
 color:var(--an2-ink);font-family:var(--an2-sans);font-size:clamp(20px,2vw,28px);font-weight:650;
}
body.ans-v2-commerce .an2 .an2-product-short :is(p,ul) {color:var(--an2-muted);line-height:1.7;}
body.ans-v2-commerce .an2 .an2-native-gallery .woocommerce-product-gallery {
 box-sizing:border-box;float:none;width:100%;max-width:100%;margin:0;position:relative;
}
/* FlexSlider supplies an inline multi-slide width and translates this wrapper.
   Never clamp or clip it: doing so cuts off all slides after the first. */
body.ans-v2-commerce .an2 .an2-native-gallery .woocommerce-product-gallery__wrapper{
 max-width:none;margin:0;overflow:visible;
}
/* Only the FlexSlider VIEWPORT should clip slides during navigation. */
body.ans-v2-commerce .an2 .an2-native-gallery .woocommerce-product-gallery .flex-viewport{
 width:100%;max-width:100%;overflow:hidden;
}
/* Higher specificity for Elementor/theme defaults: don't override inline
   dimensions or transforms set by WooCommerce/FlexSlider itself. */
body.ans-v2-commerce .an2 .an2-native-gallery .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__wrapper{
 max-width:none!important;overflow:visible!important;
}
body.ans-v2-commerce .an2 .an2-native-gallery .woocommerce-product-gallery__wrapper img{
 width:100%;height:auto;max-height:620px;object-fit:contain;
 background:var(--an2-soft);border-radius:14px;
}
body.ans-v2-commerce .an2 .an2-native-gallery ol.flex-control-thumbs{
 display:flex;flex-wrap:nowrap;gap:10px;width:100%;overflow-x:auto;
 overscroll-behavior-x:contain;scroll-snap-type:x proximity;
 list-style:none;padding:10px 0 5px;margin:0;
}
body.ans-v2-commerce .an2 .an2-native-gallery .flex-control-thumbs li{
 float:none;width:clamp(62px,16%,92px);min-width:62px;flex:0 0 auto;margin:0;scroll-snap-align:start;
}
body.ans-v2-commerce .an2 .an2-native-gallery .flex-control-thumbs li img{
 display:block;width:100% !important;max-width:100%;height:auto;aspect-ratio:1;
 object-fit:contain;border-radius:9px;background:var(--an2-soft);
 padding:3px;border:1px solid var(--an2-line);opacity:.66;
}
body.ans-v2-commerce .an2 .an2-native-gallery .flex-control-thumbs li img.flex-active{
 opacity:1;border-color:var(--an2-accent);
}
body.ans-v2-commerce .an2 .an2-native-gallery .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper{
 display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;
}
body.ans-v2-commerce .an2 .an2-native-gallery .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper > *{
 flex:0 0 100%;scroll-snap-align:start;
}
body.ans-v2-commerce .an2 .an2-add-cart form.cart {width:100%;display:flex;flex-wrap:wrap;gap:13px;align-items:end;}
body.ans-v2-commerce .an2 .an2-add-cart form.cart table.variations{width:100%;border:0;border-collapse:separate;margin-bottom:6px;}
body.ans-v2-commerce .an2 .an2-add-cart form.cart table.variations tbody,
body.ans-v2-commerce .an2 .an2-add-cart form.cart table.variations tr{
 display:block;width:100%;border:0;
}
body.ans-v2-commerce .an2 .an2-add-cart form.cart table.variations td,
body.ans-v2-commerce .an2 .an2-add-cart form.cart table.variations th{
 display:block;width:100%;border:0;text-align:left;padding:0 0 8px;background:transparent;
}
body.ans-v2-commerce .an2 .an2-add-cart form.cart .variations label{
 font-size:13px;color:var(--an2-ink);font-weight:650;
}
body.ans-v2-commerce .an2 .an2-add-cart form.cart select{
 width:100%;max-width:100%;min-height:49px;border-radius:10px;
 border:1px solid #dacdc0;padding:10px 13px;background:white;color:var(--an2-ink);
}
body.ans-v2-commerce .an2 :is(.an2-add-cart,.an2-cart-widget,.an2-checkout-widget) .button,
body.ans-v2-commerce .an2 :is(.an2-add-cart,.an2-cart-widget,.an2-checkout-widget) #place_order {
 border-radius:999px;background:var(--an2-ink);color:white;border:0;min-height:46px;
 padding:13px 22px;font-size:13px;font-weight:650;line-height:1.3;text-transform:none;
}
body.ans-v2-commerce .an2 :is(.an2-add-cart,.an2-cart-widget,.an2-checkout-widget) .button:hover,
body.ans-v2-commerce .an2 :is(.an2-add-cart,.an2-cart-widget,.an2-checkout-widget) #place_order:hover{background:var(--an2-accent);color:white;}
body.ans-v2-commerce .an2 .an2-add-cart :is(.quantity .qty, input.qty){
 min-height:44px;width:68px;max-width:100%;border-radius:10px;border:1px solid var(--an2-line);
}
body.ans-v2-commerce .an2 .an2-product-hint p{font-size:12px;color:var(--an2-muted);line-height:1.65;}
body.ans-v2-commerce .an2 .an2-breadcrumb {font-size:12px;color:var(--an2-muted);}
body.ans-v2-commerce .an2 .an2-breadcrumb a {color:var(--an2-muted);}
body.ans-v2-commerce .an2 .an2-product-tabs .woocommerce-tabs{width:100%;}
body.ans-v2-commerce .an2 .an2-product-tabs .woocommerce-Tabs-panel{max-width:850px;line-height:1.7;}
/* Cart, checkout and account: Elementor Pro owns functional form layout. */
body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget,.an2-account-widget){width:100%;max-width:100%;}
body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) :is(.e-cart-section,.e-checkout__section){
 background:var(--an2-paper);border:1px solid var(--an2-line);border-radius:16px;padding:clamp(15px,2vw,26px);
}
body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) :is(.e-cart__column-start,.e-cart__column-end,.e-checkout__column-start,.e-checkout__column-end){min-width:0;max-width:100%;}
body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) :is(input.input-text,input.qty,textarea,select,.select2-selection){
 max-width:100%;min-height:44px;background:#fff;border:1px solid var(--an2-line);border-radius:9px;color:var(--an2-ink);
}
body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) :is(h2,h3,.e-cart-section__title,.e-checkout__section_title){
 color:var(--an2-ink);font-family:var(--an2-serif);font-size:clamp(21px,2vw,26px);font-weight:500;
}
body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) a{color:var(--an2-ink);}
body.ans-v2-commerce .an2 .an2-checkout-widget #place_order{width:100%;min-height:52px;}
body.ans-v2-commerce .an2 .an2-cart-widget img{max-width:110px;height:auto;object-fit:contain;}
body.ans-v2-commerce .an2 :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){
 border-color:var(--an2-accent);background:#f5eee6;color:var(--an2-ink);border-radius:10px;
}
@media(max-width:1024px){
 body.ans-v2-commerce .an2 .an2-collection-row{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.ans-v2-commerce .an2 .an2-product-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;}
 body.ans-v2-commerce .an2 .an2-cat-widget ul.products,
 body.ans-v2-commerce .an2 .an2-home-products-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
 body.ans-v2-commerce .an2 .an2-body{width:calc(100% - 36px);padding-block:30px;}
 body.ans-v2-commerce .an2 .an2-hero{padding:42px 18px 45px;gap:10px;}
 body.ans-v2-commerce .an2 .an2-display .elementor-heading-title{font-size:clamp(34px,8.7vw,49px);line-height:1.1;}
 body.ans-v2-commerce .an2 .an2-collection-row{grid-template-columns:1fr;gap:12px;}
 body.ans-v2-commerce .an2 .an2-collection-card{min-height:0;padding:25px;}
 body.ans-v2-commerce .an2 .an2-product-main{grid-template-columns:1fr;gap:26px;}
 body.ans-v2-commerce .an2 .an2-product-top{padding:24px 18px;}
 body.ans-v2-commerce .an2 .an2-product-title .product_title{font-size:clamp(31px,8vw,42px);}
 body.ans-v2-commerce .an2 .an2-products ul.products,
 body.ans-v2-commerce .an2 .an2-home-products-grid ul.products,
 body.ans-v2-commerce .an2 .an2-cat-widget ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product{
  padding:8px 8px 14px;border-radius:12px;}
 body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) .woocommerce-loop-product__title{font-size:17px;}
 body.ans-v2-commerce .an2 :is(.an2-products,.an2-home-products-grid,.an2-cat-widget) li.product .button{font-size:11px;padding:10px 12px;}
 body.ans-v2-commerce .an2 .an2-promise{padding:27px 18px;}
 body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) :is(.e-cart-section,.e-checkout__section){padding:15px;border-radius:12px;}
 body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) :is(.e-cart__container,.e-checkout__container){
  display:flex;flex-direction:column;gap:15px;}
 body.ans-v2-commerce .an2 :is(.an2-cart-widget,.an2-checkout-widget) :is(.e-cart__column-start,.e-cart__column-end,.e-checkout__column-start,.e-checkout__column-end){width:100%;}
 body.ans-v2-commerce .an2 .an2-checkout-widget :is(input.input-text,textarea,select){font-size:16px;}
}
@media(max-width:360px){
 body.ans-v2-commerce .an2 .an2-products ul.products,
 body.ans-v2-commerce .an2 .an2-home-products-grid ul.products,
 body.ans-v2-commerce .an2 .an2-cat-widget ul.products{grid-template-columns:1fr;}
 body.ans-v2-commerce .an2 .an2-display .elementor-heading-title{font-size:34px;}
}
@media(prefers-reduced-motion:reduce){
 body.ans-v2-commerce .an2 * {scroll-behavior:auto;transition-duration:0s;animation-duration:0s;}
}

/* Elementor archive-products sometimes sets inline columns; keep consistent responsive cards. */
body.ans-v2-commerce .an2 .an2-products .elementor-products-grid ul.products {display:grid;}
body.ans-v2-commerce .an2 .an2-products li.product .woocommerce-loop-product__link {text-decoration:none;}

/* Images are native Elementor widgets; owner can replace each photograph separately. */
body.ans-v2-commerce .an2 .an2-collection-card .an2-category-image{width:100%;}
body.ans-v2-commerce .an2 .an2-collection-card .an2-category-image img{
 display:block;width:100%;max-width:100%;height:clamp(136px,14vw,208px);object-fit:contain;
 background:rgba(255,255,255,.35);border-radius:10px;
}
@media(max-width:767px){body.ans-v2-commerce .an2 .an2-collection-card .an2-category-image img{height:174px;}}
