/* M2 storefront (new catalog). Small, no JS required. */
.az-pcard-img{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#F6F6F6;border-radius:4px}
.az-pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.az-pcard:hover .az-pcard-img img{transform:scale(1.02)}
.az-badge{position:absolute;top:.6rem;left:.6rem;background:#fff;color:#111;font-size:12px;font-weight:500;padding:.25rem .5rem;border-radius:3px}
.az-sw{position:relative;display:inline-block;width:18px;height:18px;border-radius:9999px;border:1px solid rgba(17,17,17,.2);flex:none;vertical-align:middle}
.az-sw-lg{width:28px;height:28px}
.az-sw.is-nohex{background:repeating-linear-gradient(45deg,#d4d4d4 0 3px,#f2f2f2 3px 6px)}
.az-sw.is-sold{opacity:.4;filter:grayscale(.8)}
.az-sw.is-sold::after{content:"";position:absolute;inset:-1px;border-radius:9999px;background:linear-gradient(to top right,transparent calc(50% - 1px),#7a1f1f calc(50% - 1px),#7a1f1f calc(50% + 1px),transparent calc(50% + 1px))}
.az-filter-h{font-size:13px;font-weight:600;margin-bottom:.75rem;color:#111}
.az-filter-opt{display:inline-flex;align-items:center;gap:.5rem;padding:.15rem 0}
.az-filter-opt:hover{text-decoration:underline;text-underline-offset:4px}
.az-check{width:14px;height:14px;border:1px solid rgba(17,17,17,.4);border-radius:3px;display:inline-block;flex:none}
.az-filter-opt.is-on .az-check{background:#09382C;border-color:#09382C;box-shadow:inset 0 0 0 2px #fff}
.az-filter-opt.is-on{font-weight:600}
.az-colour-opt,.az-len-opt{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(17,17,17,.14);border-radius:4px;padding:.4rem .7rem .4rem .45rem;font-size:.85rem;background:#fff}
.az-len-opt{padding:.5rem .8rem}
.az-colour-opt:hover,.az-len-opt:hover{border-color:#111}
.az-colour-opt.is-on,.az-len-opt.is-on{border-color:#111;box-shadow:inset 0 0 0 1px #111;background:#fff}
.az-colour-opt.is-sold{color:#6b6b6b;cursor:not-allowed;background:transparent;border-style:dashed}
.az-colour-opt.is-sold.is-on{box-shadow:none;border-color:#7a1f1f}
.az-btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}
.az-soldout-note{display:inline-block;font-size:12px;font-weight:500;color:#7a1f1f;border:1px solid #7a1f1f;border-radius:3px;padding:.2rem .5rem}
.az-error{color:#7a1f1f;border-left:2px solid #7a1f1f;padding:.4rem .8rem;background:rgba(122,31,31,.04)}
.az-empty{margin-top:2.5rem;padding:2.5rem;border:1px solid rgba(17,17,17,.1);border-radius:6px;background:#fff;max-width:48rem}
.az-gallery{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.az-gallery-item{margin:0;aspect-ratio:4/5;overflow:hidden;background:#F6F6F6;border-radius:4px}
.az-gallery-item.is-main{grid-column:1/-1}
.az-gallery-item img{width:100%;height:100%;object-fit:cover}
@media (min-width:768px){.az-gallery{position:sticky;top:6.5rem;align-self:start}}
/* M3/M6: equal buy paths. Both filled, same size. M6: WhatsApp in the brand green (#09382C, white text 12.9:1), the one accent colour. */
.az-btn-buy,.az-btn-wa{min-height:3.25rem;border-width:1px}
.az-btn-wa{background:#09382C;border-color:#09382C;color:#fff}
.az-btn-wa:hover{background:#0C4A3A;border-color:#0C4A3A;color:#fff}
.az-btn-wa .az-icon{color:#fff}
/* M3 home */
.az-cat-tile{position:relative;display:flex;flex-direction:column;aspect-ratio:4/5;padding:1.1rem;overflow:hidden;border-radius:4px;transition:background-color .2s ease}
.az-cat-tile:hover{background-color:#EFEFEF}
.az-cat-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.az-cat-tile:hover .az-cat-cta{text-decoration:underline;text-underline-offset:4px}
@media (min-width:768px){.az-cat-tile{padding:1.5rem}}
/* M3 a11y: header icon buttons get a 24px minimum target */
#az-cart-open,#az-menu{min-width:24px;min-height:24px;justify-content:center}
/* M5 checkout inline errors */
.az-field-err{display:block;margin-top:.4rem;font-size:13px;letter-spacing:0;text-transform:none;color:#7a1f1f}
.az-field[aria-invalid="true"]{border-bottom-color:#7a1f1f}
