/* Figma v3: semantic HTML with native WooCommerce loops and lightweight scrolling. */
.storefront-home{padding:0 0 60px;color:var(--ink)}
.storefront-home a:focus-visible,.storefront-home button:focus-visible,.home-product-viewport:focus-visible,.home-category-grid:focus-visible,.home-slides:focus-visible,.home-solution-grid:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.home-carousel{position:relative;background:#f7f8fa}
.home-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.home-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:3;margin:0}
.home-banner-link{display:block;width:100%;height:100%}
.home-slide .home-hero-image{display:block;width:100%;height:100%;object-fit:cover}
.home-carousel.is-enhanced .home-slides{scrollbar-width:none}
.home-carousel.is-enhanced .home-slides::-webkit-scrollbar{display:none}
.home-slider-controls[hidden],.home-product-controls[hidden],.home-product-pages[hidden]{display:none}
.home-slider-controls{display:flex;align-items:center;position:absolute;right:max(20px,calc((100vw - 1200px)/2));bottom:16px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:0 2px}
.home-slider-controls button{min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--ink);border-radius:3px}
.home-slider-controls button:hover{background:#f0f2ff;color:var(--primary)}
.home-slide-dots{display:flex}
.home-slide-dots button{min-width:28px}
.home-slide-dots button span{width:6px;height:6px;border-radius:50%;background:#a0a8b8}
.home-slide-dots button[aria-current=true] span{width:16px;border-radius:8px;background:var(--primary)}
.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;min-height:44px}
.home-section-heading h2{font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin:0;text-wrap:initial}
.home-section-heading a{font-size:15px;white-space:nowrap;font-weight:500;text-decoration:none;min-height:44px;display:flex;align-items:center}
.home-section-heading a:hover{text-decoration:underline}
.home-categories{padding-block:52px 56px}
.home-category-grid{display:grid;grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:calc((100% - 80px)/5);gap:24px 20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d1d3e1 #f7f8fa;padding-block:3px 10px}
.home-category{min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:7px;padding:8px 18px 12px;text-align:center;font-size:15px;font-weight:500;line-height:1.5;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:6px;background:#fff}
.home-category-image{height:136px;width:100%;display:flex;align-items:center;justify-content:center}
.home-category-image img{width:100%;height:100%;object-fit:contain}
.home-category:hover{color:var(--primary);border-color:#b3b1f4}
.home-category>span:last-child{overflow-wrap:anywhere;min-height:23px;display:flex;align-items:center;justify-content:center}
.home-solutions{background:#f7f8fa;padding:48px 0}
.home-solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-solution{display:block;background:#fff;border-radius:4px;overflow:hidden;text-decoration:none;color:var(--ink)}
.home-solution .home-solution-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.home-solution h3{font-size:16px;font-weight:500;line-height:1.5;margin:0;padding:16px 20px;letter-spacing:0;text-wrap:initial}
.home-solution:hover h3{color:var(--primary);text-decoration:underline}
.home-solution:focus-visible{outline-offset:-3px}
.home-product-section{margin-top:64px}
.home-section-actions{display:flex;align-items:center;gap:40px}
.home-product-controls{display:flex;gap:18px}
.home-product-controls button{min-width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}
.home-product-controls button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.home-product-controls button:disabled{opacity:.35;cursor:default}
[data-products-prev] .tbmg-icon,[data-slide-prev] .tbmg-icon{transform:rotate(90deg)}
[data-products-next] .tbmg-icon,[data-slide-next] .tbmg-icon{transform:rotate(-90deg)}
.home-product-viewport{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d1d3e1 #f7f8fa;padding:3px 0 10px}
.home-product-section.is-enhanced .home-product-viewport,.home-categories.is-enhanced .home-category-grid{scrollbar-width:none}
.home-product-section.is-enhanced .home-product-viewport::-webkit-scrollbar,.home-categories.is-enhanced .home-category-grid::-webkit-scrollbar{display:none}
.home-product-viewport.is-dragging,.home-category-grid.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.storefront-home .woocommerce ul.products{display:grid;grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-columns:calc((100% - 72px)/4);grid-auto-flow:column;gap:24px;margin:0;border:0;padding:0}
.storefront-home .woocommerce ul.products li.product:nth-child(8n+1),.storefront-home .woocommerce ul.products li.product:nth-child(8n+2),.storefront-home .woocommerce ul.products li.product:nth-child(8n+3),.storefront-home .woocommerce ul.products li.product:nth-child(8n+4){grid-row:1}
.storefront-home .woocommerce ul.products li.product:nth-child(8n+5),.storefront-home .woocommerce ul.products li.product:nth-child(8n+6),.storefront-home .woocommerce ul.products li.product:nth-child(8n+7),.storefront-home .woocommerce ul.products li.product:nth-child(8n+8){grid-row:2}
.storefront-home li.product:nth-child(1),.storefront-home li.product:nth-child(5){grid-column:1}
.storefront-home li.product:nth-child(2),.storefront-home li.product:nth-child(6){grid-column:2}
.storefront-home li.product:nth-child(3),.storefront-home li.product:nth-child(7){grid-column:3}
.storefront-home li.product:nth-child(4),.storefront-home li.product:nth-child(8){grid-column:4}
.storefront-home li.product:nth-child(9),.storefront-home li.product:nth-child(13){grid-column:5}
.storefront-home li.product:nth-child(10),.storefront-home li.product:nth-child(14){grid-column:6}
.storefront-home li.product:nth-child(11),.storefront-home li.product:nth-child(15){grid-column:7}
.storefront-home li.product:nth-child(12),.storefront-home li.product:nth-child(16){grid-column:8}
.home-product-pages{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 0}
.home-product-pages button{min-width:40px;width:58px;height:44px;padding:0;border:0;background:transparent;color:inherit}
.home-product-pages button:before{content:'';display:block;width:100%;height:3px;border-radius:2px;background:var(--line)}
.home-product-pages button[aria-current=true]:before{background:var(--primary)}
@media(min-width:1700px){.home-slide{max-height:600px}}
@media(max-width:1000px){.home-category-grid{grid-auto-columns:calc((100% - 32px)/3);gap:16px}
.home-category{padding-inline:8px}
.home-category-image{height:112px}
.home-category>span:last-child{min-height:46px}
.home-solution-grid{gap:18px}
.home-solution h3{padding:15px;font-size:15px}
.storefront-home .woocommerce ul.products{grid-auto-columns:calc((100% - 36px)/3);gap:18px}
.home-section-actions{gap:24px}}
@media(max-width:760px){.home-categories{padding-block:32px}
.home-section-heading{gap:16px;margin-bottom:18px}
.home-section-heading h2{font-size:22px}
.home-category-grid{grid-auto-columns:calc((100% - 32px)/3)}
.home-category>span:last-child{min-height:46px}
.home-solutions{padding-block:32px}
.home-solution-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(100% - 32px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c9cdda transparent;padding:3px 3px 12px}
.home-solution{min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.home-solution h3{padding:14px 12px}
.home-product-section{margin-top:40px}
.home-section-actions{gap:16px}
.home-product-controls{gap:8px}
.storefront-home .woocommerce ul.products{grid-auto-columns:calc((100% - 18px)/2)}
.home-product-pages{margin-top:8px}}
@media(max-width:600px){.storefront-home{padding-bottom:36px}
.home-slide{aspect-ratio:2.15}
.home-section-heading h2{font-size:21px}
.home-section-heading a{font-size:13px}
.home-category-grid{grid-auto-columns:calc((100% - 14px)/2);gap:14px}
.home-category{font-size:14px;padding:8px 10px 10px}
.home-category-image{height:104px}
.home-category>span:last-child{min-height:44px}
.home-solution h3{padding:16px;font-size:16px}
.home-product-section .home-section-heading,.home-categories .home-section-heading{flex-wrap:wrap;gap:8px 12px}
.home-section-actions{width:100%;justify-content:space-between}
.storefront-home .woocommerce ul.products{grid-auto-columns:calc((100% - 12px)/2);gap:16px 12px}
.home-slider-controls{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.home-product-viewport,.home-category-grid,.home-slides{scroll-behavior:auto}}
.storefront-home .woocommerce ul.products li.product{scroll-snap-align:start}

.home-categories .home-product-pages{gap:8px}
.home-categories .home-product-pages button{min-width:44px;width:44px}
.home-category:focus-visible{outline-offset:-3px}
