/* Shared product listing and filtering styles. */
.mh-listing-toolbar{display:grid;gap:2.5rem;width:100%;max-width:1440px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;}

.mh-lead-form{display:grid;gap:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card));padding:1rem;}
.mh-form-group{display:grid;gap:0.5rem;}
.mh-filter-layout{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;line-height:1;font-weight:500;}
.mh-form-field,
.mh-filter-trigger{display:flex;width:100%;height:2.5rem;align-items:center;border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--background));padding:0.5rem 0.75rem;font-size:0.875rem;line-height:1.25rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-duration:150ms;}
.mh-filter-trigger{justify-content:space-between;text-align:left;}
.mh-form-field::placeholder,
.mh-filter-trigger::placeholder{color:hsl(var(--muted-foreground));}
.mh-form-field::file-selector-button{border:0;background-color:transparent;font-size:0.875rem;line-height:1.25rem;font-weight:500;}
.mh-form-field:focus-visible,
.mh-filter-trigger:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px hsl(var(--ring));}
.mh-form-field:disabled,
.mh-filter-trigger:disabled{cursor:not-allowed;opacity:0.5;}

.mh-filter-button,
.mh-lead-form .mh-card-link{display:inline-flex;height:2.5rem;align-items:center;justify-content:center;gap:0.5rem;border-radius:calc(var(--radius) - 2px);padding:0.5rem 1rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-duration:150ms;}
.mh-filter-button{width:100%;border:1px solid hsl(var(--primary));background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));}
.mh-filter-button:hover{background-color:hsl(var(--primary) / 0.9);}
.mh-filter-button:focus-visible,
.mh-lead-form .mh-card-link:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px hsl(var(--ring));}
.mh-filter-button:disabled{pointer-events:none;opacity:0.5;}
.mh-lead-form .mh-card-link{border:1px solid hsl(var(--input));background-color:hsl(var(--background));color:hsl(var(--foreground));}
.mh-lead-form .mh-card-link:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground));}

.mh-action-icon{width:1rem;height:1rem;flex-shrink:0;}
.mh-filter-trigger .mh-action-icon{opacity:0.5;}

.mh-filter-panel{display:grid;gap:2rem;}
.mh-product-grid{display:grid;height:fit-content;gap:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card));padding:1.25rem;}
.mh-filter-title{font-weight:600;line-height:1.375;letter-spacing:0;color:hsl(var(--foreground));}
.mh-product-grid .mh-card-action,
.mh-product-grid .mh-card-link{display:inline-flex;width:auto;height:2.5rem;margin-top:0;align-items:center;justify-content:flex-start;gap:0.5rem;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);padding:0.5rem 1rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-duration:150ms;}
.mh-product-grid .mh-card-action{background-color:transparent;color:hsl(var(--foreground));}
.mh-product-grid .mh-card-action:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground));}
.mh-product-grid .mh-card-link{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));}
.mh-product-grid .mh-card-link:hover{background-color:hsl(var(--secondary) / 0.9);}

.mh-category-summary{display:grid;gap:2rem;}
.mh-filter-grid{display:flex;flex-direction:column;gap:0.75rem;}
.mh-filter-group{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));gap:2rem;}
.mh-filter-group > .mh-card-media{display:flex;flex-direction:column;}
.mh-filter-group > .mh-card-media > .mh-card-summary{display:flex;flex:1 1 auto;flex-direction:column;}
.mh-filter-group .mh-card-media .mh-card-badge{pointer-events:none;cursor:default;}
.mh-card-description{font-size:0.875rem;line-height:1.5rem;color:hsl(var(--muted-foreground));}

@media (min-width:640px){
  .mh-listing-toolbar{padding-left:1.5rem;padding-right:1.5rem;}
}
@media (min-width:768px){
  .mh-filter-button,
  .mh-lead-form .mh-card-link{width:auto;}
  .mh-lead-form{grid-template-columns:1.4fr 1fr 1fr auto auto;align-items:flex-end;}
  .mh-filter-grid{flex-direction:row;align-items:flex-end;justify-content:space-between;}
  .mh-filter-group{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (min-width:1024px){
  .mh-listing-toolbar{padding-left:2rem;padding-right:2rem;}
  .mh-filter-panel{grid-template-columns:280px 1fr;}
  .mh-filter-group{grid-template-columns:repeat(3, minmax(0, 1fr));}
}
