/* Product cards, listing pages and product page extras (shared with the prerendered pages) */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:30px 24px;}
.prod-card{position:relative;background:var(--card);border:2px solid var(--ink);border-radius:10px;padding:12px;box-shadow:6px 6px 0 var(--shade);cursor:pointer;transition:transform .15s, box-shadow .15s;}
.prod-card:nth-child(odd){transform:rotate(-.7deg);} .prod-card:nth-child(even){transform:rotate(.6deg);}
.prod-card:hover{transform:rotate(0) translateY(-4px);box-shadow:8px 10px 0 var(--shade);}
.prod-card::after{content:"";display:block;height:8px;margin:12px -12px -12px;background:var(--airmail);border-top:2px solid var(--ink);border-radius:0 0 7px 7px;}
.prod-thumb{position:relative;aspect-ratio:1/1;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:13%;}
.prod-thumb:has(img.photo){padding:0;}
.prod-thumb img{width:100%;height:100%;}
.prod-thumb img.photo{object-fit:cover;}
.pm-code{position:absolute;top:8px;right:8px;width:42px;height:42px;border-radius:50%;border:2px solid var(--ink);background:rgba(255,251,238,.88);display:flex;align-items:center;justify-content:center;font:800 .72rem 'Figtree',sans-serif;transform:rotate(-12deg);box-shadow:inset 0 0 0 2px var(--card),inset 0 0 0 3.5px var(--ink);}
.prod-info{padding:14px 2px 6px;}
.prod-info h3{font-family:'Figtree',sans-serif;font-weight:700;font-size:.98rem;line-height:1.3;min-height:2.6em;}
.prod-sub{font-size:.8rem;color:var(--muted);margin:2px 0 8px;font-weight:600;}
.prod-price{font-family:'Rammetto One',cursive;font-size:1.25rem;margin:0 0 12px;}
.btn-add{width:100%;display:flex;align-items:center;justify-content:center;background:var(--jade);color:#fff;border:2px solid var(--ink);padding:10px;border-radius:30px;font-weight:800;font-size:.9rem;transition:background .12s;}
.btn-add:hover{background:var(--deep);}
.empty-note{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px 20px;font-weight:600;}

/* stretched link: the whole card opens the product page, the Amazon button stays clickable */
.prod-card .prod-info h3 a.stretch{color:inherit;text-decoration:none;}
.prod-card .prod-info h3 a.stretch::after{content:"";position:absolute;inset:0;z-index:1;}
.prod-card .btn-add{position:relative;z-index:2;}
.prod-grid{margin-top:14px;}
.crumbs{padding:26px 0 0;font-size:.88rem;font-weight:700;color:var(--deep);}
.crumbs a{text-decoration:underline;text-underline-offset:3px;}
.listing-head{padding:22px 0 8px;max-width:820px;}
.listing-head h1{font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.1;margin:6px 0 14px;}
.listing-head .intro p{margin:0 0 10px;color:var(--muted);font-size:1.02rem;}
.more{margin-top:54px;}
.more h2{font-size:clamp(1.3rem,3vw,1.8rem);margin:0 0 10px;}
.link-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.link-list a{display:inline-block;background:var(--card);border:2px solid var(--ink);border-radius:30px;padding:6px 16px;font-weight:700;font-size:.88rem;}
.link-list a:hover{background:var(--mint);}
.stores{margin-top:26px;}
.stores h2{font-size:1rem;font-family:'Figtree',sans-serif;font-weight:800;margin:0 0 8px;}
.stores ul{display:flex;flex-wrap:wrap;gap:8px;}
.stores a{display:inline-block;background:var(--card);border:2px solid var(--ink);border-radius:30px;padding:4px 14px;font-weight:700;font-size:.84rem;}
.stores a:hover{background:var(--mint);}
.price-note,.buy-note{font-size:.8rem;color:var(--muted);margin:-8px 0 16px;}
.buy-note{margin:10px 0 0;}
.market-notice{background:var(--mint);border:2px solid var(--ink);border-radius:14px;padding:10px 16px;font-weight:600;font-size:.9rem;margin:16px 0 0;}
.market-notice a{text-decoration:underline;font-weight:800;}
.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;}
.design-link{display:flex;flex-direction:column;gap:6px;background:var(--card);border:2px solid var(--ink);border-radius:14px;padding:10px;box-shadow:4px 4px 0 var(--shade);transition:transform .15s;}
.design-link:hover{transform:translateY(-3px);}
.design-link img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:var(--sand);}
.design-link span{font-weight:700;font-size:.86rem;line-height:1.25;}
.design-link small{color:var(--muted);font-size:.74rem;font-weight:600;}
.empty-state{text-align:center;padding:60px 20px;color:var(--muted);font-weight:600;}
@media (max-width:560px){.prod-grid{grid-template-columns:1fr 1fr;gap:24px 12px;}.design-grid{grid-template-columns:1fr 1fr;}}

/* guide articles */
.article{max-width:760px;margin:0 auto;}
.article .listing-head{max-width:none;padding-bottom:0;}
.article .meta{color:var(--muted);font-size:.86rem;font-weight:600;margin:0 0 6px;}
.article-body{font-size:1.04rem;line-height:1.75;}
.article-body h2{font-size:clamp(1.3rem,3vw,1.7rem);margin:40px 0 10px;line-height:1.2;scroll-margin-top:90px;}
.article-body h3{font-size:1.15rem;margin:26px 0 8px;}
.article-body p{margin:0 0 16px;}
.article-body ul,.article-body ol{margin:0 0 18px;padding-left:22px;}
.article-body ul{list-style:disc;} .article-body ol{list-style:decimal;}
.article-body li{margin:6px 0;}
.article-body a{color:var(--deep);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.article + .more{max-width:1100px;margin-left:auto;margin-right:auto;}

/* sticky "View on Amazon" bar, phones only; it appears when the main button scrolls out of view */
.sticky-cta{display:none;}
@media (max-width:700px){
  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:12px;
    background:var(--paper);border-top:2px solid var(--ink);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 18px rgba(51,57,46,.12);}
  .sticky-cta[hidden]{display:none;}
  .sticky-cta .sc-text{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
  .sticky-cta .sc-text strong{font-family:'Rammetto One',cursive;font-weight:400;font-size:1.05rem;}
  .sticky-cta .sc-text span{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sticky-cta .btn{flex:0 0 auto;padding:11px 18px;font-size:.9rem;}
}
