/* Reference tokens: Onest, a 92% root size, 0.875rem titles/actions,
   0.75rem card corners, 0.5rem button corners and 0.92rem card padding. */
:root{--ui-font:'Onest','Noto Sans Bengali',ui-sans-serif,system-ui,sans-serif;--card-radius:.75rem;--action-radius:.5rem;--card-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--hover-shadow:0 22px 36px -16px #103f2c38}
html{font-size:92%;scroll-behavior:smooth}
body{font-family:var(--ui-font);font-size:1rem;line-height:1.6}
h1,h2,h3,h4,h5,h6,input,select,textarea,button,a{font-family:var(--ui-font)}
html:lang(bn) body,html:lang(bn) h1,html:lang(bn) h2,html:lang(bn) h3,html:lang(bn) h4{font-family:var(--ui-font)}
button,a,input,select,textarea{transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #79ab62;outline-offset:3px}
.button,.product-quote{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;padding:.625rem .92rem;min-height:40px;font-size:.875rem;font-weight:600;line-height:1.5;border-radius:var(--action-radius);box-shadow:var(--card-shadow);letter-spacing:0;text-decoration:none;background:var(--green);color:#fff;border:1px solid var(--green)}
.button:hover,.product-quote:hover{background:#0d5235;color:#fff;box-shadow:0 8px 18px #146b4536;transform:translateY(-2px);border-color:#0d5235}
.button:active,.product-quote:active{transform:scale(.97);box-shadow:0 2px 4px #103f2c20}
.button:disabled{opacity:.6;cursor:wait;transform:none}
.button-outline{background:#fff;color:var(--green)}
.button-outline:hover{background:var(--green);color:white}
.button svg,.product-buy svg{width:17px;height:17px;flex:none}
.text-button,.promo-link{font-size:.875rem;font-weight:600;line-height:1.5;gap:.5rem;text-decoration:none;border-radius:3px}
.text-button:hover,.promo-link:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.store-section-heading .text-button,.store-nav-help,.store-nav-help b{font-size:.875rem}
.store-header .navlinks a,.category-dropdown summary,.category-dropdown a{font-size:.875rem}
.store-search input,.store-search select{font-size:.875rem}
.store-header .navlinks a:hover{color:var(--green)}
.footer a{font-size:.875rem}
.footer a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.store-banner-copy .button,.system-builder .button,.store-help-banner .button{font-size:.875rem;padding:.625rem .92rem;gap:.5rem}
.simple-card,.guidance-card,.solution-card,.package-store-card,.store-category-card,.store-service-grid>a{border-radius:var(--card-radius);transition:transform .3s,box-shadow .3s,border-color .3s}
.simple-card:hover,.guidance-card:hover,.solution-card:hover,.package-store-card:hover,.store-category-card:hover,.store-service-grid>a:hover{transform:translateY(-5px);box-shadow:var(--hover-shadow);border-color:#a5c7b1}
.side-promo,.collection-card{transition:box-shadow .3s,transform .3s}
.side-promo:hover,.collection-card:hover{transform:translateY(-4px);box-shadow:var(--hover-shadow)}
.store-category-card h3{font-size:.875rem;line-height:1.5;letter-spacing:0}
.store-category-card>span{font-size:.75rem}
.product-collection-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.product-brand-tabs{display:flex;gap:8px;flex-wrap:wrap}
.product-brand-tabs a{padding:8px 19px;font-size:.875rem;font-weight:600;border:1px solid #e2e8e4;border-radius:7px;background:#fff;color:#526459}
.product-brand-tabs a:hover{background:#edf6ef;border-color:#96b99e;color:var(--green);box-shadow:0 3px 10px #146b4510}
.product-brand-tabs a.selected{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 3px 9px #146b4526}
.collection-count{font-size:.875rem;color:#728078;white-space:nowrap}
.store-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.product-card{display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;border:1px solid #f3f4f6;border-radius:var(--card-radius);background:#fff;box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s,border-color .3s}
.product-card:hover,.product-card:focus-within{transform:translateY(-8px);box-shadow:0 25px 50px -12px #00000030;border-color:#c8dcca}
.product-card .product-visual{position:relative;background:#fff}
.product-card .product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1.12;background:#fff;padding:23px 20px 8px;border:0;border-radius:0;overflow:hidden}
.product-card .product-image img{display:block;width:100%;height:100%;max-height:none;max-width:100%;object-fit:contain;transition:transform .4s ease}
.product-card:hover .product-image img{transform:scale(1.045)}
.product-card .product-info{display:flex;flex:1;flex-direction:column;padding:.92rem;background:#fff}
.product-card .product-info>small{font-size:.72rem;letter-spacing:0;color:#77817b;text-transform:none;line-height:1.6}
.product-card .product-info h3{font-size:.875rem;font-weight:600;line-height:1.25rem;letter-spacing:0;margin:.45rem 0 .3rem;min-height:2.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#111827}
.product-card .product-info h3 a{font-size:inherit;font-weight:inherit}
.product-card .product-info h3 a:hover{color:var(--green)}
.product-card .product-info .product-model{font-size:.72rem;min-height:1.25rem;line-height:1.5;color:#66756c;overflow-wrap:anywhere;margin:0 0 .6rem}
.product-highlights{display:flex;gap:5px;flex-wrap:wrap;min-height:25px;margin-bottom:10px}
.product-highlights span{font-size:.68rem;line-height:1.5;padding:3px 6px;border-radius:4px;background:#f2f6f3;color:#55725e}
.product-card .product-price{margin-top:auto;min-height:31px;gap:7px;align-items:baseline}
.product-card .product-price strong{font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--green)}
.product-card .product-price del{font-size:.75rem;color:#9ca3af}
.product-card .product-price small,.product-card .reference-note{font-size:.7rem;line-height:1.6}
.product-card .product-stock{min-height:20px;font-size:.7rem;margin:6px 0 12px;line-height:1.5;color:#588568}
.product-card .stock-inquiry{color:#758279}
.product-card .product-buy .button,.product-card .product-quote{display:flex;width:100%;font-size:.875rem;line-height:1.3125rem;font-weight:600;padding:.625rem .92rem;min-height:39px;border-radius:var(--action-radius);justify-content:center;gap:8px}
.product-card .product-tag{font-size:.68rem;line-height:1.5;top:12px;left:12px;border-radius:5px;padding:4px 8px;background:#e7f2e9;color:#2a673c;font-weight:600;z-index:1}
.product-card .brand-tag{background:#f2f6f3;color:#365f43;border:1px solid #e6eee8}
.product-quick-actions{position:absolute;right:10px;top:10px;display:grid;gap:7px;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s}
.product-card:hover .product-quick-actions,.product-card:focus-within .product-quick-actions{opacity:1;transform:none}
.product-quick-actions button{display:grid;place-items:center;background:#fff;border:1px solid #e4eae5;border-radius:50%;height:33px;width:33px;color:#56725f;box-shadow:0 3px 8px #0000000c;padding:7px}
.product-quick-actions button:hover{background:var(--green);color:#fff;border-color:var(--green);transform:scale(1.08)}
.product-quick-actions svg{width:18px;height:18px}
.product-detail .product-image{background:#fff;border:1px solid #edf0ed;border-radius:12px;aspect-ratio:1;padding:35px}
.product-detail .product-image img{width:100%;height:100%;max-height:500px;object-fit:contain}
.manufacturer-image-credit{font-size:.75rem;text-align:center;margin:12px 0 0;color:#7c8980}
#product-quick-view{border:1px solid #e3e9e4;border-radius:16px;padding:0;width:min(900px,calc(100% - 32px));max-height:90vh;color:var(--ink);box-shadow:0 30px 80px #00000040;overflow:auto}
#product-quick-view::backdrop{background:#0c201bb3;backdrop-filter:blur(4px)}
.dialog-close{position:absolute;right:14px;top:14px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f1f5f1;color:#294c34}
.dialog-close:hover{background:#d9e8dc;transform:rotate(90deg)}
.dialog-close svg{width:18px;height:18px}
.quick-view-grid{display:grid;grid-template-columns:1fr 1.15fr}
.quick-view-image{background:#f7f9f6;padding:45px 25px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:16px 0 0 16px}
.quick-view-image img{width:100%;height:340px;object-fit:contain}
.quick-view-image small{font-size:.7rem;text-align:center;color:#7a897e;margin-top:14px}
.quick-view-copy{padding:42px 30px 30px}
.quick-view-copy .eyebrow{font-size:.75rem;letter-spacing:.05em;margin-bottom:12px}
.quick-view-copy h2{font-size:1.5rem;line-height:1.35;letter-spacing:-.025em;margin-bottom:10px}
.quick-view-copy .product-model{font-size:.75rem;color:#829087}
.quick-view-copy>p{font-size:.875rem;line-height:1.8}
.quick-view-copy dl{font-size:.8rem;margin:20px 0}
.quick-view-copy dl>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #ecf0ec}
.quick-view-copy dt{font-weight:500;color:#738077}.quick-view-copy dd{font-weight:600;margin:0;text-align:right}
.quick-view-price{font-size:1.25rem;font-weight:700;color:var(--green);margin:20px 0}
.quick-view-copy>.button{margin:0 14px 10px 0}.quick-view-copy>.text-button{font-size:.875rem}
.quick-view-notice{padding:65px 35px;text-align:center;margin:0}
.htmx-request .store-product-grid{opacity:.45;pointer-events:none}
@media(max-width:1100px){.store-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.store-nav-help{display:none}}
@media(max-width:800px){.store-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-card .product-info h3{font-size:.875rem}.store-category-card h3{font-size:.8rem}.quick-view-grid{grid-template-columns:1fr 1.1fr}.quick-view-copy{padding:42px 22px 25px}}
@media(max-width:640px){.product-collection-toolbar{gap:10px}.product-brand-tabs{gap:6px}.product-brand-tabs a{padding:7px 12px;font-size:.8rem}.collection-count{font-size:.75rem}.product-card .product-image{padding:26px 10px 6px}.product-card .product-info{padding:.8rem}.store-section-heading h2{font-size:25px}.product-highlights{min-height:42px;align-content:flex-start}.product-card .product-info .product-model{min-height:2.1rem;font-size:.67rem}.product-card .product-price strong{font-size:1rem}.product-card .product-buy .button,.product-card .product-quote{font-size:.875rem;padding:9px 8px}.product-card .product-stock{min-height:30px;font-size:.65rem}.product-card .product-tag{top:9px;left:9px;padding:3px 6px}.product-quick-actions{opacity:1;transform:none;right:7px;top:7px;gap:5px}.product-quick-actions button{width:28px;height:28px;padding:6px}.product-quick-actions svg{width:15px;height:15px}.quick-view-grid{grid-template-columns:1fr}.quick-view-image{border-radius:16px 16px 0 0;padding:25px}.quick-view-image img{height:200px}.quick-view-copy{padding:25px}.quick-view-copy h2{font-size:1.4rem}.quick-view-copy .product-model{min-height:0}.store-category-grid{gap:12px}.footer a{font-size:.8rem}}
@media(hover:none){.product-quick-actions{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.product-card:hover,.product-card:focus-within,.button:hover,.simple-card:hover,.guidance-card:hover,.solution-card:hover,.package-store-card:hover,.store-category-card:hover,.side-promo:hover,.collection-card:hover{transform:none}}
