/* Photograph-led homepage shelves. */
.home-page .photo-product-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 90px)/6);gap:18px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 18px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cfb58d #eee8dd;overscroll-behavior-x:contain}
.photo-product-rail>.product{min-width:0;scroll-snap-align:start}
.photo-product-rail .gallery-img-wrap{background:#fff;height:170px}
.photo-product-rail img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
.photo-shelf-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.shelf-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d5cbbb;background:#fffdf7;border-radius:50%;color:#31432d;cursor:pointer;transition:background .2s,transform .2s}
.shelf-arrow:hover{background:#f1e4d0;transform:translateY(-2px)}
.shelf-arrow[data-action=shelf-prev] svg{transform:rotate(180deg)}
.photo-shelf-controls .btn-section-action{margin-left:6px}
.home-page .category-tile .cat-thumb{background:#fffdf7;border:1px solid #e2d8c8;overflow:hidden;border-radius:18px}
.home-page .category-tile .cat-photo{width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:normal;transition:transform .25s}
.home-page .category-tile:hover .cat-photo{transform:scale(1.06)}
.home-page .gallery-name{line-height:1.4;height:4.2em;min-height:4.2em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.home-page .gallery-pack{min-height:2.4em}
@media(max-width:1100px){.home-page .photo-product-rail{grid-auto-columns:calc((100% - 48px)/4);gap:16px}}
@media(max-width:700px){.home-page .photo-product-rail{grid-auto-columns:calc((100% - 22px)/2.15);gap:12px;padding-bottom:14px}.photo-product-rail .gallery-img-wrap{height:140px}.photo-shelf .section-title{align-items:center;gap:10px}.photo-shelf .section-title h2{font-size:24px}.photo-shelf-controls{gap:5px}.photo-shelf-controls .btn-section-action{font-size:10px;margin-left:0;white-space:nowrap}.shelf-arrow{width:28px;height:28px}.photo-shelf .section-title .eyebrow{font-size:8px}.home-page .category-tile .cat-photo{padding:8px}}
@media(max-width:380px){.photo-shelf-controls .shelf-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.shelf-arrow,.home-page .category-tile .cat-photo{transition:none}}
