.samples-menu-link { color: var(--color-primary); }
.samples-modal .modal__dialog { max-width: 640px; }
.samples-modal .modal__header { align-items: flex-start; }
.samples-modal .modal__subtitle { max-width: 510px; line-height: 1.5; margin-top: 8px; }
.samples-modal__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.samples-modal .input { width: 100%; }
.samples-modal .modal__form-row { margin-bottom: 16px; }
.samples-modal__consent { align-items: flex-start; font-size: 12px; line-height: 1.5; }
.samples-modal__consent a { text-decoration: underline; }
.samples-modal__error { color: var(--color-primary); margin-bottom: 12px; }
.catalog-products__grid:has(> .catalog-promo) { grid-auto-rows: 1fr; }
.catalog-promo { position: relative; min-width: 0; min-height: 0; align-self: stretch; overflow: hidden; border: 0; border-radius: var(--radius-xl); background: transparent; }
.catalog-promo__link { position: absolute; inset: 0; display: block; color: inherit; text-decoration: none; }
.catalog-promo__art { position: absolute; inset: 0; }
.catalog-promo__image { display: block; width: 100%; height: 100%; object-fit: fill; }
.catalog-promo__body { display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 20px; }
.catalog-promo__title { font-size: 20px; font-weight: 700; line-height: 1.3; }
.catalog-promo__text { margin-top: 8px; color: var(--color-text-secondary); line-height: 1.5; }

.catalog-promo__link:focus-visible { outline: 3px solid var(--color-primary); outline-offset: -3px; }
.catalog-products__grid--list .catalog-promo { max-width: 360px; }
.catalog-products__grid--list .catalog-promo__image { object-fit: contain; object-position: left center; }
[data-hero-samples] .hero__figure { background: #f1f1f1; }
[data-hero-samples] .hero__figure img { object-fit: contain; transform: none; }
@media (max-width: 600px) {
    .samples-modal__fields { grid-template-columns: minmax(0, 1fr); }
    .samples-modal .modal__dialog { margin: 12px; width: calc(100% - 24px); }
    .samples-modal .modal__title { font-size: 22px; }
    .samples-modal .modal__body, .samples-modal .modal__header, .samples-modal .modal__footer { padding: 18px; }
    .catalog-promo__body { padding: 14px; }
    .catalog-promo__title { font-size: 16px; }

}
