.storefront{background:#f0f0f0;color:#003e67;min-height:50vh}
.home-products{max-width:1280px;margin:0 auto 32px;padding:6px 16px 0;color:#003e67}
.home-products>h2{margin:0 0 24px;text-align:center;font-size:clamp(24px,3vw,30px);line-height:1.3;color:var(--navy)}
.home-products>h2 span{color:#a56a21}
.home-products .product-card{border:1px solid #e9e1d6}
.home-products .product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:800px){.home-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.storefront-inner{width:100%;max-width:1280px;margin-inline:auto;padding:36px 24px 48px}
.catalog-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:13px;line-height:1.6;color:#647783;margin-bottom:18px}
.catalog-breadcrumb a:hover{text-decoration:underline;color:#003e67}
.catalog-breadcrumb [aria-current]{color:#003e67}
.catalog-page-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px}
.catalog-page-heading h1{font-size:30px;line-height:1.2;margin:0}
.catalog-page-heading p{font-size:14px;color:#607482;margin:0}
.catalog-subcategories{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 24px}
.catalog-subcategories a{background:#fff;border:1px solid #dbe1e5;border-radius:5px;padding:10px 14px;font-size:14px;transition:background .15s}
.catalog-subcategories a:hover{background:#e5edf1}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.product-card{min-width:0;display:flex;flex-direction:column;background:#fff;border-radius:9px;overflow:hidden;transition:box-shadow .2s}
.product-card:hover{box-shadow:0 6px 20px #062d4315}
.product-card-link{display:flex;flex-direction:column;padding:13px 12px 0;flex:1}
.product-code{font-size:14px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.product-card-title{font-size:14px;font-weight:700;line-height:1.45;margin:0 0 8px;min-height:41px;overflow-wrap:anywhere}
.product-card-image{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:contain;background:#fff;margin-top:auto}
.product-card-info{border-top:1px solid #d1d1d1;padding:9px 8px 8px;margin:0 3px;text-align:center}
.product-price{font-size:19px;line-height:1.4;margin:0;overflow-wrap:anywhere}
.product-price small{font-size:11px;white-space:nowrap;vertical-align:super;font-weight:700}
.product-stock{font-size:15px;line-height:1.5;background:#f5f5f5;border-radius:3px;width:fit-content;max-width:100%;margin:5px auto 0;padding:3px 15px;overflow-wrap:anywhere}
.product-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:32px}
.product-pagination a,.pagination-current,.pagination-gap{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px 12px;border-radius:5px;font-size:14px}
.product-pagination a{background:#fff;border:1px solid #d7dfe4}
.product-pagination a:hover{background:#e3ebf0}
.pagination-current{background:#06364f;color:#fff;font-weight:700}
.catalog-empty{padding:70px 20px;text-align:center;background:#fff;border-radius:9px}
.catalog-empty h1,.catalog-empty h2{font-size:25px;margin:0 0 14px}
.catalog-empty p{color:#61717c;margin:0 0 24px;line-height:1.7}
.catalog-action{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;background:#06364f;color:#fff;border-radius:5px;line-height:1.4;font-weight:700;font-size:14px}
.catalog-action:hover{background:#125675}
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;background:#fff;padding:28px;border-radius:9px}
.product-gallery,.product-detail-copy{min-width:0}
.product-main-image{background:#fff;aspect-ratio:1}
.product-main-image img{display:block;width:100%;height:100%;object-fit:contain}
.product-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.product-thumbnail{border:1px solid #dae0e4;background:#fff;border-radius:5px;padding:4px;width:86px;height:86px}
.product-thumbnail[aria-pressed=true]{border:2px solid #06364f;padding:3px}
.product-thumbnail img{width:100%;height:100%;object-fit:contain;display:block}
.product-detail-copy h1{font-size:29px;line-height:1.3;margin:0 0 20px;overflow-wrap:anywhere}
.product-summary{font-size:15px;line-height:1.7;color:#5f6c76;white-space:pre-line}
.product-detail-price{padding:20px 0;margin:16px 0 22px;border-top:1px solid #e1e5e8;border-bottom:1px solid #e1e5e8}
.product-detail-price .product-price{font-size:27px}
.product-detail-price .product-stock{margin:10px 0 0}
.product-stock-section{margin-top:30px}
.product-stock-section h2{font-size:20px;margin:0 0 16px}
.product-table-wrap{overflow-x:auto}
.product-stock-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5;text-align:left}
.product-stock-table th{background:#f3f5f6;font-weight:700}
.product-stock-table th,.product-stock-table td{padding:10px 9px;border-bottom:1px solid #e3e7ea;overflow-wrap:anywhere}
.product-description{margin:0 0 20px}
.product-richtext{line-height:1.8;color:#344b5a;overflow-wrap:anywhere;overflow-x:auto}
.product-richtext img{max-width:100%;height:auto}
.product-richtext table{max-width:100%}
.product-image-open{display:block;width:100%;padding:0;border:0;cursor:zoom-in}
button.catalog-action{border:0}
.related-products{margin-top:32px}
.related-products>h2{font-size:25px;margin:0 0 22px}
.product-modal-open{overflow:hidden}
dialog::backdrop{background:#0009}
.product-lightbox,.quote-dialog{border:0;border-radius:10px;background:#fff;color:#303030;max-height:calc(100dvh - 24px);margin:auto;box-shadow:0 12px 60px #0004}
.dialog-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border:0;border-radius:12px;background:#fff;color:#e60012;font-size:40px;font-weight:400;line-height:1;padding:0;cursor:pointer}
.product-lightbox{max-width:calc(100vw - 24px);padding:60px 16px 16px}
.product-lightbox>.dialog-close{position:absolute;right:12px;top:8px}
.product-lightbox>img{display:block;max-width:calc(100vw - 56px);max-height:calc(100dvh - 112px);width:auto;height:auto;object-fit:contain}
.quote-dialog{width:760px;max-width:calc(100vw - 24px);padding:0;overflow:auto}
.quote-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f4f4f4;padding:12px 20px;border-bottom:1px solid #e2e2e2}
.quote-heading h2{font-size:22px;line-height:1.2;margin:0;font-weight:700;color:#161616}
.quote-heading .dialog-close{width:36px;height:36px;font-size:32px;border-radius:8px}
.quote-fields{padding:14px 22px 20px}
.quote-product,.quote-field{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:center}
.quote-product{padding:4px 0 12px;margin-bottom:10px;border-bottom:1px solid #ececec;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.quote-product>span,.quote-field>label{font-weight:700}
.quote-field{margin-top:10px;font-size:14px}
.quote-field label span{color:#e60012}
.quote-field input,.quote-field select,.quote-field textarea{width:100%;min-width:0;padding:9px 12px;border:1px solid #ccd0d6;border-radius:6px;font:inherit;line-height:1.4;color:#222;background:#fff}
.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus{outline:2px solid #0a597d;outline-offset:1px}
.quote-field textarea{resize:vertical;height:70px;min-height:70px}
.quote-quantity{display:flex;align-items:center;gap:10px}
.quote-quantity input{max-width:170px}
.quote-actions{margin:16px 0 0 234px}
.quote-submit{border:0;border-radius:7px;background:#ed0012;color:#fff;font-size:14px;font-weight:700;padding:11px 26px;min-width:140px}
.quote-submit:hover{background:#c80010}
.quote-submit:disabled{opacity:.65;cursor:default}
.quote-status{margin:8px 0 0;line-height:1.5;font-size:13px;overflow-wrap:anywhere}
.quote-status:empty{display:none}
@media(max-width:650px){.quote-heading{padding:10px 14px}.quote-heading h2{font-size:20px}.quote-fields{padding:12px 16px 16px}.quote-product,.quote-field{grid-template-columns:minmax(0,1fr);gap:5px}.quote-product{gap:7px}.quote-field{margin-top:10px}.quote-actions{margin-left:0}.quote-submit{width:100%}.quote-field input,.quote-field select,.quote-field textarea{font-size:16px;padding:8px 10px}.quote-heading .dialog-close{width:32px;height:32px}.quote-quantity input{max-width:65%}}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-detail{gap:24px;padding:22px}.product-detail-copy h1{font-size:25px}}
@media(max-width:800px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-detail{grid-template-columns:1fr}.catalog-page-heading{align-items:flex-start;flex-direction:column;gap:10px}.product-price{font-size:17px}.catalog-page-heading h1{font-size:27px}.storefront-inner{padding:28px 16px 36px}}
@media(max-width:480px){.storefront-inner{padding:24px 12px 32px}.product-grid{gap:10px}.product-card-link{padding:10px 9px 0}.product-card-title{font-size:12px;min-height:53px}.product-code{font-size:12px}.product-price{font-size:15px}.product-price small{font-size:9px}.product-stock{font-size:12px;padding:3px 7px}.product-card-info{padding:8px 4px}.product-detail{padding:16px}.product-detail-copy h1{font-size:23px}.product-detail-price .product-price{font-size:24px}.product-thumbnail{width:70px;height:70px}}
