.elementor-13204 .elementor-element.elementor-element-71d02de{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-13204 .elementor-element.elementor-element-54386c1{text-align:center;}.elementor-13204 .elementor-element.elementor-element-54386c1 .elementor-heading-title{font-family:"Prociono", Sans-serif;font-weight:600;color:#000000;}.elementor-13204 .elementor-element.elementor-element-45237eb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-13204 .elementor-element.elementor-element-a7887e3{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-search{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search.e-focus{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search .elementor-pagination{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-13204 .elementor-element.elementor-element-8fda879{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-13204 .elementor-element.elementor-element-d1c3e78{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-13204 .elementor-element.elementor-element-ac001aa{text-align:center;}.elementor-13204 .elementor-element.elementor-element-ac001aa .elementor-heading-title{font-family:"Prociono", Sans-serif;font-weight:600;color:#000000;}.elementor-widget-wc-categories .woocommerce .woocommerce-loop-category__title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-categories .woocommerce-loop-category__title .count{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-13204 .elementor-element.elementor-element-79fd06e.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-13204 .elementor-element.elementor-element-daad9d7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.products-heading-show .related-products > h2, .elementor-widget-wc-archive-products.products-heading-show .upsells > h2, .elementor-widget-wc-archive-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wc-archive-products .elementor-products-nothing-found{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-13204 .elementor-element.elementor-element-ca91ed9.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-13204 .elementor-element.elementor-element-ca91ed9.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-13204 .elementor-element.elementor-element-ecebf31{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-13204 .elementor-element.elementor-element-a7887e3{--grid-auto-flow:row;}.elementor-13204 .elementor-element.elementor-element-ca91ed9.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-13204 .elementor-element.elementor-element-a7887e3{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-13204 .elementor-element.elementor-element-ca91ed9.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for shortcode, class: .elementor-element-0e5fdda *//* ====== ATP Shop Layout ====== */
.atp-shop{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 14px 40px;
}

.atp-shop__top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.atp-shop__title{
  margin:0;
  font-size: clamp(22px, 2.2vw, 34px);
  line-height:1.15;
}

.atp-shop__sub{
  margin:6px 0 0;
  opacity:.7;
}

.atp-shop__search{
  display:flex;
  gap:10px;
  align-items:center;
  flex: 1 1 420px;
  justify-content:flex-end;
}

.atp-shop__input{
  flex: 1 1 320px;
  min-width: 220px;
  height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 12px;
  outline: none;
}

.atp-shop__btn{
  height: 46px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.15);
  background: #111;
  color:#fff;
  cursor:pointer;
  white-space:nowrap;
}

.atp-shop__btn--ghost{
  background: transparent;
  color: #111;
}

.atp-shop__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin: 10px 0 16px;
}

.atp-shop__status{
  font-size: 14px;
  opacity:.75;
}

/* tiny spinner */
.atp-shop__spinner{
  width:18px;
  height:18px;
  border-radius:50%;
  border: 2px solid rgba(0,0,0,.15);
  border-top-color: rgba(0,0,0,.7);
  animation: atpSpin .75s linear infinite;
}
@keyframes atpSpin { to { transform: rotate(360deg); } }

/* Keep Woo product grid nice */
.atp-shop__grid ul.products{
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  gap: 22px !important;
}

/* Desktop columns */
.atp-shop__grid.cols-4 ul.products{ grid-template-columns: repeat(4, 1fr) !important; }
.atp-shop__grid.cols-3 ul.products{ grid-template-columns: repeat(3, 1fr) !important; }
.atp-shop__grid.cols-2 ul.products{ grid-template-columns: repeat(2, 1fr) !important; }

/* Responsive */
@media (max-width: 1024px){
  .atp-shop__grid.cols-4 ul.products{ grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 767px){
  .atp-shop__search{ width:100%; justify-content:stretch; }
  .atp-shop__btn{ padding:0 12px; }
  .atp-shop__grid ul.products{ grid-template-columns: repeat(2, 1fr) !important; }
}

/* Empty state */
.atp-shop__empty{
  padding: 28px;
  border: 1px dashed rgba(0,0,0,.2);
  border-radius: 14px;
  opacity:.85;
}
/* ============================
   Woo Product Cards: equal height + 2-line titles
   Works on Shop/Archive grids
============================ */

/* 1) Make the product grid cards equal height */
.woocommerce ul.products{
  display: grid !important;
}

.woocommerce ul.products li.product{
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 2) Image consistent size (so cards align) */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product img{
  width: 100% !important;
  height: 220px !important;        /* adjust if you want */
  object-fit: cover !important;
  display: block !important;
}

/* 3) Title: max 2 lines then ... */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin: 10px 0 6px !important;
  line-height: 1.25 !important;

  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

/* 4) Optional: limit short description if your theme shows it */
.woocommerce ul.products li.product .woocommerce-product-details__short-description,
.woocommerce ul.products li.product .product-short-description,
.woocommerce ul.products li.product .excerpt{
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

/* 5) Keep price aligned and push buttons to bottom */
.woocommerce ul.products li.product .price{
  margin-top: auto !important;
  padding-top: 6px !important;
}

.woocommerce ul.products li.product .button{
  margin-top: 12px !important;
  width: 100% !important;
}

/* 6) Avoid weird spacing from theme */
.woocommerce ul.products li.product > *{
  float: none !important;
}/* End custom CSS */