/* Products gallery section styles */
.products-block-wrapper, .products-block-wrapper * { box-sizing: border-box !important; margin: 0 !important; padding: 0 !important; float: none !important; position: static !important; transform: none !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; display: block !important; width: auto !important; max-width: none !important; min-width: 0 !important; z-index: auto !important; text-align: initial !important; }
.products-block-wrapper *:not(img):not(video):not(canvas) { overflow: visible !important; }
.products-block-wrapper { max-width: 1440px !important; margin: 60px auto !important; padding: 0 15px !important; width: 100% !important; display: flex !important; justify-content: center !important; align-items: center !important; }
section.products-section { font-family: 'Open Sans', Arial, sans-serif !important; background: #FFFFFF !important; width: 100% !important; max-width: 1440px !important; display: flex !important; justify-content: center !important; }
.products-block-container { max-width: 1440px !important; width: 100% !important; padding: 0 15px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; }
.products-grid { display: grid !important; gap: 15px !important; width: 100% !important; max-width: 1440px !important; margin: 0 auto !important; justify-content: center !important; }
a.product-item { display: flex !important; flex-direction: column !important; background: #f8f9fa !important; padding: 15px !important; border-radius: 12px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important; transition: all 0.3s ease !important; height: 100% !important; overflow: hidden !important; text-decoration: none !important; color: inherit !important; }
a.product-item:hover { transform: translateY(-5px) !important; box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important; background: #fff !important; }
.product-image { width: 100% !important; max-width: 100% !important; border-radius: 12px !important; margin: 0 auto 15px !important; display: block !important; background: #fff !important; padding: 10px !important; object-fit: contain !important; aspect-ratio: 1/1 !important; }
.product-text-content { flex: 1 !important; display: flex !important; flex-direction: column !important; }
.product-name { font-family: 'Ubuntu', sans-serif !important; font-size: 1.1rem !important; color: #002D4B !important; font-weight: 700 !important; margin-bottom: 8px !important; flex-grow: 1 !important; text-align: center !important; transition: color 0.3s ease !important; line-height: 1.3 !important; }
a.product-item:hover .product-name { color: #FF6B35 !important; }
@media (max-width: 1200px) { .products-grid { grid-template-columns: repeat(4, minmax(180px, 1fr)) !important; } }
@media (max-width: 1024px) { .products-grid { grid-template-columns: repeat(3, minmax(160px, 1fr)) !important; } .product-name { font-size: 1.05rem !important; } }
@media (max-width: 768px) { .products-block-wrapper { padding: 0 10px !important; } .products-block-container { padding: 0 !important; } .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; width: 100% !important; } .product-item { padding: 12px 10px !important; } .product-image { padding: 8px !important; max-width: 100% !important; } .product-name { font-size: 1rem !important; padding: 0 5px !important; } }
@media (max-width: 480px) { .products-block-wrapper { padding: 0 8px !important; margin: 40px auto !important; } .products-grid { gap: 8px !important; } .product-item { padding: 10px 8px !important; } .product-image { padding: 6px !important; } .product-name { font-size: 0.95rem !important; } }
@media (max-width: 360px) { .products-grid { grid-template-columns: 1fr !important; gap: 10px !important; } .product-item { flex-direction: row !important; align-items: center !important; padding: 12px !important; } .product-image { width: 60px !important; height: 60px !important; max-width: 60px !important; margin: 0 12px 0 0 !important; padding: 5px !important; flex-shrink: 0 !important; } .product-text-content { text-align: left !important; } .product-name { text-align: left !important; margin-bottom: 0 !important; } }
