HTML
Copy
<div><span class="mb-4 block text-[.72rem] tracking-[.12em] text-[#475569] uppercase">Colour and size swatches with a sale price</span>
<ul class="grid grid-cols-[repeat(auto-fill,minmax(300px,1fr))] gap-6 max-sm:grid-cols-1">
<li><article class="flex h-full flex-col overflow-hidden rounded-[20px] bg-white shadow-[0_1px_2px_rgba(15,23,42,.06),0_10px_30px_-18px_rgba(15,23,42,.35)]">
<div class="relative aspect-square overflow-hidden bg-[#e9eef4]">
<img class="size-full object-cover" src="https://images.unsplash.com/photo-1556821840-3a63f95609a7?auto=format&fit=crop&w=700&q=70" alt="Person seen from behind wearing a grey hooded sweatshirt outdoors" width="700" height="700" loading="lazy">
<span class="absolute top-3.5 left-3.5 rounded-lg bg-[#be123c] px-[11px] py-[5px] text-xs leading-[1.3] font-bold tracking-[.03em] text-white">Sale</span>
</div>
<div class="flex flex-1 flex-col gap-3 px-5 pt-[18px] pb-5">
<div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1">
<h3 class="text-[1.08rem] leading-[1.3] font-bold tracking-[-.01em]"><a href="#" class="text-[#0f172a] underline-offset-3 hover:underline focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb]">Merino Pullover Hoodie</a></h3>
<p class="flex items-baseline gap-2 text-[1.1rem] font-bold text-[#be123c]"><span class="sr-only">Sale price</span>$72 <s class="text-[.875rem] font-medium text-[#475569]"><span class="sr-only">Was</span> $96</s></p>
</div>
<p class="-mt-1.5 flex items-center gap-1.5 text-[.8rem] text-[#475569]"><span class="bg-[linear-gradient(90deg,#d97706_92%,#cbd5e1_0)] bg-clip-text text-[.9rem] leading-none tracking-[1px] text-transparent" aria-hidden="true">★★★★★</span><span class="sr-only">Rated 4.6 out of 5, 204 reviews</span><span aria-hidden="true">4.6 (204)</span></p>
<fieldset class="min-w-0"><legend class="mb-2 text-[.72rem] font-bold tracking-[.1em] text-[#475569] uppercase">Colour</legend><div class="flex flex-wrap gap-2">
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="hoodie-colour" value="heather" checked><i class="block size-7 rounded-full bg-[#9ca3af] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Heather grey</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="hoodie-colour" value="charcoal"><i class="block size-7 rounded-full bg-[#374151] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Charcoal</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="hoodie-colour" value="forest"><i class="block size-7 rounded-full bg-[#166534] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Forest green</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="hoodie-colour" value="oat"><i class="block size-7 rounded-full bg-[#d6c7a8] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Oat</span></label>
</div></fieldset>
<fieldset class="min-w-0"><legend class="mb-2 text-[.72rem] font-bold tracking-[.1em] text-[#475569] uppercase">Size</legend><div class="flex flex-wrap gap-2">
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="hoodie-size" value="xs" disabled><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">XS<span class="sr-only"> (sold out)</span></span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="hoodie-size" value="s"><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">S</span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="hoodie-size" value="m" checked><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">M</span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="hoodie-size" value="l"><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">L</span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="hoodie-size" value="xl"><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">XL</span></label>
</div></fieldset>
<button type="button" class="mt-auto cursor-pointer rounded-xl bg-[#0f172a] px-4 py-3 text-[.92rem] font-semibold text-white transition-colors duration-150 hover:bg-[#334155] focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb] motion-reduce:transition-none">Add<span class="sr-only"> Merino Pullover Hoodie</span> to cart</button>
</div>
</article></li>
<li><article class="flex h-full flex-col overflow-hidden rounded-[20px] bg-white shadow-[0_1px_2px_rgba(15,23,42,.06),0_10px_30px_-18px_rgba(15,23,42,.35)]">
<div class="relative aspect-square overflow-hidden bg-[#e9eef4]">
<img class="size-full object-cover" src="https://images.unsplash.com/photo-1560343090-f0409e92791a?auto=format&fit=crop&w=700&q=70" alt="Teal suede lace-up shoe balanced on a peach on a pale pink set" width="700" height="700" loading="lazy">
<span class="absolute top-3.5 left-3.5 rounded-lg bg-[#be123c] px-[11px] py-[5px] text-xs leading-[1.3] font-bold tracking-[.03em] text-white">Sale</span>
</div>
<div class="flex flex-1 flex-col gap-3 px-5 pt-[18px] pb-5">
<div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1">
<h3 class="text-[1.08rem] leading-[1.3] font-bold tracking-[-.01em]"><a href="#" class="text-[#0f172a] underline-offset-3 hover:underline focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb]">Suede City Brogue</a></h3>
<p class="flex items-baseline gap-2 text-[1.1rem] font-bold text-[#be123c]"><span class="sr-only">Sale price</span>$119 <s class="text-[.875rem] font-medium text-[#475569]"><span class="sr-only">Was</span> $165</s></p>
</div>
<p class="-mt-1.5 flex items-center gap-1.5 text-[.8rem] text-[#475569]"><span class="bg-[linear-gradient(90deg,#d97706_86%,#cbd5e1_0)] bg-clip-text text-[.9rem] leading-none tracking-[1px] text-transparent" aria-hidden="true">★★★★★</span><span class="sr-only">Rated 4.3 out of 5, 76 reviews</span><span aria-hidden="true">4.3 (76)</span></p>
<fieldset class="min-w-0"><legend class="mb-2 text-[.72rem] font-bold tracking-[.1em] text-[#475569] uppercase">Colour</legend><div class="flex flex-wrap gap-2">
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="brogue-colour" value="teal" checked><i class="block size-7 rounded-full bg-[#4f8a83] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Teal</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="brogue-colour" value="tan"><i class="block size-7 rounded-full bg-[#b07a4b] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Tan</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="brogue-colour" value="navy"><i class="block size-7 rounded-full bg-[#1e3a5f] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Navy</span></label>
</div></fieldset>
<fieldset class="min-w-0"><legend class="mb-2 text-[.72rem] font-bold tracking-[.1em] text-[#475569] uppercase">EU size</legend><div class="flex flex-wrap gap-2">
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="brogue-size" value="40"><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">40</span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="brogue-size" value="41"><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">41</span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="brogue-size" value="42" checked><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">42</span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="brogue-size" value="43"><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">43</span></label>
<label class="cursor-pointer has-disabled:cursor-not-allowed"><input class="peer sr-only" type="radio" name="brogue-size" value="44" disabled><span class="grid h-[38px] min-w-11 place-items-center rounded-[10px] border-[1.5px] border-[#94a3b8] px-2.5 text-[.85rem] font-semibold text-[#0f172a] transition-colors duration-150 peer-enabled:hover:border-[#0f172a] peer-checked:border-[#0f172a] peer-checked:bg-[#0f172a] peer-checked:text-white peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#2563eb] peer-disabled:border-dashed peer-disabled:text-[#64748b] peer-disabled:line-through motion-reduce:transition-none">44<span class="sr-only"> (sold out)</span></span></label>
</div></fieldset>
<button type="button" class="mt-auto cursor-pointer rounded-xl bg-[#0f172a] px-4 py-3 text-[.92rem] font-semibold text-white transition-colors duration-150 hover:bg-[#334155] focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb] motion-reduce:transition-none">Add<span class="sr-only"> Suede City Brogue</span> to cart</button>
</div>
</article></li>
</ul></div>
<div><span class="mb-4 block text-[.72rem] tracking-[.12em] text-[#475569] uppercase">Compact cards with colour dots</span>
<ul class="grid grid-cols-[repeat(auto-fill,minmax(230px,1fr))] gap-5">
<li><article class="flex h-full flex-col overflow-hidden rounded-[20px] bg-white shadow-[0_1px_2px_rgba(15,23,42,.06),0_10px_30px_-18px_rgba(15,23,42,.35)]">
<div class="relative aspect-square overflow-hidden bg-[#e9eef4]">
<img class="size-full object-cover" src="https://images.unsplash.com/photo-1600857062241-98e5dba7f214?auto=format&fit=crop&w=500&q=70" alt="Brown leather crossbody bag with a flap and a thin strap" width="500" height="500" loading="lazy">
<span class="absolute top-3.5 left-3.5 rounded-lg bg-[#be123c] px-[11px] py-[5px] text-xs leading-[1.3] font-bold tracking-[.03em] text-white">−30%</span>
</div>
<div class="flex flex-1 flex-col gap-3 px-5 pt-[18px] pb-5">
<div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><h3 class="text-[1.08rem] leading-[1.3] font-bold tracking-[-.01em]"><a href="#" class="text-[#0f172a] underline-offset-3 hover:underline focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb]">Saddle Crossbody Bag</a></h3></div>
<p class="flex items-baseline gap-2 text-[1.1rem] font-bold text-[#be123c] -mt-1.5"><span class="sr-only">Sale price</span>$84 <s class="text-[.875rem] font-medium text-[#475569]"><span class="sr-only">Was</span> $120</s></p>
<fieldset class="min-w-0"><legend class="sr-only">Colour</legend><div class="flex flex-wrap gap-2">
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="bag-colour" value="cognac" checked><i class="block size-[22px] rounded-full bg-[#9a5b2e] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Cognac</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="bag-colour" value="black"><i class="block size-[22px] rounded-full bg-[#1c1917] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Black</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="bag-colour" value="olive"><i class="block size-[22px] rounded-full bg-[#5b6236] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Olive</span></label>
</div></fieldset>
<button type="button" class="mt-auto cursor-pointer rounded-xl border-[1.5px] border-[#0f172a] px-3.5 py-2.5 text-[.92rem] font-semibold text-[#0f172a] transition-colors duration-150 hover:bg-[#0f172a] hover:text-white focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb] motion-reduce:transition-none">Add<span class="sr-only"> Saddle Crossbody Bag</span> to cart</button>
</div>
</article></li>
<li><article class="flex h-full flex-col overflow-hidden rounded-[20px] bg-white shadow-[0_1px_2px_rgba(15,23,42,.06),0_10px_30px_-18px_rgba(15,23,42,.35)]">
<div class="relative aspect-square overflow-hidden bg-[#e9eef4]">
<img class="size-full object-cover" src="https://images.unsplash.com/photo-1622560480605-d83c853bc5c3?auto=format&fit=crop&w=500&q=70" alt="Dusty rose leather backpack with a front pocket" width="500" height="500" loading="lazy">
<span class="absolute top-3.5 left-3.5 rounded-lg bg-[#be123c] px-[11px] py-[5px] text-xs leading-[1.3] font-bold tracking-[.03em] text-white">−15%</span>
</div>
<div class="flex flex-1 flex-col gap-3 px-5 pt-[18px] pb-5">
<div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><h3 class="text-[1.08rem] leading-[1.3] font-bold tracking-[-.01em]"><a href="#" class="text-[#0f172a] underline-offset-3 hover:underline focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb]">Roll-Top Leather Backpack</a></h3></div>
<p class="flex items-baseline gap-2 text-[1.1rem] font-bold text-[#be123c] -mt-1.5"><span class="sr-only">Sale price</span>$161 <s class="text-[.875rem] font-medium text-[#475569]"><span class="sr-only">Was</span> $190</s></p>
<fieldset class="min-w-0"><legend class="sr-only">Colour</legend><div class="flex flex-wrap gap-2">
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="pack-colour" value="rosewood" checked><i class="block size-[22px] rounded-full bg-[#9f6b5e] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Rosewood</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="pack-colour" value="cognac"><i class="block size-[22px] rounded-full bg-[#92400e] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Cognac</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="pack-colour" value="black"><i class="block size-[22px] rounded-full bg-[#1c1917] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Black</span></label>
</div></fieldset>
<button type="button" class="mt-auto cursor-pointer rounded-xl border-[1.5px] border-[#0f172a] px-3.5 py-2.5 text-[.92rem] font-semibold text-[#0f172a] transition-colors duration-150 hover:bg-[#0f172a] hover:text-white focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb] motion-reduce:transition-none">Add<span class="sr-only"> Roll-Top Leather Backpack</span> to cart</button>
</div>
</article></li>
<li><article class="flex h-full flex-col overflow-hidden rounded-[20px] bg-white shadow-[0_1px_2px_rgba(15,23,42,.06),0_10px_30px_-18px_rgba(15,23,42,.35)]">
<div class="relative aspect-square overflow-hidden bg-[#e9eef4]">
<img class="size-full object-cover" src="https://images.unsplash.com/photo-1592078615290-033ee584e267?auto=format&fit=crop&w=500&q=70" alt="Black moulded dining chair with oak legs on a blue-grey background" width="500" height="500" loading="lazy">
<span class="absolute top-3.5 left-3.5 rounded-lg bg-[#be123c] px-[11px] py-[5px] text-xs leading-[1.3] font-bold tracking-[.03em] text-white">−25%</span>
</div>
<div class="flex flex-1 flex-col gap-3 px-5 pt-[18px] pb-5">
<div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><h3 class="text-[1.08rem] leading-[1.3] font-bold tracking-[-.01em]"><a href="#" class="text-[#0f172a] underline-offset-3 hover:underline focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb]">Shell Dining Chair</a></h3></div>
<p class="flex items-baseline gap-2 text-[1.1rem] font-bold text-[#be123c] -mt-1.5"><span class="sr-only">Sale price</span>$66 <s class="text-[.875rem] font-medium text-[#475569]"><span class="sr-only">Was</span> $88</s></p>
<fieldset class="min-w-0"><legend class="sr-only">Colour</legend><div class="flex flex-wrap gap-2">
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="chair-colour" value="black" checked><i class="block size-[22px] rounded-full bg-[#1c1917] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Black</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="chair-colour" value="white"><i class="block size-[22px] rounded-full bg-[#f8fafc] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">White</span></label>
<label class="cursor-pointer"><input class="peer sr-only" type="radio" name="chair-colour" value="sage"><i class="block size-[22px] rounded-full bg-[#9caf88] shadow-[inset_0_0_0_1px_rgba(15,23,42,.3)] transition-shadow duration-150 peer-checked:shadow-[inset_0_0_0_1px_rgba(15,23,42,.3),0_0_0_2px_#fff,0_0_0_4px_#0f172a] peer-focus-visible:outline-3 peer-focus-visible:outline-offset-[5px] peer-focus-visible:outline-[#2563eb] motion-reduce:transition-none"></i><span class="sr-only">Sage</span></label>
</div></fieldset>
<button type="button" class="mt-auto cursor-pointer rounded-xl border-[1.5px] border-[#0f172a] px-3.5 py-2.5 text-[.92rem] font-semibold text-[#0f172a] transition-colors duration-150 hover:bg-[#0f172a] hover:text-white focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-[#2563eb] motion-reduce:transition-none">Add<span class="sr-only"> Shell Dining Chair</span> to cart</button>
</div>
</article></li>
</ul></div>