/* ---------- home: the brand wall fills the row ----------
   Two full rows of equal tiles (8 a row, 10 from 1600px, 6 at 768-1099, 3 × 4 on phones); every logo gets the same
   box: up to 92% of the tile's width and 40px of height, so a long wordmark is as wide as it can be. */
.g2-logos { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
.g2-logos > :nth-child(n + 17) { display: none; }
.g2-logos__item { height: 84px; padding: 8px 6px; }
.g2-logos__img { max-width: 92%; max-height: 40px; }

/* ---------- product page: Bought together, bigger covers ---------- */
.g2-together__item { grid-template-columns: 22px 72px minmax(0, 1fr); padding: 12px; }
.g2-together__frame { position: relative; isolation: isolate; width: 72px; height: 88px; overflow: hidden; border-radius: 10px; background: #0f1215; }
.g2-together__fill { position: absolute; inset: -20%; z-index: -1; width: 140%; height: 140%; object-fit: cover; filter: blur(14px) saturate(1.1); opacity: .45; }
.g2-together__frame .g2-media { padding: 4px; }

@media (min-width: 1600px) {
    .g2-logos { grid-template-columns: repeat(10, minmax(0, 1fr)); }
    .g2-logos > :nth-child(n + 17) { display: flex; }
    .g2-logos > :nth-child(n + 21) { display: none; }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .g2-logos { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .g2-logos > :nth-child(n + 9) { display: flex; }
    .g2-logos > :nth-child(n + 13) { display: none; }
}

@media (max-width: 991px) {
    .g2-pgroup { grid-template-columns: minmax(0, 1fr); }
    .g2-prof__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
    /* Delivery on phones: the summary bar, the mode control, the list, the Continue bar - nothing else between them. */
    .g2-co:has(#frmShipping) .g2-ptitle, #frmShipping .g2-co__main > .g2-card > .g2-card__head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .g2-co:has(#frmShipping) .g2-wrap { padding-top: 12px; }
    #frmShipping .g2-co__main > .g2-card { gap: 12px; padding: 12px; }

    .g2-opts { display: flex; gap: 0; padding: 3px; border-radius: 14px; border: 1px solid var(--g2-line2); background: var(--g2-input); }
    .g2-opt { flex: 1 1 0; min-width: 0; border: 1px solid transparent; border-radius: 11px; background: none; }
    .g2-opt.selected { border-color: var(--g2-brand); background: var(--g2-surface); }
    .g2-opt__label { justify-content: center; height: 44px; padding: 0 8px; gap: 8px; }
    .g2-opt__icon { width: auto; height: auto; background: none; }
    .g2-opt__text { flex: 0 1 auto; }
    .g2-opt__text b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13.5px; }
    .g2-opt__text small, .g2-opt__list, .g2-opt .g2-radio { display: none; }

    .g2-arows { grid-template-columns: minmax(0, 1fr); }
    .g2-arow__pin, .g2-co .g2-arow__pin { min-height: 32px; }

    .g2-pm { grid-template-columns: auto auto minmax(0, 1fr) auto; }
    .g2-pm__side { grid-column: auto; align-items: flex-end; }
    .g2-co .g2-logos { justify-content: flex-end; }
    .g2-co .g2-logos > :nth-child(n + 3) { display: none; }

    .g2-prof__done { grid-template-columns: minmax(0, 1fr) auto; }
    .g2-prof__bar { grid-column: 1 / -1; grid-row: 2; }
    .g2-oprog__list { grid-template-columns: minmax(0, 1fr); }
    .g2-okactions .g2-btn { flex: 1 1 100%; }

    .g2-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .g2-logos > :nth-child(n + 13) { display: none; }
    .g2-logos__item { height: 72px; }

    .g2-together__item { grid-template-columns: 22px 60px minmax(0, 1fr); }
    .g2-together__frame { width: 60px; height: 72px; }
}

@media (prefers-reduced-motion: reduce) {
    .g2-check, .g2-boff__chev { transition: none !important; }
}

/* PRODUCT PAGE - "In the news": up to three news stories that link to the product, each a small row. */
.g2-pnews__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.g2-pnews__item { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 14px; border: 1px solid var(--g2-line); background: var(--g2-surface); color: var(--g2-text) !important; }
.g2-pnews__item:hover { background: var(--g2-raised); }
.g2-pnews__thumb { width: 96px; height: 54px; flex: none; border-radius: 8px; object-fit: cover; background: var(--g2-input); }
.g2-pnews__body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.g2-pnews__title { font-size: 14px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.g2-pnews__date { font-size: 12px; color: var(--g2-dim); }
.g2-pnews__hub { align-self: flex-start; }
@media (min-width: 992px) { .g2-pnews__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

