/* A centered product shelf shared by the home page and catalog. */
.product-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:22px}
.product-grid:has(>article:nth-child(2):last-child){max-width:800px;margin-inline:auto;gap:22px}
.product-grid>.pufy-product{flex:0 1 360px;width:100%}
.catalog-page .catalog-section:has(.product-grid>article:nth-child(2):last-child) .catalog-result,.catalog-page .catalog-section:has(.product-grid>article:nth-child(2):last-child) .price-note{max-width:742px;margin-inline:auto}
.catalog-page .catalog-section{padding-bottom:62px}
.pufy-product{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #ebe7de;border-radius:20px;background:#fff;box-shadow:0 10px 36px rgba(17,29,74,.035);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.pufy-product:hover{transform:translateY(-4px);border-color:#dfd5c4;box-shadow:0 22px 48px rgba(17,29,74,.095)}
.pufy-product:focus-within{border-color:#b79158}
.product-picture{position:relative;display:block;height:315px;padding:0;isolation:isolate;overflow:hidden;background:#f6f1e9}
.product-picture::after{content:"";position:absolute;inset:auto 0 0;height:36%;z-index:1;background:linear-gradient(transparent,rgba(20,27,39,.12));pointer-events:none}
.product-picture--pack{background:radial-gradient(circle at 51% 56%,#fffdf8 0 24%,#f8f2e9 61%,#f2eadf 100%)}
.product-picture--pack::after{background:linear-gradient(transparent,rgba(124,92,57,.055))}
.product-picture>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .42s ease,opacity .28s ease}
.product-picture--editorial>img:first-child{object-fit:cover;object-position:center 20%}
.product-picture--pack>img:first-child{inset:50% auto auto 50%;width:105%;height:105%;object-fit:contain;mix-blend-mode:multiply;transform:translate(-50%,-50%)}
.pufy-product:hover .product-picture--editorial>img:first-child,.pufy-product:focus-within .product-picture--editorial>img:first-child{transform:scale(1.035)}
.pufy-product:hover .product-picture--pack>img:first-child,.pufy-product:focus-within .product-picture--pack>img:first-child{transform:translate(-50%,-50%) scale(1.045)}
.product-picture .product-secondary{inset:0;width:100%;height:100%;object-fit:cover;padding:0;background:#f6f1e9;opacity:0;transition:opacity .32s ease,transform .42s ease}
.pufy-product:hover .product-picture .product-secondary,.pufy-product:focus-within .product-picture .product-secondary{opacity:1;transform:scale(1.025)}
.product-picture-arrow{position:absolute;top:15px;right:15px;z-index:3;display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.84);border-radius:50%;background:rgba(255,255,255,.92);color:#172344;font-size:19px;line-height:1;box-shadow:0 4px 16px rgba(20,30,50,.1);transition:transform .25s ease,background .25s ease}
.pufy-product:hover .product-picture-arrow,.product-picture:focus-visible .product-picture-arrow{transform:translate(2px,-2px);background:#fff}
.product-picture .gallery-count-badge,.product-picture .sold-out-badge{bottom:18px;left:20px;z-index:3;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.92);box-shadow:none;color:#24304d;letter-spacing:.02em}
.product-picture .sold-out-badge{background:#172344;color:#fff;border-color:#172344}
.product-copy{display:flex;flex:1;flex-direction:column;padding:20px 22px 21px}
.product-copy .product-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:#8d6b45;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.product-copy .product-meta span:last-child:not(:first-child){color:#8c91a0;letter-spacing:.06em;white-space:nowrap}
.product-copy h3{font-size:clamp(19px,1.7vw,21px);letter-spacing:-.035em;line-height:1.25;margin:10px 0 7px;color:#142142}
.product-copy h3 a:hover{color:#a56925}
.product-copy p{margin:0;color:#66718b;font-size:13px;line-height:1.65;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-copy .product-buy{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-top:auto;padding-top:17px}
.product-copy .product-buy strong{font-size:21px;letter-spacing:-.035em;white-space:nowrap}
.product-buy form{margin:0}
.product-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:40px;min-width:128px;padding:0 12px;border:1px solid #152243;border-radius:99px;background:#152243;color:#fff;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;transition:background .2s ease,transform .2s ease}
.product-add span:first-child{font-size:20px;font-weight:400;line-height:.8}
.product-add:hover:not(:disabled){background:#263b71;transform:translateY(-2px)}
.product-add:focus-visible,.product-picture:focus-visible,.product-copy h3 a:focus-visible{outline:3px solid #dba858;outline-offset:3px}
@media(max-width:820px){.product-grid:has(>article:nth-child(2):last-child){gap:17px}.product-picture{height:300px}.product-copy{padding:19px}.product-copy h3{font-size:19px}.product-copy .product-buy{align-items:center;flex-direction:row;gap:10px}.product-add{min-width:125px}}
@media(max-width:570px){.product-grid,.product-grid:has(>article:nth-child(2):last-child){gap:18px}.product-picture{height:295px}.product-picture--editorial>img:first-child{object-position:center 42%}.product-copy{padding:20px 21px 21px}.product-copy .product-buy{align-items:center;flex-direction:row}.product-add{min-width:0;padding:0 12px}.product-picture-arrow{top:14px;right:14px}}
@media(max-width:340px){.product-copy .product-buy{align-items:flex-start;flex-direction:column}.product-add{min-width:128px}}
@media(prefers-reduced-motion:reduce){.pufy-product,.product-picture img,.product-picture-arrow,.product-add{transition:none!important}.pufy-product:hover{transform:none}.pufy-product:hover .product-picture img{transform:none}}
