/* WooCommerce 11 integration layer. The theme intentionally avoids copying core templates. */
.beltrami-commerce{width:100%;color:#504b47}
.beltrami-commerce-shell{width:100%}
.beltrami-commerce .commerce-hero{margin-bottom:72px}
.beltrami-commerce .commerce-hero>picture{display:block;max-height:70vh;overflow:hidden}
.beltrami-commerce .commerce-hero>picture img{display:block;width:100%;height:min(70vh,820px);object-fit:cover}
.beltrami-commerce .commerce-hero .brand-intro{padding-bottom:16px!important}

.woocommerce-breadcrumb{width:min(1320px,calc(100% - 48px));margin:28px auto 36px!important;color:#777!important;font:300 10px/1.8 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:1.5px;text-transform:uppercase}
.woocommerce-breadcrumb a{text-decoration:none}
.breadcrumb-separator{margin:0 9px;color:#aaa}

.beltrami-commerce .woocommerce-notices-wrapper,
.beltrami-commerce .woocommerce-result-count,
.beltrami-commerce .woocommerce-ordering,
.beltrami-commerce ul.products,
.single-product .beltrami-commerce-shell > div.product.type-product,
.beltrami-commerce .related.products,
.beltrami-commerce .up-sells.products{width:min(1320px,calc(100% - 48px));margin-left:auto!important;margin-right:auto!important}

.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{margin:20px auto 34px!important;padding:16px 18px 16px 48px!important;border:0;border-top:1px solid #b9b7b0;background:#f7f6f3;color:#504b47;font-size:13px;line-height:1.7}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-error::before{top:16px;color:#504b47}
.woocommerce .woocommerce-message .button,.woocommerce .woocommerce-info .button{background:transparent;color:#2b2b28;text-decoration:underline;text-underline-offset:3px}

.woocommerce .woocommerce-result-count{margin-bottom:32px!important;font-size:11px;letter-spacing:1px;text-transform:uppercase}
.woocommerce .woocommerce-ordering{width:auto;margin-right:max(24px,calc((100vw - 1320px)/2))!important}
.woocommerce .woocommerce-ordering select{min-height:40px;padding:0 34px 0 10px;border:0;border-bottom:1px solid #b9b7b0;border-radius:0;background:#fff;color:#504b47;font:300 11px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}

.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:72px 28px;clear:both;padding:0!important;list-style:none!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:0!important;text-align:left}
.woocommerce ul.products li.product a{display:block;text-decoration:none}
.woocommerce ul.products li.product a img{display:block;width:100%!important;aspect-ratio:4/5;margin:0 0 20px!important;object-fit:cover;background:#f5f4f1}
.woocommerce ul.products li.product .woocommerce-loop-product__title{margin:0!important;padding:0!important;color:#504b47;font:italic 400 clamp(20px,1.8vw,24px)/1.18 "Bodoni Moda","Bodoni 72",Didot,serif!important;letter-spacing:.01em}
.woocommerce ul.products li.product .price{display:block;margin:12px 0 0!important;color:#504b47!important;font:300 12px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:.08em}
.woocommerce ul.products li.product .button{display:inline-block;margin:15px 0 0!important;padding:0 0 4px!important;border:0!important;border-bottom:1px solid #8e8d89!important;border-radius:0!important;background:transparent!important;color:#2b2b28!important;font:300 10px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:1.8px!important;text-transform:uppercase}
.woocommerce span.onsale{min-width:auto;min-height:auto;margin:12px!important;padding:5px 9px!important;border-radius:0;background:#2b2b28;color:#f0efeb;font:300 9px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase}

/* Single product: default Woo markup, design-system layout. */
.single-product .beltrami-commerce-shell > div.product.type-product{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:64px 74px;align-items:start}
.single-product .beltrami-commerce-shell > div.product.type-product::before,.single-product .beltrami-commerce-shell > div.product.type-product::after{display:none}
.single-product .woocommerce-product-gallery,.single-product div.product div.images{float:none!important;width:100%!important;margin:0!important}
.single-product .woocommerce-product-gallery__wrapper{margin:0}
.single-product .woocommerce-product-gallery__image img{width:100%;height:auto;object-fit:cover}
.single-product .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px!important}
.single-product .flex-control-thumbs li{float:none!important;width:auto!important}
.single-product .summary.entry-summary{float:none!important;width:100%!important;margin:0!important;padding:26px 0 0;position:sticky;top:92px}
.single-product .product_title{margin:0 0 18px!important;color:#504b47;font:italic 400 clamp(34px,4.5vw,58px)/1.05 "Bodoni Moda","Bodoni 72",Didot,serif!important}
.single-product .summary .price{margin:0 0 28px!important;color:#504b47!important;font:300 13px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:.08em}
.single-product .woocommerce-product-details__short-description{margin-bottom:30px;font-size:14px;line-height:2;letter-spacing:.05em}
.single-product form.cart{display:block!important;margin:0 0 30px!important;padding-top:8px}
.single-product form.cart .quantity{float:none!important;display:inline-block;margin:0 8px 10px 0!important}
.woocommerce .quantity .qty{width:74px;min-height:46px;padding:0 10px;border:1px solid #b9b7b0;border-radius:0;background:#fff;color:#2b2b28}
.woocommerce :is(button.button,.button.alt,a.button,input.button){min-height:46px;padding:12px 22px!important;border:1px solid #2b2b28!important;border-radius:0!important;background:transparent!important;color:#2b2b28!important;box-shadow:none!important;font:300 10px/1 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:1.7px!important;text-transform:uppercase!important;transition:background .2s ease,color .2s ease!important}
.woocommerce :is(button.button,.button.alt,a.button,input.button):hover{background:#2b2b28!important;color:#f0efeb!important}
.woocommerce :is(button.button,.button.alt,a.button,input.button):disabled{opacity:.4!important}
.single-product .variations{margin:0 0 22px!important;border-collapse:collapse}
.single-product .variations tr{display:block;margin-bottom:18px}
.single-product .variations th,.single-product .variations td{display:block;padding:0!important;text-align:left!important}
.single-product .variations label{display:block;margin:0 0 8px;font:300 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}
.single-product .variations select{width:100%;min-height:46px;padding:0 12px;border:1px solid #b9b7b0;border-radius:0;background:#fff;color:#504b47}
.single-product .reset_variations{display:inline-block;margin-top:8px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase}
.single-product .product_meta{padding-top:22px;border-top:1px solid #ddd;font-size:11px;line-height:1.9;letter-spacing:.08em;text-transform:uppercase}
.single-product .beltrami-product-after{width:100%;clear:both}.single-product .beltrami-product-after>.woocommerce-tabs{width:min(1320px,calc(100% - 48px));margin:76px auto 0!important;clear:both}
.single-product .woocommerce-tabs ul.tabs{padding:0!important;border-bottom:1px solid #b9b7b0}
.single-product .woocommerce-tabs ul.tabs::before{display:none!important}
.single-product .woocommerce-tabs ul.tabs li{margin:0 28px 0 0!important;padding:0 0 12px!important;border:0!important;border-radius:0!important;background:transparent!important}
.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after{display:none!important}
.single-product .woocommerce-tabs ul.tabs li a{padding:0!important;font:300 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:1.8px;text-transform:uppercase}
.single-product .woocommerce-tabs .panel{max-width:880px;padding:34px 0!important;font-size:14px;line-height:2;letter-spacing:.05em}
.single-product .beltrami-product-after>.related.products,.single-product .beltrami-product-after>.up-sells.products{width:min(1320px,calc(100% - 48px));margin:72px auto 0!important;padding-top:40px;border-top:1px solid #ddd;clear:both}
.single-product .related.products>h2,.single-product .up-sells.products>h2{margin:0 0 38px;color:#504b47;font:italic 400 clamp(28px,3vw,40px)/1.15 "Bodoni Moda","Bodoni 72",Didot,serif}

/* ThemeComplete Extra Product Options: style plugin output, do not replace its business logic. */
.single-product .tc-extra-product-options,.single-product .tm-extra-product-options{margin:28px 0!important}
.single-product .tc-extra-product-options :is(.tm-epo-field-label,.tc-cell.tc-epo-label),.single-product .tm-extra-product-options label{color:#504b47;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important}
.single-product .tc-extra-product-options :is(input[type="text"],input[type="number"],select,textarea),.single-product .tm-extra-product-options :is(input[type="text"],input[type="number"],select,textarea){border-radius:0!important;border-color:#b9b7b0!important;background:#fff!important;color:#504b47!important;box-shadow:none!important}

/* Cart / checkout / account use WooCommerce logic with brand styling. */
.woocommerce-cart .utility-content,.woocommerce-checkout .utility-content,.woocommerce-account .utility-content{max-width:1320px}
.woocommerce table.shop_table{border:0!important;border-collapse:collapse!important;border-radius:0!important}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:18px 12px!important;border:0!important;border-bottom:1px solid #ddd!important;font-weight:300}
.woocommerce table.shop_table th{font:300 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:1.5px;text-transform:uppercase}
.woocommerce table.shop_table .product-thumbnail img{width:96px!important}
.woocommerce-cart .cart-collaterals{margin-top:54px}
.woocommerce-cart .cart_totals{float:right!important;width:min(520px,100%)!important}
.woocommerce-cart .cart_totals h2,.woocommerce-checkout h3,.woocommerce-account h2{color:#504b47;font:italic 400 30px/1.15 "Bodoni Moda","Bodoni 72",Didot,serif}
.woocommerce form .form-row{margin:0 0 18px!important;padding:0!important}
.woocommerce form .form-row label{margin:0 0 7px;font:300 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.woocommerce form .form-row :is(input.input-text,textarea,select){min-height:46px;padding:10px 11px;border:1px solid #b9b7b0;border-radius:0;background:#fff;color:#504b47;box-shadow:none}
.woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none!important;width:100%!important}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{width:min(760px,100%);margin-left:auto;margin-right:auto}
.woocommerce-checkout #order_review_heading{margin-top:64px}
.woocommerce-checkout #payment{border-radius:0!important;background:#f5f4f1!important}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:#d1cfca!important}
.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:24%}
.woocommerce-account .woocommerce-MyAccount-content{float:right;width:70%}
.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid #ddd}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:13px 0;text-decoration:none;font:300 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase}

.woocommerce nav.woocommerce-pagination ul{border:0!important}
.woocommerce nav.woocommerce-pagination ul li{border:0!important;margin:0 4px!important}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:38px;padding:10px!important;background:transparent!important;color:#504b47!important}
.woocommerce nav.woocommerce-pagination ul li span.current{border-bottom:1px solid #504b47}

@media(max-width:900px){
  .beltrami-commerce .woocommerce-notices-wrapper,.beltrami-commerce .woocommerce-result-count,.beltrami-commerce ul.products,.single-product .beltrami-commerce-shell > div.product.type-product,.beltrami-commerce .related.products,.beltrami-commerce .up-sells.products,.woocommerce-breadcrumb{width:calc(100% - 32px)}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 16px}
  .single-product .beltrami-commerce-shell > div.product.type-product{grid-template-columns:1fr;gap:34px}
  .single-product .summary.entry-summary{position:static;padding-top:0}
  .woocommerce-checkout #customer_details{grid-template-columns:1fr;gap:24px}
  .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:100%}
  .woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:36px}
}
@media(max-width:560px){
  .woocommerce ul.products{grid-template-columns:1fr}
  .woocommerce .woocommerce-ordering{float:none;width:calc(100% - 32px);margin:0 auto 28px!important}
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce-cart table.cart .product-thumbnail{display:none}
}


/* 0.2.3 PDP structure fixes. The selector must target only the main div.product,
   never related li.product cards (they share the same WooCommerce classes). */
.single-product .beltrami-commerce-shell > div.product.type-product{
  width:min(1320px,calc(100% - 48px));
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;
  gap:64px 74px!important;
  align-items:start!important;
}
.single-product .beltrami-commerce-shell > div.product.type-product > .woocommerce-product-gallery,
.single-product .beltrami-commerce-shell > div.product.type-product > .summary.entry-summary{
  min-width:0;
}
.single-product .beltrami-product-after>.woocommerce-tabs,
.single-product .beltrami-product-after>.related.products,
.single-product .beltrami-product-after>.up-sells.products{
  box-sizing:border-box;
}
.single-product .beltrami-product-after .woocommerce-tabs .panel{
  margin-bottom:0!important;
}
.single-product .beltrami-product-after .related.products ul.products,
.single-product .beltrami-product-after .up-sells.products ul.products{
  width:100%!important;
  margin:0!important;
}
.single-product .beltrami-product-after ul.products li.product{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}
.single-product .beltrami-product-after ul.products li.product a img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/5;
  object-fit:cover;
}
@media(max-width:900px){
  .single-product .beltrami-commerce-shell > div.product.type-product{grid-template-columns:1fr!important;gap:44px!important}
  .single-product .summary.entry-summary{position:static!important;padding-top:0}
  .single-product .beltrami-product-after>.woocommerce-tabs,
  .single-product .beltrami-product-after>.related.products,
  .single-product .beltrami-product-after>.up-sells.products{width:calc(100% - 32px)}
}

/* 0.2.5 - Cart and checkout refinement. */

/* Cart: WooCommerce gives the coupon input a very narrow fixed width by default. */
.woocommerce-cart table.cart td.actions .coupon{
  display:flex;
  align-items:stretch;
  gap:10px;
}
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon #coupon_code{
  float:none!important;
  width:190px!important;
  min-width:150px;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #b9b7b0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#504b47!important;
  font:300 12px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:.04em;
  box-shadow:none!important;
}
.woocommerce-cart table.cart td.actions .coupon .button{
  display:inline-flex!important;
  min-height:46px!important;
  margin:0!important;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.2!important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex!important;
  min-height:48px!important;
  padding:0 24px!important;
  align-items:center;
  justify-content:center;
  text-align:center!important;
  line-height:1.2!important;
}

/* Checkout: give the classic checkout enough room for a real two-column address layout. */
.woocommerce-checkout .utility-content{
  width:min(1240px,calc(100% - 48px));
}
.woocommerce-checkout .utility-body{
  max-width:1120px;
}
.woocommerce-checkout form.checkout{
  width:100%;
}
.woocommerce-checkout #customer_details{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:58px 64px!important;
  align-items:start;
}
.woocommerce-checkout #customer_details>.col-1{
  grid-column:1;
  grid-row:1;
  float:none!important;
  width:100%!important;
  min-width:0;
}
.woocommerce-checkout #customer_details>.col-2{
  grid-column:2;
  grid-row:1;
  float:none!important;
  width:100%!important;
  min-width:0;
}
.woocommerce-checkout #customer_details .woocommerce-shipping-fields{
  width:100%;
  min-width:0;
}
/* theme.js moves this standard WooCommerce block directly after #customer_details.
   Field names, validation and Checkout Manager ownership are unchanged. */
.woocommerce-checkout .woocommerce-additional-fields{
  width:100%;
  min-width:0;
  margin-top:58px;
  padding-top:46px;
  border-top:1px solid #c0c0be;
}

.woocommerce-checkout .woocommerce-billing-fields>h3,
.woocommerce-checkout #ship-to-different-address{
  margin:0 0 30px!important;
  color:#504b47;
  font:italic 400 30px/1.15 "Bodoni Moda","Bodoni 72",Didot,serif!important;
}
.woocommerce-checkout #ship-to-different-address label{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0!important;
  cursor:pointer;
  font:italic 400 30px/1.15 "Bodoni Moda","Bodoni 72",Didot,serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.woocommerce-checkout #ship-to-different-address-checkbox{
  flex:0 0 15px;
  width:15px!important;
  height:15px!important;
  margin:0!important;
}
/* Woo checkout JS normally performs this toggle. This is a visual fallback so
   the shipping form is guaranteed to start collapsed when the box is clear. */
.woocommerce-checkout #ship-to-different-address:not(:has(#ship-to-different-address-checkbox:checked)) + .shipping_address{
  display:none!important;
}
.woocommerce-checkout .shipping_address{
  margin-top:0;
}

/* Address field grids. Plugin conditionals remain untouched. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 16px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row{
  float:none!important;
  width:100%!important;
  min-width:0;
  margin:0!important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-wide,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-wide{
  grid-column:1/-1;
}
.woocommerce-checkout .select2-container .select2-selection--single{
  height:46px!important;
  border:1px solid #b9b7b0!important;
  border-radius:0!important;
  background:#fff!important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{
  padding:8px 34px 8px 11px!important;
  color:#504b47!important;
  line-height:28px!important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{
  height:44px!important;
}

/* Extra customer fields supplied by WooCommerce Checkout Manager. */
.woocommerce-checkout .beltrami-checkout-additional-intro{
  max-width:820px;
  margin:0 0 34px;
}
.woocommerce-checkout .beltrami-checkout-section-label{
  margin:0 0 12px;
  color:#8e8d89;
  font:300 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:1.7px;
  text-transform:uppercase;
}
.woocommerce-checkout .beltrami-checkout-additional-intro h3{
  margin:0!important;
  max-width:760px;
  color:#504b47;
  font:italic 400 clamp(25px,3vw,34px)/1.2 "Bodoni Moda","Bodoni 72",Didot,serif!important;
}
.woocommerce-checkout .wooccm-additional-fields{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px 16px;
}
.woocommerce-checkout .wooccm-additional-fields>.form-row{
  float:none!important;
  width:100%!important;
  min-width:0;
  margin:0!important;
}
.woocommerce-checkout .wooccm-additional-fields .wooccm-clearfix{
  display:none;
}
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
  margin-top:34px;
}
.woocommerce-checkout #order_comments_field{
  margin:0!important;
}
.woocommerce-checkout #order_comments_field label{
  display:block;
  max-width:900px;
  margin-bottom:13px;
  color:#504b47;
  font:300 13px/1.75 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.04em;
  text-transform:none;
}
.woocommerce-checkout #order_comments{
  min-height:112px;
  resize:vertical;
}

/* Order review and payment area. */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  width:min(900px,100%);
  margin-left:auto;
  margin-right:auto;
}
.woocommerce-checkout #order_review_heading{
  margin-top:78px!important;
  margin-bottom:24px;
}
.woocommerce-checkout #payment{
  margin-top:26px;
  padding:0!important;
  border-top:1px solid #c0c0be;
  border-bottom:1px solid #c0c0be;
  border-radius:0!important;
  background:transparent!important;
}
.woocommerce-checkout #payment ul.payment_methods{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.woocommerce-checkout #payment ul.payment_methods>li{
  margin:0!important;
  padding:17px 0!important;
  border-bottom:1px solid #d7d3cb;
}
.woocommerce-checkout #payment ul.payment_methods>li:last-child{
  border-bottom:0;
}
.woocommerce-checkout #payment ul.payment_methods>li>label{
  font:300 12px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.04em;
}
.woocommerce-checkout #payment div.payment_box{
  margin:15px 0 0!important;
  padding:16px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:#e8e6e1!important;
  color:#504b47!important;
  font-size:12px;
  line-height:1.7;
}
.woocommerce-checkout #payment div.payment_box:before{
  display:none!important;
}
.woocommerce-checkout #payment .form-row.place-order{
  margin:0!important;
  padding:30px 0 0!important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  margin:0 0 24px;
  padding:25px 0 0;
  border-top:1px solid #d7d3cb;
}
.woocommerce-checkout .woocommerce-privacy-policy-text{
  margin:0 0 24px;
  color:#6f6b66;
  font-size:12px;
  line-height:1.75;
}
.woocommerce-checkout .woocommerce-privacy-policy-text p{
  margin:0;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper>.form-row,
.woocommerce-checkout .beltrami-marketing-consent{
  margin:0!important;
  padding:16px 0!important;
  border-top:1px solid #e0ddd7;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper>.form-row label,
.woocommerce-checkout .beltrami-marketing-consent label{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0!important;
  color:#504b47;
  font:300 12px/1.65 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  cursor:pointer;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.woocommerce-checkout .beltrami-marketing-consent input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  margin:2px 0 0!important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a,
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .beltrami-marketing-consent a{
  text-decoration:underline;
  text-underline-offset:3px;
}
.woocommerce-checkout #ppcp-recaptcha-v2-container{
  margin:18px 0!important;
}
.woocommerce-checkout #payment .place-order>#place_order{
  /* Do not force display with !important: PayPal Payments intentionally injects
     hidden #place_order buttons and toggles them per selected gateway. */
  display:flex;
  width:100%!important;
  min-height:52px!important;
  margin:22px 0 0!important;
  padding:0 28px!important;
  align-items:center;
  justify-content:center;
  border:1px solid #2b2b28!important;
  background:#2b2b28!important;
  color:#f0efeb!important;
  text-align:center!important;
  font:300 10px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:2px!important;
  text-transform:uppercase!important;
}
.woocommerce-checkout #payment .place-order>#place_order:hover,
.woocommerce-checkout #payment .place-order>#place_order:focus-visible{
  background:transparent!important;
  color:#2b2b28!important;
}

@media(max-width:900px){
  .woocommerce-checkout .utility-content{width:calc(100% - 32px)}
  .woocommerce-checkout .utility-body{max-width:760px}
  .woocommerce-checkout #customer_details{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }
  .woocommerce-checkout #customer_details>.col-1,
  .woocommerce-checkout #customer_details>.col-2{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .woocommerce-checkout .woocommerce-additional-fields{
    margin-top:46px;
  }
  .woocommerce-checkout .wooccm-additional-fields{
    grid-template-columns:1fr;
  }
}
@media(max-width:600px){
  .woocommerce-cart table.cart td.actions .coupon{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    width:100%;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .coupon #coupon_code{
    width:100%!important;
    min-width:0;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
    grid-template-columns:1fr;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row{
    grid-column:1!important;
  }
  .woocommerce-checkout #ship-to-different-address label{
    font-size:25px!important;
  }
}

/* 0.2.5.1 checkout/cart micro-alignment fixes. */
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.wooccm-additional-fields) .form-row>label.required_field{
  white-space:nowrap;
}
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.wooccm-additional-fields) .form-row>label .required{
  display:inline!important;
  vertical-align:baseline;
}
.woocommerce-cart .return-to-shop .button.wc-backward{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px;
  padding:0 24px!important;
  line-height:1!important;
  text-align:center!important;
}

/* 0.2.5.4 - Designer-aligned WooCommerce taxonomy archives. */
.tax-product_cat .beltrami-commerce .commerce-hero,
.tax-product_tag .beltrami-commerce .commerce-hero{
  margin-bottom:112px;
}
.woocommerce ul.products li.product a img{
  margin-bottom:0!important;
}
.woocommerce ul.products li.product .product-collection-eyebrow{
  margin:18px 0 5px;
  color:#8e8d89;
  font:300 9px/1.45 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin:0!important;
  padding:0!important;
  color:#504b47;
  font:italic 400 clamp(22px,1.9vw,28px)/1.15 "Bodoni Moda","Bodoni 72",Didot,serif!important;
  letter-spacing:.01em;
}
.woocommerce ul.products li.product .product-cta{
  display:inline-block;
  margin-top:13px;
  padding-bottom:3px;
  border-bottom:1px solid #8e8d89;
  color:#2b2b28;
  font:300 10px/1.25 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .tax-product_cat .beltrami-commerce .commerce-hero,
  .tax-product_tag .beltrami-commerce .commerce-hero{margin-bottom:86px}
}
@media(max-width:600px){
  .tax-product_cat .beltrami-commerce .commerce-hero,
  .tax-product_tag .beltrami-commerce .commerce-hero{margin-bottom:72px}
  .woocommerce ul.products li.product .product-collection-eyebrow{margin-top:14px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:22px!important}
}

/* 0.2.13 - Designer checkout QA fixes. */

/* Coupon and YITH Gift Card prompts must read as the same component. */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .ywgc_have_code{
  box-sizing:border-box;
  width:100%;
  min-height:0!important;
  margin:20px auto 34px!important;
  padding:16px 18px 16px 48px!important;
  border:0!important;
  border-top:1px solid #b9b7b0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
  border-radius:0!important;
  background:#f7f6f3!important;
  color:#504b47!important;
  box-shadow:none!important;
  font:300 13px/1.7 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
}
.woocommerce-checkout .ywgc_have_code{
  position:relative;
}
.woocommerce-checkout .ywgc_have_code::before{
  content:"\e016";
  position:absolute;
  top:16px;
  left:18px;
  color:#504b47;
  font-family:WooCommerce!important;
  font-size:14px;
  font-style:normal;
  font-weight:400;
  line-height:1.7;
}
.woocommerce-checkout .ywgc_have_code::after{
  display:none!important;
  content:none!important;
}
.woocommerce-checkout .ywgc_have_code>*,
.woocommerce-checkout .ywgc_have_code p{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font:inherit!important;
}
.woocommerce-checkout .ywgc_have_code a,
.woocommerce-checkout .woocommerce-form-coupon-toggle a{
  color:#2b2b28!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}

/* Keep the revealed gift-card form visually consistent with the coupon form. */
.woocommerce-checkout :is(.checkout_coupon.woocommerce-form-coupon,.ywgc_enter_code){
  box-sizing:border-box;
  width:100%;
  margin:-18px 0 34px!important;
  padding:20px!important;
  border:1px solid #d7d3cb!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.woocommerce-checkout .ywgc_enter_code .form-row{
  float:none!important;
  margin:0 0 10px!important;
}
.woocommerce-checkout .ywgc_enter_code :is(input#giftcard_code,input.input-text){
  min-height:46px!important;
  padding:10px 11px!important;
  border:1px solid #b9b7b0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#504b47!important;
  box-shadow:none!important;
}
.woocommerce-checkout .ywgc_enter_code .ywgc_apply_gift_card_button{
  min-height:46px!important;
  border-radius:0!important;
}

/* Shipping phone is functionally required by Checkout Manager: make its label match. */
.woocommerce-checkout #shipping_phone_field label .optional{
  display:none!important;
}
.woocommerce-checkout #shipping_phone_field label .required{
  display:inline!important;
  position:static!important;
  margin-left:2px!important;
  color:#a00!important;
  vertical-align:baseline!important;
}
.woocommerce-checkout #shipping_phone_field label:not(:has(.required))::after{
  content:" *";
  color:#a00;
}

/* Designer requested a clean two-column label/value rhythm in Your order. */
.woocommerce-checkout #order_review_heading{
  box-sizing:border-box;
  padding-left:12px;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation{
  display:grid!important;
  grid-template-columns:minmax(90px,max-content) minmax(0,1fr);
  column-gap:16px;
  row-gap:4px;
  margin:9px 0 0!important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation::before,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation::after{
  display:none!important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation dt,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation dd{
  float:none!important;
  width:auto!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
  clear:none!important;
  line-height:1.55;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation dt{
  grid-column:1;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation dd{
  grid-column:2;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation dd p{
  margin:0!important;
}

/* The terms-required star used to fall into a new grid cell below the checkbox. */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .required{
  display:inline!important;
  position:static!important;
  margin-left:3px!important;
  color:#a00!important;
  vertical-align:baseline!important;
  line-height:inherit!important;
}

@media(max-width:600px){
  .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-name dl.variation{
    grid-template-columns:minmax(82px,max-content) minmax(0,1fr);
    column-gap:12px;
  }
  .woocommerce-checkout :is(.checkout_coupon.woocommerce-form-coupon,.ywgc_enter_code){
    padding:16px!important;
  }
}

/* 0.2.14 - Designer cart and order-received QA fixes. */

/* Cart: reduce the YITH gift-card callout to the same compact control language
   used by the coupon field/button instead of the plugin's oversized panel. */
.woocommerce-cart .ywgc_have_code{
  box-sizing:border-box;
  width:fit-content;
  max-width:100%;
  min-height:0!important;
  margin:0 0 28px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#504b47!important;
}
.woocommerce-cart .ywgc_have_code::before,
.woocommerce-cart .ywgc_have_code::after{
  display:none!important;
  content:none!important;
}
.woocommerce-cart .ywgc_have_code p{
  display:inline-flex!important;
  min-height:46px;
  max-width:100%;
  margin:0!important;
  padding:0 0 0 12px!important;
  align-items:center;
  gap:12px;
  border:1px solid #b9b7b0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#504b47!important;
  font:300 12px/1.35 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:.04em;
}
.woocommerce-cart .ywgc_have_code a{
  display:inline-flex!important;
  align-self:stretch;
  min-height:46px;
  margin:-1px -1px -1px 0!important;
  padding:0 20px!important;
  align-items:center;
  justify-content:center;
  border:1px solid #2b2b28!important;
  border-radius:0!important;
  background:transparent!important;
  color:#2b2b28!important;
  font:300 10px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:1.7px!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}
.woocommerce-cart .ywgc_have_code a:hover,
.woocommerce-cart .ywgc_have_code a:focus-visible{
  background:#2b2b28!important;
  color:#f0efeb!important;
}

/* Revealed YITH gift-card form: same dimensions/borders as the cart coupon. */
.woocommerce-cart .ywgc_enter_code{
  box-sizing:border-box;
  max-width:480px;
  margin:0 0 28px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.woocommerce-cart .ywgc_enter_code .form-row{
  float:none!important;
  width:auto!important;
  margin:0 0 10px!important;
  padding:0!important;
}
.woocommerce-cart .ywgc_enter_code :is(input#giftcard_code,input.input-text){
  width:190px!important;
  max-width:100%;
  min-height:46px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #b9b7b0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#504b47!important;
  box-shadow:none!important;
  font:300 12px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:.04em;
}
.woocommerce-cart .ywgc_enter_code .ywgc_apply_gift_card_button{
  display:inline-flex!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 20px!important;
  align-items:center;
  justify-content:center;
  border-radius:0!important;
  line-height:1.2!important;
}

/* Cart item customizations: stable label/value columns, mirroring checkout. */
.woocommerce-cart table.cart .product-name dl.variation{
  display:grid!important;
  grid-template-columns:minmax(104px,max-content) minmax(0,1fr);
  column-gap:16px;
  row-gap:5px;
  margin:10px 0 0!important;
}
.woocommerce-cart table.cart .product-name dl.variation::before,
.woocommerce-cart table.cart .product-name dl.variation::after{
  display:none!important;
}
.woocommerce-cart table.cart .product-name dl.variation dt,
.woocommerce-cart table.cart .product-name dl.variation dd{
  float:none!important;
  width:auto!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
  clear:none!important;
  line-height:1.55;
}
.woocommerce-cart table.cart .product-name dl.variation dt{grid-column:1}
.woocommerce-cart table.cart .product-name dl.variation dd{grid-column:2}
.woocommerce-cart table.cart .product-name dl.variation dd p{margin:0!important}

/* Order received: give custom item data the same label/value rhythm and keep
   the total in its own stable column when a customization contains long copy. */
.woocommerce-order-received .woocommerce-order-details table.order_details .product-name{
  width:auto;
  padding-right:32px!important;
  vertical-align:top!important;
}
.woocommerce-order-received .woocommerce-order-details table.order_details .product-total{
  width:150px;
  min-width:150px;
  text-align:right!important;
  vertical-align:top!important;
}
.woocommerce-order-received .woocommerce-order-details .wc-item-meta{
  margin:10px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.woocommerce-order-received .woocommerce-order-details .wc-item-meta li{
  display:grid!important;
  grid-template-columns:minmax(112px,max-content) minmax(0,1fr);
  column-gap:16px;
  row-gap:0;
  margin:0 0 5px!important;
  padding:0!important;
  align-items:start;
  line-height:1.55;
}
.woocommerce-order-received .woocommerce-order-details .wc-item-meta-label{
  grid-column:1;
  margin:0!important;
  font-weight:300!important;
}
.woocommerce-order-received .woocommerce-order-details .wc-item-meta li>p{
  grid-column:2;
  margin:0!important;
}
.woocommerce-order-received .woocommerce-order-details .product-description{
  max-width:100%;
  margin:10px 0 0!important;
}
.woocommerce-order-received .woocommerce-order-details .product-description p{
  margin:0!important;
  line-height:1.65;
}

@media(max-width:600px){
  .woocommerce-cart .ywgc_have_code,
  .woocommerce-cart .ywgc_have_code p{
    width:100%;
  }
  .woocommerce-cart .ywgc_have_code p{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .woocommerce-cart table.cart .product-name dl.variation,
  .woocommerce-order-received .woocommerce-order-details .wc-item-meta li{
    grid-template-columns:minmax(88px,max-content) minmax(0,1fr);
    column-gap:12px;
  }
  .woocommerce-order-received .woocommerce-order-details table.order_details .product-total{
    width:auto;
    min-width:0;
  }
}


/* 0.2.15 - Generic Shop + mobile commerce QA. */

/* Generic Shop keeps sorting but not WooCommerce's "Showing x-y of z results" copy. */
.post-type-archive-product .woocommerce-result-count{
  display:none!important;
}

/* Cart remove action: trash icon + explicit text instead of an ambiguous ×. */
.woocommerce-cart a.remove.beltrami-cart-remove{
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  min-height:32px;
  margin:0!important;
  padding:5px 0!important;
  align-items:center;
  gap:7px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#504b47!important;
  font:300 10px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:1.6px;
  text-decoration:none!important;
  text-transform:uppercase;
}
.woocommerce-cart a.remove.beltrami-cart-remove:hover,
.woocommerce-cart a.remove.beltrami-cart-remove:focus-visible{
  background:transparent!important;
  color:#2b2b28!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
.woocommerce-cart .beltrami-cart-remove-icon{
  width:15px;
  height:15px;
  flex:0 0 15px;
  fill:currentColor;
}

/* Shipping calculator country: reserve space for one predictable chevron. */
.woocommerce-cart .shipping-calculator-form select.country_to_state,
.woocommerce-cart .shipping-calculator-form select#calc_shipping_country{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:46px!important;
  padding:10px 42px 10px 12px!important;
  border:1px solid #b9b7b0!important;
  border-radius:0!important;
  appearance:none;
  -webkit-appearance:none;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23504b47' stroke-width='1.2'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:12px 8px!important;
  color:#504b47!important;
}
.woocommerce-cart .shipping-calculator-form .select2-container{
  width:100%!important;
}
.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection--single{
  min-height:46px!important;
  border:1px solid #b9b7b0!important;
  border-radius:0!important;
  background:#fff!important;
}
.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection--single .select2-selection__rendered{
  padding:8px 44px 8px 12px!important;
  color:#504b47!important;
  line-height:28px!important;
}
.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection--single .select2-selection__arrow{
  right:10px!important;
  width:26px!important;
  height:44px!important;
}

@media(max-width:600px){
  /* Keep cart customization labels and values in a predictable two-column grid. */
  .woocommerce-cart table.cart .product-name dl.variation{
    grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
    column-gap:10px!important;
    row-gap:7px!important;
    width:100%;
  }
  .woocommerce-cart table.cart .product-name dl.variation dt,
  .woocommerce-cart table.cart .product-name dl.variation dd,
  .woocommerce-cart table.cart .product-name dl.variation dd p{
    text-align:left!important;
    overflow-wrap:anywhere;
  }

  /* Coupon: on narrow screens use a simple full-width field + full-width CTA. */
  .woocommerce-cart table.cart td.actions .coupon{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"coupon-field" "coupon-button";
    gap:10px!important;
    width:100%!important;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .coupon #coupon_code{
    grid-area:coupon-field;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
  }
  .woocommerce-cart table.cart td.actions .coupon .button{
    grid-area:coupon-button;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    float:none!important;
  }

  /* Gift card follows the same compact mobile rhythm as the coupon. */
  .woocommerce-cart .ywgc_have_code{
    width:100%!important;
    margin-bottom:22px!important;
  }
  .woocommerce-cart .ywgc_have_code p{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    padding:0 0 0 12px!important;
    align-items:center;
    flex-wrap:wrap;
    gap:0!important;
  }
  .woocommerce-cart .ywgc_have_code a{
    min-height:46px!important;
    margin:-1px -1px -1px auto!important;
    padding:0 16px!important;
    flex:0 0 auto;
  }
  .woocommerce-cart .ywgc_enter_code,
  .woocommerce-cart .ywgc_enter_code .form-row{
    width:100%!important;
    max-width:none!important;
  }
  .woocommerce-cart .ywgc_enter_code :is(input#giftcard_code,input.input-text),
  .woocommerce-cart .ywgc_enter_code .ywgc_apply_gift_card_button{
    width:100%!important;
    max-width:none!important;
  }

  /* Remove action should read as an action, not as a floating red symbol. */
  .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove{
    display:flex!important;
    justify-content:flex-start!important;
    margin-top:24px!important;
    padding-top:18px!important;
    border-top:1px solid rgba(80,75,71,.18)!important;
    text-align:left!important;
  }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove::before{
    display:none!important;
    content:none!important;
  }
  .woocommerce-cart a.remove.beltrami-cart-remove{
    min-height:36px;
    padding:7px 0!important;
  }

  /* Terms star stays with the agreement text even after checkout AJAX refreshes. */
  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label .required{
    white-space:nowrap!important;
  }
}
