/* Saasveld · woocommerce/shop — productgrid/cards, categorie-tabs, sorteren, kolommen */

/* ---------- Productgrid (override WooCommerce's float-layout) ---------- */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wp--preset--spacing--40);list-style:none;margin:0 0 var(--wp--preset--spacing--60);padding:0;width:100%;box-sizing:border-box}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important;content:none !important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto !important;float:none !important;clear:none !important;margin:0 !important;position:relative;background:var(--wp--preset--color--surface);border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--card);padding:0;box-shadow:var(--wp--custom--shadow--card);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}
.woocommerce ul.products li.product:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
/* Afbeelding: vaste vierkante verhouding, vult de kaartbreedte */
.woocommerce ul.products li.product a img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;margin:0 !important;border-radius:0;display:block;background:var(--wp--preset--color--surface-muted)}
/* Titel: rustig, ink-kleur, GEEN underline; hover → merkrood (link omvat de hele card-top) */
.woocommerce ul.products li.product a{text-decoration:none}
.woocommerce ul.products li.product .woocommerce-loop-product__link{display:block;color:inherit}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.95rem;line-height:1.3;font-family:var(--wp--preset--font-family--body);font-weight:600;color:var(--wp--preset--color--ink);padding:.7rem .8rem .3rem;min-height:2.6em}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--wp--preset--color--primary)}
.woocommerce span.onsale{position:absolute;top:.6rem;left:.6rem;right:auto;background:var(--wp--preset--color--sale);color:#fff;border-radius:var(--wp--custom--radius--pill);padding:.15rem .6rem;font-size:.72rem;font-weight:700;z-index:2;min-height:auto;line-height:1.6;margin:0;box-shadow:0 2px 8px rgba(228,87,46,.35)}

/* ---------- Card-CTA (snelbestellen): één rij [select/prijs] + vierkant winkelmand-knopje ---------- */
.woocommerce ul.products li.product .sv-card-cta{margin-top:auto}
.woocommerce ul.products li.product .sv-card-cta--add{display:flex;align-items:stretch;gap:.4rem;padding:.15rem .8rem .8rem}
.sv-card-weight,.sv-card-price{flex:1 1 auto;min-width:0}
/* Gewicht-select: duidelijk zichtbaar (witte pill, dikkere rand, eigen caret) */
.sv-card-weight{height:44px;border:1.5px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--button);background:#fff;font:inherit;font-size:.82rem;font-weight:700;color:var(--wp--preset--color--ink);cursor:pointer;padding:0 1.8rem 0 .65rem;text-overflow:ellipsis;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 4 4-4' stroke='%23c1121f' stroke-width='1.7' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:border-color .15s ease}
.sv-card-weight:hover{border-color:var(--wp--preset--color--primary)}
.sv-card-weight:focus-visible{outline:2px solid var(--wp--preset--color--primary);outline-offset:1px;border-color:var(--wp--preset--color--primary)}
/* Vaste prijs (geen variaties) als waarde links in de rij */
.sv-card-price{display:flex;align-items:center;font-weight:800;font-size:1.05rem;color:var(--wp--preset--color--ink);font-variant-numeric:tabular-nums;line-height:1.15}
.sv-card-price del,.sv-card-priceline del{color:var(--wp--preset--color--muted);font-weight:400;font-size:.8rem;margin-right:.3rem}
.sv-card-price ins,.sv-card-priceline ins{color:var(--wp--preset--color--sale);text-decoration:none}
/* Vierkant winkelmand-knopje */
.sv-card-add{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:var(--wp--custom--radius--button);background:var(--wp--preset--color--primary);color:#fff;cursor:pointer;position:relative;transition:background .15s ease,transform .08s ease}
.sv-card-add:hover{background:var(--wp--preset--color--primary-hover)}
.sv-card-add:active{transform:scale(.94)}
.sv-card-add svg{display:block}
.sv-card-add.is-added{background:var(--wp--preset--color--success)}
.sv-card-add.is-added svg{display:none}
.sv-card-add.is-added::after{content:"✓";font-weight:800;font-size:1.15rem;line-height:1}
.sv-card-add.loading{pointer-events:none}
.sv-card-add.loading svg{visibility:hidden}
.sv-card-add.loading::after{content:"";position:absolute;top:50%;left:50%;width:1.1em;height:1.1em;margin:-.55em 0 0 -.55em;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:sv-spin .6s linear infinite}
/* PDP-routing (partypannen / gewicht-invoer / niet-koopbaar): prijsregel + volle-breedte link */
.woocommerce ul.products li.product .sv-card-priceline{padding:.1rem .8rem .1rem;font-weight:800;font-size:1.05rem;color:var(--wp--preset--color--ink);font-variant-numeric:tabular-nums;line-height:1.2}
.woocommerce ul.products li.product .sv-card-cta--link{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.35rem .8rem .8rem;height:44px;border-radius:var(--wp--custom--radius--button);background:var(--wp--preset--color--surface-muted);color:var(--wp--preset--color--ink);border:1.5px solid var(--wp--preset--color--line);text-decoration:none;font-weight:700;font-size:.9rem;transition:border-color .15s ease,background .15s ease}
.woocommerce ul.products li.product:hover .sv-card-cta--link{border-color:var(--wp--preset--color--primary);background:#fff;color:var(--wp--preset--color--primary)}
.sv-card-cta__arrow{transition:transform .15s ease}
.woocommerce ul.products li.product:hover .sv-card-cta__arrow{transform:translateX(3px)}
/* ---------- Categorie-tabs (shop/archief) ---------- */
.saasveld-tabs{display:flex;gap:.5rem;overflow-x:auto;padding:0 0 .5rem;margin:0 0 1rem;-webkit-overflow-scrolling:touch}
.saasveld-tabs a{flex:0 0 auto;border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--pill);padding:.4rem .9rem;text-decoration:none;color:var(--wp--preset--color--ink);font-weight:600;font-size:.9rem;background:#fff}
.saasveld-tabs a.is-active,.saasveld-tabs a:hover{border-color:var(--wp--preset--color--primary);background:var(--wp--preset--color--primary);color:#fff}
/* ---------- Sorteer-dropdown (shop/archief) ---------- */
.woocommerce-ordering{margin:0 0 1.25rem}
.woocommerce-ordering select{border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--button);padding:.55rem 2.2rem .55rem .9rem;background:#fff;font:inherit;color:var(--wp--preset--color--ink);cursor:pointer;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 4 4-4' stroke='%23c1121f' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}
.woocommerce-result-count{color:var(--wp--preset--color--muted);font-size:.9rem;margin:0 0 1rem}
/* Categorie-tabs: subtiele fade rechts als er meer buiten beeld staat */
.saasveld-tabs{position:relative;scrollbar-width:thin}
.saasveld-tabs{-webkit-mask-image:linear-gradient(to right,#000 92%,transparent);mask-image:linear-gradient(to right,#000 92%,transparent)}

/* ---------- Responsieve kolommen ---------- */
@media (min-width:600px){ .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:900px){ .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(4,minmax(0,1fr))} }
