.mpr-form-anchor { display: block; position: relative; top: -110px; visibility: hidden; }
.mpr-honeypot { height: 1px !important; left: -9999px !important; overflow: hidden !important; position: absolute !important; width: 1px !important; }
.mpr-contact { background: #f6f6f6; border: 1px solid #dedede; display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); padding: clamp(1.5rem,4vw,4rem); }
.mpr-contact__intro { align-self: start; position: sticky; top: 110px; }
.mpr-contact__intro h2 { font-size: clamp(2rem,1.5rem + 2vw,3.5rem); margin-block: .5rem 1rem; }
.mpr-contact__form-wrap { min-width: 0; }
.mpr-contact-form { background: #fff; border: 1px solid #dedede; padding: clamp(1.25rem,3vw,2.25rem); }
.mpr-form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.mpr-form-field { display: flex; flex-direction: column; gap: .4rem; }
.mpr-form-field--full { grid-column: 1/-1; }
.mpr-form-field label, .mpr-form-field > span { font-size: .86rem; font-weight: 700; }
.mpr-request-switch { border: 0; display: flex; gap: 1rem; margin: 0 0 1.25rem; padding: 0; }
.mpr-request-switch legend { font-size: .86rem; font-weight: 700; margin-bottom: .5rem; }
.mpr-request-switch label { align-items: center; display: inline-flex; gap: .4rem; }
.mpr-consent label { align-items: flex-start; display: flex; font-weight: 500; gap: .6rem; line-height: 1.5; }
.mpr-consent input { margin-top: .2rem; }
.mpr-form-submit, .mpr-filter-actions button { background: #ea252c; border: 0; color: #fff; cursor: pointer; font-weight: 800; margin-top: 1rem; min-height: 48px; padding: .85rem 1.3rem; }
.mpr-form-submit:hover, .mpr-filter-actions button:hover { background: #c91f25; }
.mpr-form-submit:disabled { cursor: wait; opacity: .65; }
.mpr-form-privacy { color: #6b6b6b; font-size: .76rem; margin-bottom: 0; }
.mpr-form-notice { border: 1px solid; margin-bottom: 1.25rem; padding: 1rem; }
.mpr-form-notice--success { background: #effaf2; border-color: #77b789; color: #1d5d2d; }
.mpr-form-notice--error { background: #fff2f2; border-color: #df7d7d; color: #7f1717; }
.mpr-contact-form.was-validated :invalid { border-color: #b11d24; }
.mpr-quote-button { align-items: center; background: #ea252c; color: #fff !important; display: inline-flex; font-weight: 800; justify-content: center; min-height: 46px; padding: .8rem 1.2rem; text-decoration: none; }
.mpr-quote-button:hover { background: #c91f25; }

.mpr-catalog { margin-top: 2.5rem; }
.mpr-catalog-filters { background: #f6f6f6; border: 1px solid #dedede; padding: clamp(1rem,2.5vw,2rem); }
.mpr-catalog-filters__header { align-items: end; display: flex; justify-content: space-between; margin-bottom: 1.25rem; }
.mpr-catalog-filters__header h2 { margin: .25rem 0 0; }
.mpr-filter-fields { display: grid; gap: 1rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.mpr-filter-fields label { display: flex; flex-direction: column; font-size: .8rem; font-weight: 750; gap: .35rem; }
.mpr-filter-actions { align-items: center; display: flex; gap: 1rem; }
.mpr-filter-actions a { font-size: .85rem; font-weight: 700; }
.mpr-filter-toggle { background: transparent; border: 1px solid #111; display: none; min-height: 44px; padding: .6rem .9rem; }
.mpr-catalog-summary { color: #6b6b6b; font-size: .85rem; margin-block: 1.5rem 1rem; }
.mpr-product-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.mpr-product-card { background: #fff; border: 1px solid #dedede; display: flex; flex-direction: column; min-width: 0; transition: border-color .2s ease, transform .2s ease; }
.mpr-product-card:hover { border-color: #a9a9a9; transform: translateY(-3px); }
.mpr-product-card__image { aspect-ratio: 16/10; background: #f6f6f6; display: block; overflow: hidden; position: relative; }
.mpr-product-card__image img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }
.mpr-product-card:hover .mpr-product-card__image img { transform: scale(1.025); }
.mpr-product-card__badge { background: #ea252c; color: #fff; font-size: .72rem; font-weight: 800; left: .75rem; padding: .35rem .5rem; position: absolute; top: .75rem; }
.mpr-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.mpr-product-card__terms { display: flex; flex-wrap: wrap; gap: .35rem; min-height: 1.7rem; }
.mpr-product-card__terms span { background: #f2f2f2; color: #555; font-size: .68rem; font-weight: 700; padding: .3rem .45rem; text-transform: uppercase; }
.mpr-product-card h3 { font-size: 1.3rem; margin-block: .8rem .55rem; }
.mpr-product-card h3 a { color: #111; }
.mpr-product-card__excerpt { color: #666; font-size: .88rem; }
.mpr-product-card__footer { align-items: end; border-top: 1px solid #e4e4e4; display: flex; gap: .75rem; justify-content: space-between; margin-top: auto; padding-top: 1rem; }
.mpr-product-card__price { color: #ea252c; font-size: 1.05rem; font-weight: 850; }
.mpr-product-card__price del { color: #777; font-size: .75rem; font-weight: 500; }
.mpr-product-card__button { background: #111 !important; color: #fff !important; display: inline-flex; font-size: .78rem; font-weight: 800; justify-content: center; padding: .65rem .8rem; text-decoration: none; }
.mpr-product-card__button:hover { background: #ea252c !important; }
.mpr-empty-state { background: #f6f6f6; border: 1px solid #dedede; padding: clamp(2rem,5vw,4rem); text-align: center; }
.mpr-catalog-pagination { margin-top: 2rem; }
.mpr-catalog-pagination ul { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; list-style: none; padding: 0; }
.mpr-catalog-pagination a, .mpr-catalog-pagination span { align-items: center; border: 1px solid #dedede; display: inline-flex; height: 42px; justify-content: center; min-width: 42px; padding-inline: .6rem; }
.mpr-catalog-pagination .current { background: #111; border-color: #111; color: #fff; }

@media (max-width: 1000px) {
  .mpr-contact { grid-template-columns: 1fr; }
  .mpr-contact__intro { position: static; }
  .mpr-filter-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mpr-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .mpr-form-grid, .mpr-product-grid { grid-template-columns: 1fr; }
  .mpr-filter-toggle { display: inline-flex; }
  .mpr-filter-fields { grid-template-columns: 1fr; }
  .mpr-catalog.has-js .mpr-filter-fields { display: none; }
  .mpr-catalog.has-js .mpr-filter-fields.is-open { display: grid; }
  .mpr-catalog-filters__header { align-items: center; }
}
