/* Match the homepage and Halloween retail cards, including square photographs. */
.shop-page main{width:100%;max-width:none}
.shop-page #shop,.shop-page .custom,.shop-page .faq{width:min(90%,1440px);padding-inline:0;margin-inline:auto}
.shop-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.shop-page .retail-card{padding:0;border:1px solid #d2dad1;border-radius:14px;overflow:hidden;background:#fffdf7;color:#20324f}
.shop-page .retail-card>a{display:flex;height:100%;flex-direction:column;color:inherit;text-decoration:none}
.shop-page .retail-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:0}
.shop-page .retail-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px}
.shop-page .retail-card .eyebrow{font:700 11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0}
.shop-page .retail-card h3{font:700 25px/1.06 Arial,Helvetica,sans-serif;margin:12px 0}
.shop-page .retail-card p{font-size:15px;line-height:1.6;margin:12px 0;color:inherit}
.shop-page .retail-card strong{display:block;margin-top:16px;font-size:16px}
.shop-page .retail-card>a:hover h3{text-decoration:underline;text-underline-offset:4px}
.shop-page .retail-card>a:focus-visible{outline:3px solid #526c92;outline-offset:-4px}
.shop-page .process,.shop-page .family-story{width:100%;padding-inline:max(5%,calc((100% - 1440px)/2))}
.shop-page .family-story{color:#faf8f1}
.shop-page .category-tabs{flex-wrap:wrap}
/* The static detail content keeps its shared layout under the portaled picker. */
.product-detail-page main,.product-detail-page header,.product-detail-page footer{max-width:none}
.product-detail-page #root:empty{display:none}
.product-detail-page .payment-section{width:min(90%,960px);margin:40px auto}
@media(max-width:900px){.shop-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shop-page #shop,.shop-page .custom,.shop-page .faq{width:88%}.shop-page .process,.shop-page .family-story{padding-inline:6%}.shop-page .product-grid{grid-template-columns:1fr}.shop-page .retail-card h3{font-size:24px}}
