/* ZERA 2.19: one WooCommerce add-to-cart presentation contract for archive and home. */
:root{--zera-card-button-bg:#D49B00;--zera-card-button-fg:#fff;--zera-card-button-hover-bg:#fff;--zera-card-button-hover-fg:#D49B00}
/* Keep WooCommerce's own purchase buttons intact; appearance only. */
html body :is(.zera-home .zera-product-card,.zera-home .zera-campaign-cell,.zera-sf-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) :is(.zera-card-actions a.button,a.zera-product-link,a.zera-sf-card__cart,a.add_to_cart_button,a.product_type_simple,a.product_type_variable,a.product_type_external,a.product_type_grouped,a.button:not(.added_to_cart):not(.wc-forward)){
 background:var(--zera-card-button-bg)!important;background-color:var(--zera-card-button-bg)!important;
 color:var(--zera-card-button-fg)!important;-webkit-text-fill-color:var(--zera-card-button-fg)!important;
 border:1px solid var(--zera-card-button-bg)!important;border-radius:6px!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
 min-height:40px!important;width:max-content!important;max-width:100%!important;
 padding:9px 14px!important;box-sizing:border-box!important;
 margin:0!important;position:static!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
 transform:none!important;align-self:flex-start!important;flex:none!important;
 font-size:13px!important;line-height:1.35!important;font-weight:650!important;text-decoration:none!important;
 transition:background-color .18s ease,color .18s ease,border-color .18s ease!important;
}
/* Pointer hover and keyboard focus are separate; touch must not latch hover. */
@media (hover: hover) and (pointer: fine){
html body :is(.zera-home .zera-product-card,.zera-home .zera-campaign-cell,.zera-sf-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) :is(.zera-card-actions a.button,a.zera-product-link,a.zera-sf-card__cart,a.add_to_cart_button,a.product_type_simple,a.product_type_variable,a.product_type_external,a.product_type_grouped,a.button:not(.added_to_cart):not(.wc-forward)):hover{
 background:var(--zera-card-button-hover-bg,#fff)!important;background-color:var(--zera-card-button-hover-bg,#fff)!important;color:var(--zera-card-button-hover-fg,var(--zera-card-button-bg))!important;
 -webkit-text-fill-color:var(--zera-card-button-hover-fg,var(--zera-card-button-bg))!important;border-color:var(--zera-card-button-bg)!important;box-shadow:none!important;
}
}
html body :is(.zera-home .zera-product-card,.zera-home .zera-campaign-cell,.zera-sf-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) :is(.zera-card-actions a.button,a.zera-product-link,a.zera-sf-card__cart,a.add_to_cart_button,a.product_type_simple,a.product_type_variable,a.product_type_external,a.product_type_grouped,a.button:not(.added_to_cart):not(.wc-forward)):focus-visible{
 background:var(--zera-card-button-hover-bg,#fff)!important;background-color:var(--zera-card-button-hover-bg,#fff)!important;color:var(--zera-card-button-hover-fg,var(--zera-card-button-bg))!important;
 -webkit-text-fill-color:var(--zera-card-button-hover-fg,var(--zera-card-button-bg))!important;border-color:var(--zera-card-button-bg)!important;box-shadow:none!important;

 outline:2px solid var(--zu-link-hover,#B07800)!important;outline-offset:2px;
}
@media (hover: none), (pointer: coarse){
html body :is(.zera-home .zera-product-card,.zera-home .zera-campaign-cell,.zera-sf-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) :is(.zera-card-actions a.button,a.zera-product-link,a.zera-sf-card__cart,a.add_to_cart_button,a.product_type_simple,a.product_type_variable,a.product_type_external,a.product_type_grouped,a.button:not(.added_to_cart):not(.wc-forward)):not(:focus-visible){
 background:var(--zera-card-button-bg)!important;background-color:var(--zera-card-button-bg)!important;
 color:var(--zera-card-button-fg)!important;-webkit-text-fill-color:var(--zera-card-button-fg)!important;
 border-color:var(--zera-card-button-bg)!important;filter:none!important;box-shadow:none!important;outline:none!important;
}
html body :is(.zera-home .zera-product-card,.zera-home .zera-campaign-cell,.zera-sf-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) :is(.zera-card-actions a.button,a.zera-product-link,a.zera-sf-card__cart,a.add_to_cart_button,a.product_type_simple,a.product_type_variable,a.product_type_external,a.product_type_grouped,a.button:not(.added_to_cart):not(.wc-forward)):active:not(:focus-visible){filter:brightness(.93)!important}
}
/* Single icon for real WooCommerce add-to-cart links, in either renderer. */
html body :is(.zera-home .zera-product-card,.zera-home .zera-campaign-cell,.zera-sf-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) a.add_to_cart_button:not(.loading)::after{
 content:''!important;display:inline-block!important;position:static!important;flex:0 0 15px!important;
 width:15px!important;height:15px!important;margin:0!important;opacity:1!important;visibility:visible!important;
 background-color:currentColor!important;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h2l2.3 11.5h11.4L21 8H6M9 20h.01M18 20h.01' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h2l2.3 11.5h11.4L21 8H6M9 20h.01M18 20h.01' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
}
/* Always allocate the CTA's own row: no button jumping between states. */
html body .zera-home .zera-product-card .zera-product-info{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0}
html body .zera-home .zera-product-card .zera-card-actions{min-height:42px;margin-top:auto;display:flex;align-items:flex-end;flex-direction:column;align-items:flex-start}
html body :is(.zera-product-card,.zera-campaign-cell,.zera-sf-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) a:is(.added_to_cart,.wc-forward){display:none!important}
@media(max-width:767px){html body :is(.zera-home .zera-product-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product) a.add_to_cart_button{min-height:39px!important;padding:8px 11px!important}}
/* Archive pagination: retain native links and show numeric items on mobile. */
@media(max-width:767px){
 body.woocommerce :is(.woocommerce-pagination,.ct-pagination) :is(.page-numbers,li,a,span),
 body.woocommerce-page :is(.woocommerce-pagination,.ct-pagination) :is(.page-numbers,li,a,span){visibility:visible;opacity:1}
 body.woocommerce :is(.woocommerce-pagination,.ct-pagination) ul.page-numbers,
 body.woocommerce-page :is(.woocommerce-pagination,.ct-pagination) ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
}

/* ZERA audit 2026-10-17: shared home and catalogue card geometry. */
html body #main :is(.zera-home .zera-product-card,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;background:#fff!important;border:1px solid #ebebeb!important;border-radius:11px!important;overflow:hidden;box-sizing:border-box;height:100%;text-align:left!important}
html body #main :is(.zera-home .zera-product-card .zera-product-image,.woocommerce ul.products li.product>figure,.woocommerce-page ul.products li.product>figure){position:relative!important;display:block!important;aspect-ratio:1/1!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;flex:none!important;background:#fff!important;overflow:hidden}
html body #main ul.products li.product>figure .ct-media-container{display:block!important;aspect-ratio:1/1!important;width:100%!important;height:100%!important}
html body #main :is(.zera-product-image img,ul.products li.product>figure img){width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:contain!important;position:static!important}
html body #main .zera-home .zera-product-card .zera-product-info{padding:16px!important;gap:0!important;display:flex!important;flex-direction:column!important;flex:1!important}
html body #main :is(.zera-home .zera-product-info h3,ul.products li.product>.woocommerce-loop-product__title){font-size:15px!important;font-weight:600!important;line-height:1.45!important;letter-spacing:normal!important;min-height:44px!important;margin:0 0 10px!important;padding:0!important;color:var(--zu-title,#142a42)!important;text-align:left!important}
html body #main ul.products li.product>.woocommerce-loop-product__title{margin:16px 16px 10px!important}
html body #main :is(.zera-home .zera-product-info h3,ul.products li.product>.woocommerce-loop-product__title) a{color:inherit!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none!important}
html body #main :is(.zera-home .zera-price,ul.products li.product>.price){display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:4px 8px!important;min-height:42px!important;line-height:1.45!important;font-size:15px!important;font-weight:700!important;color:var(--zu-price,#1f2937)!important;margin:0 0 13px!important;padding:0!important}
html body #main ul.products li.product>.price{margin:0 16px 13px!important}
html body #main :is(.zera-home .zera-card-actions,ul.products li.product>.ct-woo-card-actions){position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-direction:column!important;gap:0!important;min-height:44px!important;margin-top:auto!important;padding:0!important}
html body #main ul.products li.product>.ct-woo-card-actions{margin: auto 16px 16px!important}
html body #main :is(.zera-home .zera-card-actions,ul.products li.product>.ct-woo-card-actions) a.button{min-height:44px!important;opacity:1!important;visibility:visible!important;transform:none!important}
html body #main ul.products li.product>.entry-meta{display:none!important}
@media(max-width:767px){html body #main :is(.zera-home .zera-product-info h3,ul.products li.product>.woocommerce-loop-product__title){font-size:13px!important;min-height:38px!important}html body #main .zera-home .zera-product-card .zera-product-info{padding:11px!important}html body #main ul.products li.product>.woocommerce-loop-product__title{margin:11px 11px 10px!important}html body #main ul.products li.product>.price{margin:0 11px 13px!important}html body #main ul.products li.product>.ct-woo-card-actions{margin:auto 11px 11px!important}html body #main :is(.zera-home .zera-card-actions,ul.products li.product>.ct-woo-card-actions) a.button{min-height:44px!important}}

/* ZERA 2.19.4: product prices share the same setting on every listing,
 * including the plugin shortcode page outside WooCommerce archive bodies.
 */
html body :is(.zera-sf-home,.zera-sf-archive){--zera-sf-price:var(--zu-price,#1f2937)!important;--zera-sf-name:var(--zu-title,#142a42)!important}
html body #main :is(.zera-product-card,.zera-campaign-cell,.zera-sf-card,ul.products li.product) :is(.zera-price,.price,.zera-sf-card__price),
html body #main :is(.zera-product-card,.zera-campaign-cell,.zera-sf-card,ul.products li.product) :is(.zera-price,.price,.zera-sf-card__price) :is(.amount,bdi,ins,.woocommerce-Price-currencySymbol){color:var(--zu-price,#1f2937)!important;-webkit-text-fill-color:var(--zu-price,#1f2937)!important}
html body #main :is(.zera-product-card,.zera-campaign-cell,.zera-sf-card,ul.products li.product) :is(.zera-price,.price,.zera-sf-card__price) del,
html body #main :is(.zera-product-card,.zera-campaign-cell,.zera-sf-card,ul.products li.product) :is(.zera-price,.price,.zera-sf-card__price) del *{color:var(--zs-old-price,#89919b)!important;-webkit-text-fill-color:var(--zs-old-price,#89919b)!important}
html body #main .zera-sf-card__name{color:var(--zu-title,#142a42)!important;-webkit-text-fill-color:var(--zu-title,#142a42)!important}
