/* Qcartly Luxe — WooCommerce */
.q-shop{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px;padding:32px 20px 80px}
.q-no-sidebar .q-shop,.woocommerce-page.single-product .q-shop,.woocommerce-cart .q-shop,.woocommerce-checkout .q-shop{grid-template-columns:minmax(0,1fr)}
.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.q-product-card__media{position:relative;overflow:hidden;border-radius:var(--q-radius);background:var(--q-soft)}
.q-product-card__media img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.q-product-card:hover .q-product-card__media img{transform:scale(1.06)}
.q-badges{position:absolute;top:12px;left:12px;z-index:3;display:grid;gap:6px;justify-items:start}
.q-badge{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--q-ink);color:var(--q-surface)}
.q-badge--sale{background:var(--q-sale);color:#fff}
.q-badge--new{background:var(--q-accent);color:#0e0f12}
.q-badge--low{background:#f0a202;color:#0e0f12}
.q-badge--out{background:#8a8f98;color:#fff}
.q-card-actions{position:absolute;top:12px;right:12px;z-index:3;display:grid;gap:8px;opacity:0;transform:translateX(10px);transition:.3s}
.q-product-card:hover .q-card-actions,.q-card-actions:focus-within{opacity:1;transform:none}
.q-card-action{width:38px;height:38px;border-radius:50%;border:0;background:var(--q-surface);color:var(--q-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.14);transition:.2s}
.q-card-action:hover,.q-card-action.is-active{background:var(--q-accent);color:#0e0f12}
.q-product-card__body{padding:14px 2px}
.q-product-card__title{font-family:var(--q-font-body);font-size:.98rem;font-weight:600;margin:0 0 6px}
.q-product-card__price{font-weight:600}
.q-product-card__price del{opacity:.5;font-weight:400;margin-right:6px}
.q-product-card__price ins{text-decoration:none;color:var(--q-sale)}
.q-stars{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--q-muted);margin-bottom:6px}
.q-stars::before{content:"★★★★★";letter-spacing:2px;color:var(--q-line)}
.q-stars__fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--q-accent);letter-spacing:2px}
.q-stars__fill::before{content:"★★★★★"}
.woocommerce ul.products li.product .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--q-ink)!important;color:var(--q-surface)!important;border-radius:999px!important;padding:12px 22px!important;font-weight:600!important;transition:.25s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce ul.products li.product .button:hover{background:var(--q-accent)!important;color:#0e0f12!important}
.woocommerce .quantity input{border:1px solid var(--q-line);border-radius:999px;padding:10px;background:var(--q-surface);color:inherit}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,3vw,2.6rem)}
.woocommerce div.product .price{font-size:1.35rem;color:var(--q-ink)}
.woocommerce div.product p.price ins{color:var(--q-sale);text-decoration:none}
.q-trust-list{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--q-line);display:grid;gap:10px;font-size:.88rem}
.q-trust-list li{display:flex;gap:10px;align-items:center;color:var(--q-muted)}
.q-trust-list svg{color:var(--q-accent);flex:none}
.q-urgency{display:inline-block;background:rgba(214,69,69,.1);color:var(--q-sale);font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:999px}
.q-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:95;background:color-mix(in oklab,var(--q-surface) 92%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--q-line);transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.q-sticky-atc.is-visible{transform:none}
.q-sticky-atc__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}
.q-sticky-atc__media{display:flex;align-items:center;gap:12px}
.q-sticky-atc__media img{width:46px;height:56px;object-fit:cover;border-radius:10px}
.q-sticky-atc__price{display:block;font-size:.86rem;color:var(--q-muted)}
.q-steps{display:flex;gap:8px;list-style:none;margin:24px 0;padding:0;flex-wrap:wrap}
.q-step{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--q-line);border-radius:999px;font-size:.84rem;color:var(--q-muted)}
.q-step__num{width:22px;height:22px;border-radius:50%;background:var(--q-soft);display:grid;place-items:center;font-size:.74rem;font-weight:700}
.q-step--active{border-color:var(--q-accent);color:var(--q-ink)}
.q-step--active .q-step__num{background:var(--q-accent);color:#0e0f12}
.q-step--done .q-step__num{background:var(--q-ink);color:var(--q-surface)}
.q-ship-bar{margin-bottom:22px;font-size:.86rem;color:var(--q-muted)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--q-accent)!important;border-radius:12px;background:var(--q-soft)!important;color:inherit}
.woocommerce nav.woocommerce-pagination ul{border:0;gap:8px;display:flex}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--q-line);border-radius:999px;padding:8px 14px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--q-ink);color:var(--q-surface)}
@media (max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.q-shop{grid-template-columns:1fr}.q-shop__aside{display:none}}
@media (max-width:720px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.q-card-actions{opacity:1;transform:none}.q-sticky-atc{bottom:64px}}

/* Never let loop cards stay hidden if the reveal observer does not fire */
.woocommerce ul.products li.product{opacity:1!important;transform:none!important}
.woocommerce ul.products li.product:empty{display:none}
