/* Homepage Shop only: one thin gallery ledge, not product cards. */
.bf-home-shop .bf-shop-display { --shop-visual-height:290px; --shop-gap:60px; max-width:1280px; margin-inline:auto; }
.bf-home-shop .bf-shop-header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:clamp(20px,2.8vw,36px); }
.bf-home-shop .bf-shop-header > .bf-home-heading { text-transform:uppercase; margin:0 !important; }
.bf-home-shop .bf-shop-intro { max-width:44ch; font-size:15px; line-height:1.55; color:#66665f; }
.bf-home-shop .bf-shop-intro p { margin:0; }
.bf-home-shop .bf-shop-shelves { display:grid; gap:70px; }
.bf-home-shop .bf-shop-shelf-row { position:relative; display:grid; grid-template-columns:repeat(var(--shop-count),minmax(0,280px)); justify-content:center; column-gap:var(--shop-gap); }
/* Selected decorative image is the only shelf; no CSS bar or fallback line. */
.bf-home-shop .bf-shop-shelf-row::before,
.bf-home-shop .bf-shop-shelf-row::after,
.bf-home-shop .bf-shop-object::before,
.bf-home-shop .bf-shop-object::after { content:none !important; display:none !important; }
.bf-home-shop .bf-shop-shelf-art { position:absolute; z-index:2; top:var(--shop-visual-height); left:0; display:block; width:100%; height:26px; overflow:hidden; pointer-events:none; }
.bf-home-shop .bf-shop-object > .bf-shop-shelf-art { display:none; }
.bf-home-shop .bf-shop-object { min-width:0; position:relative; }
.bf-home-shop .bf-shop-visual { display:flex; align-items:flex-end; justify-content:center; height:var(--shop-visual-height); position:relative; isolation:isolate; text-decoration:none; }
.bf-home-shop .bf-shop-visual::after { content:""; position:absolute; z-index:-1; bottom:0; width:62%; height:5px; border-radius:50%; background:rgba(45,45,35,.09); filter:blur(4px); }
.wp-site-blocks .bf-home-shop .bf-shop-visual img { display:block; width:auto !important; height:auto !important; max-width:100% !important; max-height:280px !important; object-fit:contain !important; margin:0 !important; transition:opacity 400ms ease; }
.wp-site-blocks .bf-home-shop .bf-shop-visual .bf-shop-secondary { position:absolute; bottom:0; left:50%; transform:translateX(-50%); opacity:0; }
.bf-home-shop .bf-shop-visual[data-secondary-active="true"] .bf-shop-primary { opacity:0; }
.bf-home-shop .bf-shop-visual[data-secondary-active="true"] .bf-shop-secondary { opacity:1; }
.bf-home-shop .bf-shop-label { padding-top:30px; }
.bf-home-shop .bf-shop-label h3 { margin:0; font-size:17px; line-height:1.35; letter-spacing:-.01em; }
.bf-home-shop .bf-shop-price { margin-top:8px; font-size:16px; line-height:1.5; color:#66665f; }
.bf-home-shop .bf-shop-price del { opacity:.6; }
.bf-home-shop .bf-shop-price ins { text-decoration:none; }
.bf-home-shop .bf-shop-link { display:inline-block; margin-top:15px; font-size:12px; letter-spacing:.09em; text-transform:uppercase; }
.bf-home-shop .bf-shop-end { margin-top:20px; text-align:center; text-transform:uppercase; }
.bf-home-shop .bf-shop-end .bf-home-action { font-size:14px; letter-spacing:.08em; }
@media(max-width:1180px) { .bf-home-shop .bf-shop-display { --shop-gap:32px; } .bf-home-shop .bf-shop-shelf-row { grid-template-columns:repeat(min(2,var(--shop-count)),minmax(0,280px)); row-gap:60px; } }
/* Multiple desktop shelves share four slots, including empty second-row slots. */
@media(min-width:1181px) {
  /* Let the intro keep its natural one-line width without changing type size. */
  .bf-home .bf-home-shop .bf-shop-header.bf-home-intro { grid-template-columns:minmax(0,42fr) minmax(max-content,52fr); }
  .bf-home-shop .bf-shop-shelves:has(> .bf-shop-shelf-row:nth-child(2)) > .bf-shop-shelf-row { grid-template-columns:repeat(4,minmax(0,280px)); }
}
@media(max-width:599px) {
  .bf-home-shop .bf-shop-display { --shop-visual-height:180px; --shop-gap:20px; }
  .bf-home-shop .bf-shop-header { display:block; margin-bottom:20px; }
  .bf-home-shop .bf-shop-intro { margin-top:12px; font-size:14px; }
  .bf-home-shop .bf-shop-shelf-row { grid-template-columns:repeat(min(2,var(--shop-count)),minmax(0,160px)); }
  .wp-site-blocks .bf-home-shop .bf-shop-visual img { max-height:160px !important; }
  .bf-home-shop .bf-shop-shelf-art { height:20px; }
  .bf-home-shop .bf-shop-label { padding-top:26px; }
  .bf-home-shop .bf-shop-label h3 { min-height:4.05em; font-size:16px; }
  .bf-home-shop .bf-shop-link { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; }
  .bf-home-shop .bf-shop-shelves { gap:48px; }
}
@media(max-width:359px) { .bf-home-shop .bf-shop-label h3 { min-height:5.4em; } }
/* Without JavaScript, wrapped mobile/tablet products still have individual ledges. */
@media(max-width:1180px) {
  .bf-home-shop [data-shop-shelf]:not([data-shop-enhanced]) .bf-shop-shelf-row > .bf-shop-shelf-art { display:none; }
  .bf-home-shop [data-shop-shelf]:not([data-shop-enhanced]) .bf-shop-object > .bf-shop-shelf-art { display:block; left:-12px; width:calc(100% + 24px); }
}
@media(prefers-reduced-motion:reduce) { .bf-home-shop .bf-shop-visual img { transition:none !important; } }
