[hidden] { display: none !important; }
.visually-hidden, .skip-link:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.skip-link:focus { position: fixed; z-index: 20; background: white; padding: 12px; }
.filters { display: flex; }
.catalog-empty { grid-column: 1 / -1; padding: 40px; background: var(--pale); border: 1px solid #e3e9f0; border-radius: 7px; }
.catalog-empty h3 { margin-top: 0; font-size: 24px; }
.catalog-empty p, .media-unavailable { color: var(--muted); font-size: 16px; }
.media-unavailable { padding: 24px; text-align: center; }
.product-visual.has-image { padding: 18px; }
.product-visual.has-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-info .product-identity { min-height: 0; font-size: 14px; }
.product-info { overflow-wrap: anywhere; }
dialog fieldset { display: grid; gap: 17px; border: 0; padding: 0; margin: 0; min-width: 0; }
@media (max-width: 700px) {
    .catalog-empty { padding: 26px; }
}
@media (scripting: none) {
    .menu, [data-enquire] { display: none; }
    #public-navigation { display: flex; position: static; flex-wrap: wrap; box-shadow: none; padding: 12px 0; }
    header { height: auto; flex-wrap: wrap; padding-top: 24px; }
}
.enquiry-page { max-width: 900px; }
.enquiry-page h1 { font-size: clamp(36px, 4vw, 54px); letter-spacing: -1.5px; }
.enquiry-form { padding: 28px; background: var(--pale); border-radius: 7px; }
.enquiry-form select { font: inherit; padding: 12px; border: 1px solid #cbd6e4; border-radius: 4px; color: var(--ink); width: 100%; background: white; }
.enquiry-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.enquiry-form .caption { margin: 0; }
.enquiry-product input[type=checkbox] { width: auto; }
.enquiry-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.enquiry-errors { padding: 22px; background: #fff0f0; border: 1px solid #e4a5a5; border-radius: 7px; }
.enquiry-errors h2 { font-size: 24px; }
@media (max-width: 700px) { .enquiry-contact { grid-template-columns: 1fr; } .enquiry-form { padding: 18px; } }
