/* AusPepLabs WooCommerce actions: Quick Add (cards), variation selector dialog, toast, Buy Now (single product). */
:root{--qa-n:#173B57;--qa-t:#168C91;--qa-td:#117479;--qa-b:#E5EBF0;--qa-tx:#172B3A;--qa-mu:#5E6E83}

/* ---------- homepage cards: the editorial grid hid the button; show a compact, consistent one ---------- */
body.apl-home .apl-products ul.products li.product a.apl-qa-btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:44px;margin:14px 0 0;padding:0 18px;border:1.5px solid var(--qa-t);border-radius:8px;background:#fff;color:var(--qa-t);font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .18s,color .18s}
body.apl-home .apl-products ul.products li.product a.apl-qa-btn:is(:hover,:focus-visible){background:var(--qa-t);color:#fff!important}
body.apl-home .apl-products ul.products li.product a.apl-qa-btn:focus-visible{outline:3px solid #8cc7ca;outline-offset:2px}
body.apl-home .apl-products ul.products li.product a.apl-qa-btn.loading{opacity:.7;pointer-events:none}
body.apl-home .apl-products ul.products li.product .added_to_cart{display:none}
@media(max-width:767px){body .apl-products ul.products li.product a.apl-qa-btn{min-height:44px;font-size:13px;padding:0 10px}}

/* ---------- variation selector dialog ---------- */
.apl-qa-dialog{padding:0;border:0;border-radius:14px;background:transparent;max-width:none;max-height:none;width:min(440px,calc(100vw - 32px));color:var(--qa-tx);overflow:visible}
.apl-qa-dialog::backdrop{background:rgba(16,44,66,.45)}
.apl-qa-box{position:relative;box-sizing:border-box;background:#fff;border:1px solid var(--qa-b);border-radius:14px;box-shadow:0 20px 50px rgba(16,44,66,.25);padding:22px 22px 20px;font-family:var(--apl-font,Inter,Arial,sans-serif);font-size:14px;line-height:1.45}
.apl-qa-box *{box-sizing:border-box}
.apl-qa-title{margin:0 40px 14px 0;font-size:19px;font-weight:600;line-height:1.25;letter-spacing:-.02em;color:var(--qa-n)}
body .apl-qa-x{position:absolute;top:12px;right:12px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--qa-n);cursor:pointer}
body .apl-qa-x:hover,body .apl-qa-x:focus-visible{background:#E4E8EC}
.apl-qa-x::before,.apl-qa-x::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:currentColor;border-radius:2px}
.apl-qa-x::before{transform:translate(-50%,-50%) rotate(45deg)}.apl-qa-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
.apl-qa-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.apl-qa-img{flex:none;width:72px;height:72px;object-fit:contain;border:1px solid var(--qa-b);border-radius:10px;background:#F1F3F5}
.apl-qa-price{font-size:18px;font-weight:600;color:var(--qa-n)}
.apl-qa-price del{opacity:.5;font-weight:400;margin-right:6px}.apl-qa-price ins{text-decoration:none}
.apl-qa-group{margin:0 0 12px;padding:0;border:0;min-width:0}
.apl-qa-group legend{padding:0;margin:0 0 8px;font-size:13px;font-weight:600;color:var(--qa-n)}
.apl-qa-opts{display:flex;flex-wrap:wrap;gap:8px}
.apl-qa-opt{position:relative;display:inline-flex;margin:0}
.apl-qa-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.apl-qa-opt span{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;padding:0 16px;border:1.5px solid var(--qa-b);border-radius:8px;background:#fff;color:var(--qa-n);font-size:14px;font-weight:600;transition:border-color .15s,background-color .15s,color .15s}
.apl-qa-opt:hover span{border-color:var(--qa-t)}
.apl-qa-opt input:checked+span{border-color:var(--qa-t);background:var(--qa-t);color:#fff}
.apl-qa-opt input:focus-visible+span{outline:3px solid #8cc7ca;outline-offset:2px}
.apl-qa-opt.is-off span{opacity:.4;border-style:dashed;text-decoration:line-through}.apl-qa-opt.is-off input{cursor:not-allowed}
.apl-qa-stock{min-height:20px;margin:2px 0 4px;font-size:13px;color:var(--qa-mu)}
.apl-qa-stock.is-in{color:#1B7A43;font-weight:600}.apl-qa-stock.is-out{color:#B42318;font-weight:600}
.apl-qa-msg{margin:0;font-size:13px}.apl-qa-msg.is-err{margin:6px 0;padding:8px 10px;border-radius:8px;background:#FDECEA;color:#8A1C12}
.apl-qa-loading{margin:0;color:var(--qa-mu)}
.apl-qa-foot{display:flex;gap:10px;align-items:stretch;margin-top:10px}
.apl-qa-qty{display:inline-flex;align-items:stretch;height:48px;border:1.5px solid var(--qa-b);border-radius:8px;overflow:hidden;background:#fff}
.apl-qa-qty button{width:40px;border:0;background:transparent;color:var(--qa-n);font-size:20px;line-height:1;cursor:pointer}
.apl-qa-qty button:hover{background:#F1F3F5}
.apl-qa-qty input{width:46px;border:0;border-radius:0;background:transparent;text-align:center;font-size:15px;font-weight:600;color:var(--qa-tx);padding:0;-moz-appearance:textfield;appearance:textfield}
.apl-qa-qty input::-webkit-inner-spin-button,.apl-qa-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body .apl-qa-add{flex:1;min-height:48px;padding:0 18px;border:0;border-radius:8px;background:var(--qa-t);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .18s}
body .apl-qa-add:hover:not(:disabled){background:var(--qa-td)}
body .apl-qa-add:disabled{background:#C9D3DA;color:#fff;cursor:not-allowed}
body .apl-qa-add:focus-visible,.apl-qa-qty button:focus-visible,.apl-qa-qty input:focus-visible{outline:3px solid #8cc7ca;outline-offset:2px}
@media(max-width:600px){
 .apl-qa-dialog{width:100vw;margin:auto 0 0;max-width:100vw}
 .apl-qa-box{border-radius:16px 16px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom))}
}

/* ---------- toast ---------- */
.apl-qa-toast{position:fixed;left:50%;bottom:20px;z-index:100001;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:12px 16px;background:var(--qa-n);color:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(16,44,66,.3);font:500 14px/1.3 var(--apl-font,Inter,Arial,sans-serif);opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:opacity .25s,transform .25s}
.apl-qa-toast.is-in{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.apl-qa-tick{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--qa-t);font-size:13px}
body .apl-qa-toast a{color:#9fe0e3;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
body .apl-qa-toast a:hover{color:#fff}
@media(prefers-reduced-motion:reduce){.apl-qa-toast,.apl-qa-opt span{transition:none}}

/* ---------- single product: Add to Cart (navy) + Buy Now (teal) ---------- */
body .apl-pdp-buy button.single_add_to_cart_button.button.alt:not(.apl-buy-now):not(.disabled):not(.wc-variation-selection-needed):not(:disabled){background:var(--qa-n)}
body .apl-pdp-buy button.single_add_to_cart_button.button.alt:not(.apl-buy-now):not(.disabled):not(.wc-variation-selection-needed):not(:disabled):hover{background:#0F2D44}
body .apl-pdp-buy button.apl-buy-now.single_add_to_cart_button.button.alt:not(.disabled):not(.wc-variation-selection-needed):not(:disabled){background:var(--qa-t)}
body .apl-pdp-buy button.apl-buy-now.single_add_to_cart_button.button.alt:not(.disabled):not(.wc-variation-selection-needed):not(:disabled):hover{background:var(--qa-td)}
body .apl-pdp-buy button.apl-buy-now[aria-disabled="true"],body .apl-pdp-buy form[aria-busy="true"] button.single_add_to_cart_button{opacity:.7}
@media(max-width:767px){body .apl-pdp-buy button.single_add_to_cart_button{min-height:52px}}
@media(max-width:600px){body:not(.apl-home) .apl-shop-main ul.products li.product a.apl-qa-btn.button{width:calc(100% - 20px)!important;margin:12px 10px 12px!important;padding:0 6px!important;font-size:13px;white-space:nowrap}}
