/* Shared product cards: image-led catalog layout with compact purchase details. */
.seller-card,.collection-product-grid .seller-card {
    border:0; border-radius:0; background:transparent; box-shadow:none;
    display:grid; grid-template-rows:auto 1fr; min-width:0;
}
.seller-card:hover { border:0; box-shadow:none; }
.seller-card .seller-image { aspect-ratio:1; padding:8px; border-radius:8px; background:var(--surface-color); overflow:hidden; }
.seller-card .seller-image img { object-fit:contain; mix-blend-mode:normal; }
.seller-card .seller-card-body {
    padding:12px 16px 16px; gap:6px; text-align:left;
    display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto 1fr;
}
.seller-card .seller-name {
    text-align:left; font-family:inherit; font-size:14px; font-weight:500;
    line-height:1.4; min-height:1.4em; color:var(--text-color); white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis; overflow-wrap:normal;
}
.seller-card .seller-price { justify-content:flex-start; gap:7px; min-height:28px; }
.seller-card .seller-price strong { order:0; font-size:22px; font-weight:600; line-height:1.2; color:var(--text-color); }
.seller-price-discount { font-size:19px; color:var(--danger-color); font-weight:400; }
.seller-regular { font-size:11px; color:var(--muted-color); line-height:1.5; margin-top:2px; }
.seller-regular[hidden],.seller-price-discount[hidden] { display:none; }
.seller-card .seller-compare { font-size:inherit; text-decoration:line-through; }
.seller-card .seller-cart-form { align-self:end; display:grid; gap:8px; margin-top:4px; }
.seller-card .seller-cart-form label { text-align:left; font-size:11px; color:var(--muted-color); gap:3px; }
.seller-card .seller-cart-form select { min-height:40px; width:100%; font-size:12px; padding:6px 8px; }
.seller-card .seller-cart-form button {
    width:100%; min-height:40px; padding:9px 12px; border-radius:24px;
    background:var(--accent-color); color:var(--text-color); border:1px solid var(--accent-color);
    font-size:13px; font-weight:500; text-transform:none; box-shadow:none;
    display:flex; align-items:center; justify-content:center; gap:7px;
}
.seller-card .seller-cart-form button:hover { background:var(--accent-color); }
.seller-card .seller-cart-form button:focus-visible { outline:2px solid var(--primary-color); outline-offset:3px; }
.seller-card .seller-cart-form button:disabled { background:var(--border-color); border-color:var(--border-color); color:var(--muted-color); cursor:not-allowed; }
.seller-card .seller-cart-form button .lucide { width:15px; height:15px; }
@media(min-width:1400px) { .collection-product-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; } }
@media(max-width:600px) {
    .seller-card .seller-card-body { padding:10px 12px 12px; }
    .seller-card .seller-image { padding:4px; }
    .seller-card .seller-name { font-size:13px; }
    .seller-card .seller-price { gap:5px; }
    .seller-card .seller-price strong { font-size:18px; }
    .seller-price-discount { font-size:16px; }
    .seller-card .seller-cart-form button { min-height:44px; padding:9px 6px; font-size:12px; }
}

/* Native radio choices keep keyboard and no-JavaScript form support. */
.seller-card .pack-choices { border:0; padding:0; margin:0; min-width:0; }
.seller-card .pack-choices legend { padding:0; margin-bottom:6px; color:var(--text-secondary); font-size:11px; }
.pack-choice-list { display:flex; flex-wrap:wrap; gap:6px; }
.seller-card .seller-cart-form .pack-choice { position:relative; display:block; flex:1 1 96px; width:auto; min-width:0; margin:0; cursor:pointer; }
.pack-choice input { position:absolute; opacity:0; width:1px; height:1px; margin:0; }
.pack-choice span { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; height:100%; padding:6px 8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text-secondary); font-size:11px; line-height:1.4; text-align:center; overflow-wrap:anywhere; transition:background-color .15s,border-color .15s; }
.pack-choice span::before { content:''; flex:0 0 10px; width:10px; height:10px; border:1px solid var(--border); border-radius:50%; background:var(--surface); }
.pack-choice:hover span { border-color:var(--primary); background:var(--bg-main); }
.pack-choice input:checked + span { border-color:var(--primary); background:var(--bg-soft); color:var(--primary-dark); box-shadow:inset 0 0 0 1px var(--primary); font-weight:600; }
.pack-choice input:checked + span::before { border-color:var(--primary); background:var(--primary); box-shadow:inset 0 0 0 3px var(--surface); }
.pack-choice input:focus-visible + span { outline:2px solid var(--primary-dark); outline-offset:3px; }
.pack-choice input[data-stock="0"] + span { border-style:dashed; }

/* Catalog cards follow their content instead of stretching to the tallest pack list. */
.collection-product-grid { align-items:start; }
.collection-product-grid .seller-card { grid-template-rows:auto auto; align-self:start; }
.collection-product-grid .seller-card .seller-card-body { grid-template-rows:auto auto auto; align-content:start; }
.collection-product-grid .seller-card .seller-cart-form { align-self:start; }
