/* Two quiet browsing rows on mobile; a complete grid on larger screens. */
.browse-intro { color:var(--muted); margin:.65rem 0 0; font-size:.88rem; }
.browse-scroll-hint { color:var(--muted); font-size:.75rem; margin:0 0 .8rem; }
.browse-grid { list-style:none; margin:0; padding:5px 5px 16px; display:grid; grid-template-rows:repeat(2,auto); grid-auto-flow:column; grid-auto-columns:156px; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#cb7e8b #faefeb; }
.browse-card { min-width:0; }
.browse-card > a,.browse-pending { display:block; height:100%; border:1px solid #f0dfda; background:#fff9f6; border-radius:15px; overflow:hidden; text-decoration:none; }
.browse-media { aspect-ratio:1; overflow:hidden; background:#f8eee7; }
.browse-media img { width:100%; height:100%; object-fit:cover; display:block; }
.browse-copy { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:13px 11px; }
.browse-copy h3 { font-family:inherit; font-size:.82rem; line-height:1.35; margin:0; font-weight:650; min-height:2.7em; display:flex; align-items:center; }
.browse-copy .icon { width:24px; height:24px; padding:4px; flex-shrink:0; color:#a34e60; background:white; border-radius:50%; }
.browse-card a:hover,.browse-card a:focus-visible { border-color:#c37587; }
.browse-card a:hover h3 { color:#9a3e55; }
.browse-occasions { padding:24px 16px; margin-inline:-16px; border-radius:24px; background:#fcf3ef; }
.browse-occasions .browse-card > a { background:#fffaf7; border-color:#eedbd2; }
.browse-occasions .browse-media { aspect-ratio:1.25; }
@media(min-width:768px) {
 .browse-grid { grid-template-rows:none; grid-auto-flow:row; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; padding:5px; gap:18px; }
 .browse-scroll-hint { display:none; }
 .browse-occasions { padding:32px 24px; margin-inline:0; }
}
@media(min-width:1200px) {
 .browse-products .browse-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .browse-occasions .browse-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:14px; }
 .browse-copy { padding:14px 12px; }
 .browse-occasions .browse-copy { padding:12px 9px; }
 .browse-occasions .browse-copy h3 { font-size:.76rem; }
}
@media(prefers-reduced-motion:no-preference) {
 .browse-media img { transition:transform .25s ease; }
 .browse-card a:hover .browse-media img { transform:scale(1.035); }
}

/* Show complete illustrated scenes without cropping faces or keepsakes. */
.browse-occasions .browse-media { aspect-ratio:1; }
.browse-occasions .browse-media img { object-fit:contain; }
