/* partners.css: the "Partners" band (RJ 20 Sep 2026, "partners go"). ONE
   stylesheet, two mounts (/ above the footer after the reviews band, and
   /resources). Wordmarks are text in our own type: none of the six publishes a
   press or brand logo kit, and a site header image is not one. The band names
   the companies and what they do, nothing more: no "recommended by", no
   "trusted by", no partner programme (§ 9 StBerG: no paid or referral
   relationship exists or is implied). Gate: tests/test_partners_band.py. */

.vx-partners { background: #ffffff; border-top: 1px solid #eee9e0; padding: clamp(48px, 5.6cqw, 80px) clamp(20px, 4cqw, 48px); font-family: 'Roboto', system-ui, sans-serif; }
.vx-partners-in { max-width: 1100px; margin: 0 auto; }
.vx-partners-head { text-align: center; margin-bottom: clamp(26px, 3cqw, 40px); }
.vx-partners-kick { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #8a6d3b; margin: 0 0 12px; }
.vx-partners-head h2 { font-family: 'Marcellus', Georgia, serif; font-weight: 400; color: #1a2b4a; font-size: clamp(26px, 3cqw, 34px); line-height: 1.2; margin: 0; }
.vx-partners-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.vx-partners-grid li { min-width: 0; display: flex; }
/* Centre a short last row (five partners since 07.10: one M2E card, RJ). Six tracks,
   each card spans two; when the count leaves two cards in the last row they start
   at track 2. On phones (two columns) a lone last card sits centred at half width. */
@media (min-width: 601px) {
  .vx-partners-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .vx-partners-grid li { grid-column: span 2; }
  .vx-partners-grid li:nth-child(3n+1):nth-last-child(2) { grid-column: 2 / span 2; }
  .vx-partners-grid li:nth-child(3n+1):last-child { grid-column: 3 / span 2; }
}
@media (max-width: 600px) {
  .vx-partners-grid li:nth-child(odd):last-child { grid-column: 1 / -1; justify-self: center; width: calc(50% - 5px); }
}
.vx-partner { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; gap: 6px; min-height: 108px; padding: 20px 18px; border: 1px solid #e8e3da; border-radius: 10px; background: #fbfaf7; text-decoration: none; color: inherit; text-align: center; transition: border-color .15s ease, transform .15s ease; }
.vx-partner:hover, .vx-partner:focus-visible { border-color: #b08d3e; transform: translateY(-1px); outline: none; }
.vx-partner:focus-visible { box-shadow: 0 0 0 3px rgba(176, 141, 62, 0.35); }
.vx-partner-mark { font-family: 'Marcellus', Georgia, serif; font-size: 20px; line-height: 1.2; color: #1a2b4a; overflow-wrap: anywhere; }
.vx-partner-what { font-size: 13px; line-height: 1.5; color: #6b6b6b; }
/* sellerboard trial line (RJ 08.10.2026): the one offer in the band, a plain fact, no claim. */
.vx-partner-offer { display: block; margin-top: 4px; font-size: 12px; line-height: 1.4; font-weight: 500; color: #8a6d3b; }
@media (max-width: 600px) { .vx-partners { padding-left: 16px; padding-right: 16px; } .vx-partners-grid { grid-template-columns: 1fr 1fr; gap: 10px; } .vx-partner { min-height: 96px; padding: 16px 12px; } .vx-partner-mark { font-size: 17px; } }
/* Partner-supplied logo (06.10.2026). Only a file the partner sent us, shown as
   sent: proportions and colours unchanged, clear space around it. emerald green's
   and sellerboard's files have white lettering, so their marks sit on a navy tile (is-dark). The name stays in
   the markup for screen readers and the gate (tests/test_partners_band.py). */
.vx-partner-mark.has-logo { display: flex; align-items: center; justify-content: center; align-self: center; padding: 4px 0; }
.vx-partner-mark.has-logo.is-dark { background: #1a2b4a; border-radius: 6px; padding: 6px 14px; max-width: 100%; box-sizing: border-box; }
.vx-partner-mark.has-logo img { display: block; height: 40px; width: auto; max-width: 100%; object-fit: contain; } /* contain: a narrow phone tile shrinks the logo, never squeezes it */
.vx-partner-mark.has-logo.is-dark img { height: 52px; }
.vx-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
