/* Shared mobile hierarchy. Desktop layouts and individual offer terms remain. */
.mr-promotion-note, .mr-section-more { display: none; }
/* The consent placeholder already provides its own rating label. */
footer .rr-badge-slot:has(.cc-embed-rating) .rr-badge-fallback { display: none; }

@media (max-width: 767px) {
  main section.catalog.hc-solutions .catalog-list > .catalog-item :is(h3,h2:where(.production-h3)) {
    font-size: 17px;
    line-height: 1.3;
  }

  main :is(.pr-section-heading, .sc-section-heading) > div:has(.mr-section-more) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    column-gap: 12px;
  }
  main :is(.pr-section-heading, .sc-section-heading) > div:has(.mr-section-more) h2:not(:where(.production-h3)) {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    text-align: left !important;
    font-size: clamp(24px, 6.67vw, 28px);
    line-height: 1.2;
  }
  main :is(.pr-section-heading, .sc-section-heading) .sc-lead {
    grid-column: 1 / -1;
    margin-top: 10px;
  }
  main .mr-section-more {
    display: inline-flex;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-self: end;
    gap: 5px;
    min-height: 44px;
    padding: 5px 0;
    border: 0;
    background: none;
    color: #456070;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
  }
  main .mr-section-more::after { content: '↗'; font-size: 17px; font-weight: 400; }
  main .mr-section-more:focus-visible { outline: 2px solid #456070; outline-offset: 4px; }
  main .pr-promotions .hl-section-link,
  main .pr-promotions .pr-section-heading > .pr-all-link,
  main section.sc-works-home.pr-home .rv8-gallery-link { display: none; }

  main section.pr-promotions .sales-list { gap: 12px; }
  main section.pr-promotions .sales-list .sales-item.pr-card .pr-card-content {
    display: flex;
    flex-direction: column;
    padding: 15px 14px 8px;
  }
  main section.pr-promotions .pr-card-heading :is(h3,h2:where(.production-h3)) { font-size: 16px; line-height: 1.35; }
  main section.pr-promotions .sales-list .sales-item.pr-card p.pr-card-conditions {
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.45;
  }
  main section.pr-promotions .sales-list .sales-item.pr-card p.pr-card-combination { display: none; }
  main section.pr-promotions .pr-card-actions { margin-top: auto; }
  main section.pr-promotions .sales-list .sales-item.pr-card .pr-card-actions > button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 0;
    border: 0;
    border-top: 1px solid rgb(56 68 81 / 17%);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #343e49;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    translate: none;
  }
  main section.pr-promotions .sales-list .sales-item.pr-card .pr-card-actions > button::after {
    content: '→';
    display: block;
    font-size: 19px;
    font-weight: 400;
  }
  main .mr-promotion-note {
    display: block;
    max-width: 48em;
    margin: 15px 0 0;
    color: #66717a;
    font-size: 12px;
    line-height: 1.55;
    text-align: left;
  }
  main .mr-promotion-note strong { color: #4b5660; font-weight: 550; }
}

@media (max-width: 359px) {
  main section.pr-promotions .sales-list { gap: 10px; }
  main section.pr-promotions .sales-list .sales-item.pr-card .pr-card-content { padding: 13px 11px 6px; }
  main section.pr-promotions .pr-card-heading :is(h3,h2:where(.production-h3)) { font-size: 15px; }
  main section.pr-promotions .sales-list .sales-item.pr-card p.pr-card-conditions { font-size: 12px; }
  main .mr-section-more { font-size: 12px; gap: 4px; }
}
