.home-product-section { padding: clamp(32px,5vw,72px) 0; background:#f7f7f2; color:#1d231b; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.home-product-section + .home-product-section { padding-top:12px; }
.home-product-container { width:min(1400px,calc(100% - 48px)); margin-inline:auto; }
.home-product-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:28px; }
.home-product-eyebrow { margin:0 0 9px; color:#617b2c; font-size:11px; letter-spacing:.13em; font-weight:500; }
.home-product-heading h2 { margin:0; font-size:clamp(25px,3vw,38px); line-height:1.15; letter-spacing:-.03em; overflow-wrap:anywhere; }
.home-product-description { max-width:65ch; margin:12px 0 0; line-height:1.6; color:#62695c; overflow-wrap:anywhere; }
.home-product-browse { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:#26341e; text-decoration:none; font-size:13px; font-weight:500; white-space:nowrap; }
.home-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.home-product-card { min-width:0; display:flex; flex-direction:column; background:white; border:1px solid #dce1d5; border-radius:12px; overflow:hidden; }
.home-product-image { display:grid; place-items:center; aspect-ratio:1; padding:16px; background:#fff; overflow:hidden; }
.home-product-image img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .2s ease; }
.home-product-card:hover .home-product-image img { transform:scale(1.025); }
.home-product-placeholder { display:grid; place-items:center; min-height:100px; width:100%; color:#a6b08f; font-size:26px; font-weight:800; }
.home-product-placeholder[hidden] { display:none; }
.home-product-image .product-image-source.is-unavailable { display:none; }
.home-product-image .product-image-source.is-unavailable + .product-image-fallback { display:grid; }
.home-product-info { display:flex; flex:1; flex-direction:column; padding:16px; }
.home-product-category { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:#6f7a60; margin:0 0 8px; overflow-wrap:anywhere; }
.home-product-info h3 { font-size:14px; font-weight:500; line-height:1.5; margin:0 0 12px; overflow-wrap:anywhere; }
.home-product-info h3 a { color:inherit; text-decoration:none; }
.home-product-facts { display:flex; flex-wrap:wrap; gap:6px; margin:auto 0 16px; font-size:11px; color:#58634c; }
.home-product-facts span { background:#f0f3ea; padding:4px 8px; border-radius:4px; overflow-wrap:anywhere; }
.home-product-detail { min-height:44px; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 12px; border:1px solid #cdd6c1; border-radius:6px; color:#27371d; text-decoration:none; font-size:12px; font-weight:500; }
.home-product-detail:hover { background:#eaf1d9; color:#27371d; }
.home-product-section a:focus-visible { outline:3px solid #87a544; outline-offset:3px; }
@media(max-width:1050px){ .home-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } }
@media(max-width:767px){ .home-product-container { width:calc(100% - 32px); } .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .home-product-heading { align-items:start; flex-direction:column; gap:8px; margin-bottom:20px; } .home-product-info { padding:12px; } .home-product-image { padding:10px; } .home-product-info h3 { font-size:13px; } .home-product-detail { font-size:11px; padding:8px; } .home-product-description { font-size:14px; } }
@media(max-width:359px){ .home-product-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce){ .home-product-image img { transition:none; } .home-product-card:hover .home-product-image img { transform:none; } }
/* Compact cards and a two-card mobile carousel on the home page. */
.home-product-info h3 a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.home-product-info h3 { min-height:3em; }
.home-product-controls { display:none; }
@media(max-width:767px){
    [data-home-product-carousel] .home-product-container { width:calc(100% - 16px); }
    [data-home-product-carousel] .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
    [data-home-product-carousel] .home-product-info { padding:6px; }
    [data-home-product-carousel] .home-product-image { padding:5px; }

}

/* The same loop serves desktop and mobile, with responsive visible-card counts. */
[data-home-product-carousel] { --product-columns:4; --product-gap:22px; }
    [data-home-product-carousel] .home-product-grid.is-carousel { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
    [data-home-product-carousel] .home-product-grid.is-carousel::-webkit-scrollbar { display:none; }
    .home-product-grid.is-carousel > .home-product-card { flex:0 0 calc((100% - (var(--product-columns) - 1)*var(--product-gap))/var(--product-columns)); scroll-snap-align:start; }
    .home-product-grid.is-resetting { scroll-snap-type:none !important; scroll-behavior:auto !important; }
    .home-product-controls:not([hidden]) { display:flex; align-items:center; gap:8px; }
    .home-product-controls button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid var(--line,#d9ddd5); border-radius:50%; background:transparent; color:var(--ink,#131613); cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
    .home-product-controls button:focus-visible { outline:3px solid #87a544; outline-offset:2px; }
.home-product-grid.is-carousel { gap:var(--product-gap); }
.home-product-grid.is-carousel:focus-visible { outline:2px solid #87a544; outline-offset:3px; }
@media(max-width:1050px){ [data-home-product-carousel] { --product-columns:3; --product-gap:16px; } }
@media(max-width:767px){ [data-home-product-carousel] { --product-columns:2; --product-gap:6px; } }

.home-product-heading-actions { display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-left:auto; flex-shrink:0; }
.home-product-controls button:hover { background:var(--ink,#131613); border-color:var(--ink,#131613); color:#fff; }
.home-product-controls svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.home-product-controls .home-product-play-icon { display:none; }
.home-product-controls [data-paused="true"] .home-product-pause-icon { display:none; }
.home-product-controls [data-paused="true"] .home-product-play-icon { display:block; }
@media(max-width:767px){ .home-product-heading-actions { flex-wrap:wrap; gap:12px; max-width:100%; } }
@media(prefers-reduced-motion:reduce){ .home-product-controls button { transition:none; } }
