/* Let long contact details shrink and wrap inside existing layout columns. */
.contact-grid > *, .contact-page-grid > *, .contact-method-card > *,
.product-hero-grid > *, .product-layout > *, .location-grid > *,
.quick-specs-grid > *, .site-header > *, .footer-grid > * { min-width: 0; }
.contact-panel, .contact-methods, .contact-method-card, .contact-form-wrapper,
.product-hero-copy, .article-body, .product-sidebar { max-width: 100%; }
.contact-panel a, .contact-method-card a, .contact-panel span,
.product-hero h1, .page-hero h1, .article-body, .fact-list dd,
.quick-spec-value, .site-footer a { overflow-wrap: anywhere; }
.contact-form-card input, .contact-form-card select, .contact-form-card textarea,
.article-body img, .article-body video, .article-body iframe { max-width: 100%; box-sizing: border-box; }
@media (max-width: 640px) {
    .article-body table { display: block; max-width: 100%; overflow-x: auto; }
    .contact-grid, .contact-page-grid, .location-grid { grid-template-columns: minmax(0, 1fr); }
    .contact-panel { width: auto; }
    .header-actions, .hero-actions { flex-wrap: wrap; }
}

/* Keep the existing anti-spam field clipped without offscreen RTL overflow. */
.bogong-form-honeypot {
    position: absolute; top: 0; left: 0;
    width: 1px; height: 1px; padding: 0; margin: 0; border: 0;
    overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%);
    white-space: nowrap; pointer-events: none;
}

/* Consistent product cards, including products without published specifications. */
.machine-card { display: flex; flex-direction: column; min-width: 0; }
.machine-card > img {
    flex: none; display: block; width: 100%; max-width: 100%; height: auto;
    aspect-ratio: 4 / 3; object-fit: contain; object-position: center;
    padding: 12px; background: #fff;
}
.machine-card > .machine-card-body {
    display: flex; flex-direction: column; flex: 1; min-width: 0;
}
.machine-card .machine-card-label { min-height: 1.5em; overflow-wrap: anywhere; }
/* The legacy a:last-child selector also matches the link inside each heading. */
.machine-card h3 a:last-child,
.machine-card h3 a:last-child:hover {
    display: inline; min-height: 0; padding: 0; border: 0; border-radius: 0;
    background: transparent; color: inherit; font: inherit;
}
.machine-card h3 a:last-child:hover { color: var(--blue); }
.machine-card h3, .machine-card p { overflow-wrap: anywhere; }
.machine-card > .machine-card-body > .machine-card-specs {
    margin-top: auto; padding-top: 16px;
}
.machine-card .machine-card-specs li {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr);
    align-items: start;
}
.machine-card .machine-card-specs b,
.machine-card .machine-card-spec-value { min-width: 0; overflow-wrap: anywhere; }
.machine-card .machine-card-spec-value {
    color: var(--muted); font-size: 14px; font-weight: 400; text-transform: none;
}
.machine-card > .machine-card-body > .machine-card-details {
    align-self: flex-start; margin-top: 0;
}
