:root{
  --cfas-box-width:310px;--cfas-box-width-tablet:280px;--cfas-box-width-mobile:240px;--cfas-box-max-width:none;--cfas-box-height:46px;
  --cfas-box-bg:#fff;--cfas-box-border-color:#9c8d82;--cfas-box-border-width:1px;--cfas-box-radius:2px;--cfas-box-shadow:none;
  --cfas-input-color:#2c2c2c;--cfas-placeholder-color:#57504b;--cfas-icon-color:#2c2c2c;--cfas-input-font-size:14px;--cfas-input-font-weight:500;--cfas-input-padding:15px;
  --cfas-header-top:20px;--cfas-header-side:30px;--cfas-footer-bottom:20px;--cfas-footer-side:30px;--cfas-mount-zindex:9999;
  --cfas-results-bg:#fff;--cfas-results-padding-top:30px;--cfas-results-padding-side:32px;--cfas-results-padding-bottom:60px;--cfas-results-max-width:none;--cfas-results-zindex:50;
  --cfas-cols-desktop:5;--cfas-cols-tablet:3;--cfas-cols-mobile:2;--cfas-gap-x:18px;--cfas-gap-y:32px;
  --cfas-card-bg:#fff;--cfas-card-border-color:#eee;--cfas-card-border-width:0px;--cfas-card-radius:0px;--cfas-card-padding:0px;--cfas-card-shadow:none;
  --cfas-image-ratio:1/1;--cfas-image-fit:cover;--cfas-image-bg:#f7f7f5;--cfas-image-radius:0px;
  --cfas-title-color:#253521;--cfas-title-font-size:15px;--cfas-title-font-weight:600;--cfas-price-color:#222;--cfas-price-font-size:15px;--cfas-price-font-weight:700;--cfas-meta-align:left;--cfas-reference-title-lines:3;--cfas-reference-excerpt-lines:2;--cfas-reference-title-height:4.05em;--cfas-reference-excerpt-height:2.90em;
  --cfas-button-bg:#178542;--cfas-button-color:#fff;--cfas-button-radius:0px;--cfas-button-height:42px;--cfas-button-font-size:12px;--cfas-button-font-weight:700;
  --cfas-controls-height:38px;--cfas-controls-radius:3px;--cfas-controls-border-color:#b9b9b9;--cfas-controls-bg:#fff;--cfas-controls-color:#222;--cfas-quantity-button-width:36px;
  --cfas-wishlist-size:34px;--cfas-wishlist-icon-size:18px;--cfas-wishlist-bg:#fff;--cfas-wishlist-color:#2f5d35;--cfas-wishlist-active-color:#d92d4b;--cfas-wishlist-border-color:#d9e1da;--cfas-wishlist-radius:50%;
}
.cfas-root{box-sizing:border-box;font-family:inherit;line-height:normal;width:var(--cfas-box-width);max-width:var(--cfas-box-max-width)}
.cfas-root *,.cfas-results-shell *{box-sizing:border-box}
.cfas-search-box{width:100%;max-width:100%;height:var(--cfas-box-height);display:flex;align-items:center;background:var(--cfas-box-bg);border:var(--cfas-box-border-width) solid var(--cfas-box-border-color);border-radius:var(--cfas-box-radius);box-shadow:var(--cfas-box-shadow);overflow:hidden;transition:box-shadow .18s,border-color .18s}
.cfas-search-box:focus-within{box-shadow:var(--cfas-box-shadow),0 0 0 2px rgba(0,0,0,.04)}
.cfas-input{-webkit-appearance:none;appearance:none;width:100%!important;min-width:0!important;height:100%!important;margin:0!important;padding:0 var(--cfas-input-padding)!important;border:0!important;border-radius:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;color:var(--cfas-input-color)!important;font:inherit!important;font-size:var(--cfas-input-font-size)!important;font-weight:var(--cfas-input-font-weight)!important;line-height:1.2!important}
.cfas-input::-webkit-search-cancel-button{cursor:pointer}.cfas-input::placeholder{color:var(--cfas-placeholder-color)!important;opacity:1!important}
.cfas-icon-button{-webkit-appearance:none;appearance:none;flex:0 0 var(--cfas-box-height);width:var(--cfas-box-height);height:100%;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:0!important;display:flex;align-items:center;justify-content:center;color:var(--cfas-icon-color)!important;cursor:pointer}
.cfas-search-icon{width:16px;height:16px;border:1.8px solid currentColor;border-radius:50%;display:block;position:relative}.cfas-search-icon:after{content:"";position:absolute;width:7px;height:1.8px;background:currentColor;right:-5px;bottom:-2px;transform:rotate(45deg);transform-origin:left center;border-radius:2px}
.cfas-mount-relative{position:relative!important}.cfas-auto-positioned{position:absolute!important;z-index:var(--cfas-mount-zindex);margin:0!important}.cfas-auto-positioned[data-location="header"]{top:var(--cfas-header-top);bottom:auto}.cfas-auto-positioned[data-location="footer"]{bottom:var(--cfas-footer-bottom);top:auto}.cfas-auto-positioned[data-location="header"][data-position="left"]{left:var(--cfas-header-side);right:auto}.cfas-auto-positioned[data-location="header"][data-position="right"]{right:var(--cfas-header-side);left:auto}.cfas-auto-positioned[data-location="footer"][data-position="left"]{left:var(--cfas-footer-side);right:auto}.cfas-auto-positioned[data-location="footer"][data-position="right"]{right:var(--cfas-footer-side);left:auto}.cfas-auto-positioned[data-position="center"]{left:50%;right:auto;transform:translateX(-50%)}.cfas-auto-fallback{position:relative;z-index:var(--cfas-mount-zindex);margin:12px 20px;display:inline-block;max-width:calc(100vw - 40px)}.cfas-shortcode-mount{position:relative;display:inline-block;max-width:100%}

.cfas-page-hidden{display:none!important}.cfas-results-shell{display:none;position:relative;z-index:var(--cfas-results-zindex);width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--cfas-results-bg);padding:var(--cfas-results-padding-top) var(--cfas-results-padding-side) var(--cfas-results-padding-bottom);font-family:inherit;clear:both;min-height:35vh}.cfas-results-shell.is-active{display:block}.cfas-results-inner{width:100%;max-width:var(--cfas-results-max-width);margin:0 auto}.cfas-grid{width:100%;display:grid!important;grid-template-columns:repeat(var(--cfas-cols-desktop),minmax(0,1fr));column-gap:var(--cfas-gap-x);row-gap:var(--cfas-gap-y);padding:0!important;margin:0!important;list-style:none!important}
.cfas-card{min-width:0;background:var(--cfas-card-bg);border:var(--cfas-card-border-width) solid var(--cfas-card-border-color);border-radius:var(--cfas-card-radius);padding:var(--cfas-card-padding);box-shadow:var(--cfas-card-shadow);overflow:hidden;text-align:var(--cfas-meta-align);margin:0!important;position:relative}.cfas-image-wrap{position:relative}.cfas-image{display:block!important;width:100%;aspect-ratio:var(--cfas-image-ratio);overflow:hidden;background:var(--cfas-image-bg);border-radius:var(--cfas-image-radius);text-decoration:none!important}.cfas-image img{display:block!important;width:100%!important;height:100%!important;object-fit:var(--cfas-image-fit)!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}.cfas-image-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:var(--cfas-image-bg);color:var(--cfas-title-color);font-size:clamp(36px,5vw,72px);font-weight:700;opacity:.35}
.cfas-wishlist{position:absolute;top:9px;width:var(--cfas-wishlist-size);height:var(--cfas-wishlist-size);display:flex;align-items:center;justify-content:center;padding:0!important;margin:0!important;border:1px solid var(--cfas-wishlist-border-color)!important;border-radius:var(--cfas-wishlist-radius)!important;background:var(--cfas-wishlist-bg)!important;color:var(--cfas-wishlist-color)!important;box-shadow:0 2px 8px rgba(0,0,0,.05)!important;cursor:pointer;z-index:3;line-height:1!important}.cfas-wishlist-top_right{right:9px}.cfas-wishlist-top_left{left:9px}.cfas-wishlist .cfas-heart-icon{display:flex;align-items:center;justify-content:center;width:var(--cfas-wishlist-icon-size);height:var(--cfas-wishlist-icon-size);line-height:1}.cfas-wishlist .cfas-heart-icon svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cfas-wishlist.is-active{color:var(--cfas-wishlist-active-color)!important}.cfas-wishlist.is-active .cfas-heart-icon svg{fill:currentColor;stroke:currentColor}
.cfas-card-body{padding-top:11px}.cfas-content-type{text-transform:uppercase;letter-spacing:.08em;font-size:10px;line-height:1.2;opacity:.55;margin:0 0 6px}.cfas-title{display:block;color:var(--cfas-title-color)!important;font-size:var(--cfas-title-font-size)!important;font-weight:var(--cfas-title-font-weight)!important;line-height:1.35!important;text-decoration:none!important;margin:0 0 7px!important;padding:0!important}.cfas-title:hover{text-decoration:underline!important}.cfas-price{color:var(--cfas-price-color)!important;font-size:var(--cfas-price-font-size)!important;font-weight:var(--cfas-price-font-weight)!important;line-height:1.3;margin:0 0 6px}.cfas-price del{opacity:.55;font-weight:400}.cfas-price ins{text-decoration:none!important}.cfas-excerpt{font-size:13px;line-height:1.55;opacity:.72;margin-top:4px}.cfas-rating-row{display:flex;align-items:center;gap:6px;justify-content:flex-start;min-height:18px;font-size:12px;margin-bottom:6px}.cfas-card[style*="text-align: center"] .cfas-rating-row{justify-content:center}.cfas-rating-row .star-rating{float:none!important;margin:0!important;font-size:12px!important}.cfas-review-count{font-size:11px;opacity:.7;white-space:nowrap}

.cfas-variation-form{margin-top:8px}.cfas-variation-row+.cfas-variation-row{margin-top:6px}.cfas-variation-select{width:100%!important;max-width:none!important;height:var(--cfas-controls-height)!important;min-height:var(--cfas-controls-height)!important;margin:0!important;padding:0 34px 0 10px!important;border:1px solid var(--cfas-controls-border-color)!important;border-radius:var(--cfas-controls-radius)!important;background-color:var(--cfas-controls-bg)!important;color:var(--cfas-controls-color)!important;font-family:inherit!important;font-size:12px!important;line-height:1.2!important;box-shadow:none!important;outline:none!important;cursor:pointer}
.cfas-quantity{display:flex!important;width:100%;height:var(--cfas-controls-height);margin-top:6px;border:1px solid var(--cfas-controls-border-color);border-radius:var(--cfas-controls-radius);overflow:hidden;background:var(--cfas-controls-bg);color:var(--cfas-controls-color)}.cfas-quantity button,.cfas-quantity input{appearance:none;-webkit-appearance:none;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;margin:0!important;min-height:0!important;height:100%!important}.cfas-quantity button{flex:0 0 var(--cfas-quantity-button-width);width:var(--cfas-quantity-button-width);padding:0!important;font-size:15px!important;line-height:1!important;cursor:pointer}.cfas-quantity button:hover{background:rgba(0,0,0,.035)!important}.cfas-qty-input{flex:1 1 auto;width:20px!important;min-width:0!important;padding:0 4px!important;text-align:center!important;font-family:inherit!important;font-size:12px!important;font-weight:600!important;outline:none!important}.cfas-qty-input::-webkit-outer-spin-button,.cfas-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cfas-qty-input[type=number]{-moz-appearance:textfield}
.cfas-button,.cfas-stock-button{display:flex!important;width:100%!important;height:var(--cfas-button-height)!important;min-height:var(--cfas-button-height)!important;align-items:center;justify-content:center;margin:6px 0 0!important;padding:0 12px!important;border:0!important;border-radius:var(--cfas-button-radius)!important;background:var(--cfas-button-bg)!important;color:var(--cfas-button-color)!important;font-family:inherit!important;font-size:var(--cfas-button-font-size)!important;font-weight:var(--cfas-button-font-weight)!important;letter-spacing:.01em;line-height:1.2!important;text-align:center!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer}.cfas-button:hover{filter:brightness(.96)}.cfas-button:disabled,.cfas-button.is-loading{opacity:.58;cursor:not-allowed;filter:none}.cfas-stock-button.is-out{cursor:default;background:var(--cfas-button-bg)!important;opacity:.94}.cfas-card-message{display:none;margin-top:5px;font-size:11px;line-height:1.35;text-align:left}.cfas-card-message.is-error{display:block;color:#b42318}.cfas-card-message.is-success{display:block;color:#15783a}.cfas-empty{width:100%;padding:10vh 20px;text-align:center;font-size:18px;color:#666}

.cfas-skeleton-card{border:0;box-shadow:none}.cfas-skeleton-image,.cfas-skeleton-line{position:relative;overflow:hidden;background:#eee}.cfas-skeleton-image{aspect-ratio:var(--cfas-image-ratio);border-radius:var(--cfas-image-radius)}.cfas-skeleton-line{height:12px;width:55%;margin-top:10px;border-radius:4px}.cfas-skeleton-line.wide{width:80%;height:14px}.cfas-skeleton-image:after,.cfas-skeleton-line:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:cfas-shimmer 1.1s infinite}@keyframes cfas-shimmer{100%{transform:translateX(100%)}}

@media(max-width:1024px){.cfas-root{width:var(--cfas-box-width-tablet)}.cfas-grid{grid-template-columns:repeat(var(--cfas-cols-tablet),minmax(0,1fr))}.cfas-results-shell{padding-left:max(16px,var(--cfas-results-padding-side));padding-right:max(16px,var(--cfas-results-padding-side))}}
@media(max-width:767px){.cfas-root{width:var(--cfas-box-width-mobile);max-width:calc(100vw - 24px)}.cfas-auto-positioned[data-position="left"]{left:12px!important}.cfas-auto-positioned[data-position="right"]{right:12px!important}.cfas-grid{grid-template-columns:repeat(var(--cfas-cols-mobile),minmax(0,1fr));column-gap:min(12px,var(--cfas-gap-x));row-gap:min(24px,var(--cfas-gap-y))}.cfas-results-shell{padding-left:12px;padding-right:12px}.cfas-title{font-size:min(var(--cfas-title-font-size),14px)!important}.cfas-price{font-size:min(var(--cfas-price-font-size),14px)!important}.cfas-wishlist{top:6px}.cfas-wishlist-top_right{right:6px}.cfas-wishlist-top_left{left:6px}}


/* v1.3.0 reference commerce layout */
.cfas-product-card{display:flex;flex-direction:column}
.cfas-product-card .cfas-card-body{flex:1;display:flex;flex-direction:column}
.cfas-product-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%}
.cfas-product-heading .cfas-title{flex:1 1 auto;min-width:0;margin:0!important}
.cfas-product-heading .cfas-price{flex:0 0 auto;margin:0!important;white-space:nowrap;text-align:right}
.cfas-product-excerpt{margin:13px 0 4px;color:#8a8a8a;font-size:13px;line-height:1.45;min-height:19px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cfas-purchase-controls{width:100%}
.cfas-quantity-waiting{display:none!important}
.cfas-quantity-waiting.is-active{display:flex!important}
.cfas-quantity.is-loading{opacity:.58;pointer-events:none}
.cfas-add-to-cart[hidden]{display:none!important}

/* The default "Reference shop layout" intentionally matches the supplied search-result example.
   Switch Layout style to Custom in wp-admin to use all grid/card values directly. */
.cfas-layout-reference{padding-top:0!important}
.cfas-layout-reference .cfas-results-inner{max-width:none!important}
.cfas-layout-reference .cfas-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:0!important;
  row-gap:0!important;
  border-top:1px solid #e7e7e2;
  border-left:1px solid #e7e7e2;
}
.cfas-layout-reference .cfas-product-card{
  border:0!important;
  border-right:1px solid #e7e7e2!important;
  border-bottom:1px solid #e7e7e2!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  min-height:100%;
}
.cfas-layout-reference .cfas-image{
  aspect-ratio:1/1.06!important;
  background:#fff!important;
  border-radius:0!important;
}
.cfas-layout-reference .cfas-image img{
  object-fit:cover!important;
}
.cfas-layout-reference .cfas-card-body{
  padding:18px 20px 16px!important;
  min-height:0!important;
}
.cfas-layout-reference .cfas-title{
  color:#294022!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1.35!important;
  text-decoration:none!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:var(--cfas-reference-title-lines);
  overflow:hidden!important;
  text-overflow:ellipsis;
  min-height:var(--cfas-reference-title-height);
  max-height:var(--cfas-reference-title-height);
}
.cfas-layout-reference .cfas-price{
  color:#111!important;
  font-size:16px!important;
  font-weight:700!important;
  display:flex!important;
  flex-direction:column-reverse;
  align-items:flex-end;
  justify-content:flex-start;
  gap:2px;
  min-width:max-content;
  line-height:1.25!important;
}
.cfas-layout-reference .cfas-price ins{display:block!important;text-decoration:none!important;font-weight:700!important;order:2}
.cfas-layout-reference .cfas-price del{display:block!important;opacity:.52!important;font-weight:400!important;font-size:.86em!important;order:1}
.cfas-layout-reference .cfas-price del .woocommerce-Price-amount{text-decoration:line-through!important}
.cfas-layout-reference .cfas-price .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cfas-layout-reference .cfas-product-excerpt{
  color:#8d8d8d;
  font-size:13px;
  line-height:1.45;
  margin-top:18px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:var(--cfas-reference-excerpt-lines);
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:var(--cfas-reference-excerpt-height);
  max-height:var(--cfas-reference-excerpt-height);
}
.cfas-layout-reference .cfas-rating-row{
  margin-top:2px;
  margin-bottom:11px;
  min-height:20px;
}
.cfas-layout-reference .cfas-review-count{
  color:#8a8a8a;
}
.cfas-layout-reference .cfas-variation-form{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  margin-top:auto;
  padding-top:7px;
}
.cfas-layout-reference .cfas-variation-select{
  height:43px!important;
  min-height:43px!important;
  border-color:#5e7657!important;
  border-radius:5px!important;
  font-size:14px!important;
  padding-left:12px!important;
}
.cfas-layout-reference .cfas-purchase-controls{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  margin-top:7px;
  padding-top:0;
}
.cfas-layout-reference .cfas-no-variations .cfas-purchase-controls{
  margin-top:auto;
  padding-top:7px;
}
.cfas-layout-reference .cfas-no-variations > .cfas-card-body > .cfas-stock-button{margin-top:auto!important}
.cfas-layout-reference .cfas-button:not([hidden]),
.cfas-layout-reference .cfas-stock-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  border-radius:0!important;
  margin-top:0!important;
  background:#13844a!important;
  font-size:15px!important;
  font-weight:700!important;
}
.cfas-layout-reference .cfas-quantity{
  height:43px!important;
  margin-top:0!important;
  border-color:#5e7657!important;
  border-radius:5px!important;
  font-size:14px!important;
}
.cfas-layout-reference .cfas-qty-input{
  font-size:14px!important;
}
.cfas-layout-reference .cfas-wishlist{
  top:0!important;
  right:0!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:0 0 0 8px!important;
  border:1px solid #244d1b!important;
  background:#244d1b!important;
  color:#fff!important;
  box-shadow:none!important;
  z-index:9!important;
}
.cfas-layout-reference .cfas-wishlist-top_left{
  left:0;
  right:auto;
  border-radius:0 0 8px 0!important;
}
.cfas-layout-reference .cfas-wishlist .cfas-heart-icon{
  width:20px;
  height:20px;
}
.cfas-layout-reference .cfas-wishlist .cfas-heart-icon svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
}
.cfas-layout-reference .cfas-wishlist.is-active .cfas-heart-icon svg{
  fill:currentColor!important;
  stroke:currentColor!important;
}

.cfas-layout-reference .cfas-wishlist.is-active{
  background:#244d1b!important;
  color:#fff!important;
}
.cfas-layout-reference .star-rating,
.cfas-layout-reference .star-rating:before,
.cfas-layout-reference .star-rating span:before{
  color:#f5a800!important;
}

@media(max-width:1024px){
  .cfas-layout-reference .cfas-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
  .cfas-layout-reference .cfas-grid{grid-template-columns:1fr!important}
  .cfas-layout-reference .cfas-card-body{padding:14px 14px 16px!important;min-height:0!important}
  .cfas-layout-reference .cfas-title,.cfas-layout-reference .cfas-price{font-size:14px!important}
  .cfas-product-heading{gap:9px}
}
