/* Shop pages: cards and product pages in the WLC look. Colours are the brand ones used across the site. */
.shop-note{display:flex;gap:1rem;align-items:flex-start;border:4px dashed #b68fff;background:#f1eaff;border-radius:22px;padding:1.25rem 1.5rem}
.shop-note .pill{flex:none}
.shop-note h2,.shop-note p.note-title{font-family:var(--font-display);color:#9d0191;font-size:1.5rem;line-height:1.15;margin:0}
.shop-note p{margin:.35rem 0 0;color:#3d1670;font-size:1.0625rem;line-height:1.6}
.pill{display:inline-block;background:#acde06;color:#3d1670;border:3px solid #5914af;border-radius:9999px;padding:.2rem .85rem;font-weight:700;font-size:.9375rem;line-height:1.4}
.shop-grid{display:grid;gap:1.75rem;grid-template-columns:1fr}
@media (min-width:640px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.shop-card{display:flex;flex-direction:column;background:#fff;border:4px solid #5914af;border-radius:22px;overflow:hidden;color:#3d1670;transition:transform .2s}
.shop-card:hover{transform:translateY(-4px) rotate(-.4deg)}
.shop-card .pic{background:#f1eaff;aspect-ratio:1/1;display:block}
.shop-card .pic img{width:100%;height:100%;object-fit:contain;display:block}
.shop-card .body{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.25rem 1.5rem;flex:1}
.shop-card h2{font-family:var(--font-display);color:#9d0191;font-size:1.375rem;line-height:1.2;margin:0;font-weight:400}
.shop-card h2 a{text-decoration:none;color:inherit}
.shop-card h2 a::after{content:"";position:absolute;inset:0}
.shop-card{position:relative}
.shop-card .price{font-weight:700;font-size:1.25rem;color:#5914af;margin:0}
.shop-card .line{margin:0;font-size:1rem;line-height:1.55}
.shop-card .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.5rem}
.shop-card .more{font-weight:700;color:#5914af;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.shop-card:focus-within{outline:4px solid #ff8ae2;outline-offset:3px}
.pdp{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:900px){.pdp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}}
.pdp-gallery{display:grid;gap:1rem}
.pdp-gallery figure{margin:0;border:4px solid #5914af;border-radius:22px;overflow:hidden;background:#f1eaff}
.pdp-gallery img{display:block;width:100%;height:auto}
@media (min-width:900px){.pdp-info{position:sticky;top:6rem}}
.pdp-info .price{font-family:var(--font-display);color:#9d0191;font-size:2rem;margin:.5rem 0 1rem}
.pdp-desc{margin-top:2rem;font-size:1.0625rem;line-height:1.7}
.pdp-desc p{margin:0 0 1rem}
.pdp-desc ul{margin:0 0 1rem;padding-left:1.25rem}
.pdp-desc li{margin-bottom:.5rem}
.pdp-desc li p{margin:0}
.crumb{font-size:1rem;margin:0 0 1rem}
.crumb a{color:#5914af;font-weight:700;text-underline-offset:4px}

/* Buy controls (shop opened 23 Oct 2026). The .wlc-buy wrapper sits above the card's stretched
   link overlay so the button takes its own clicks. */
.shop-card .foot{flex-wrap:wrap}
.wlc-buy{position:relative;z-index:10}
.wlc-add{display:inline-block;background:#5914af;color:#fff;border:3px solid #3d1670;border-radius:9999px;padding:.5rem 1.4rem;font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1.3;cursor:pointer;transition:transform .15s ease,background-color .15s ease}
.wlc-add:hover:not(:disabled){background:#3d1670;transform:translateY(-2px)}
.wlc-add:focus-visible{outline:4px solid #ff8ae2;outline-offset:3px}
.wlc-add:disabled{opacity:.5;cursor:default}
.wlc-buy-page .wlc-add{padding:.8rem 2rem;font-size:1.15rem}
.wlc-buy-error{margin:.5rem 0 0;font-size:.9rem;font-weight:700;color:#c40f52}
.pdp-buy{margin:0 0 1.5rem}
