:where(.nl-request-form,.nl-request-list,.nl-form-preview) { max-width: 100%; }
:where(.nl-request-form p,.nl-form-preview p) { display: grid; gap: .45rem; }
:where(.nl-request-form input:not([type=checkbox]),.nl-request-form textarea,.nl-form-preview input:not([type=checkbox]),.nl-form-preview textarea) { width: 100%; max-width: 100%; box-sizing: border-box; padding: .75rem; font: inherit; border: 1px solid #aebdca; border-radius: .4rem; background: #fff; color: #263746; }
:where(.nl-request-form fieldset) { border: 1px solid #aebdca; padding: 1rem; display: grid; gap: .5rem; }
.nl-contact-topics { border: 1px solid #aebdca; border-radius: .4rem; padding: 1rem; margin-block: 1rem; min-width: 0; }
.nl-contact-topics legend { padding-inline: .25rem; }
.nl-contact-topics label { display: flex; align-items: flex-start; gap: .6rem; margin-block: .5rem; }
.nl-contact-topics input[type=checkbox] { flex: 0 0 auto; margin-top: .35em; }
:where(.nl-request-form button,.nl-request-list button) { cursor: pointer; }
:where(.nl-request-form input:focus-visible,.nl-request-form textarea:focus-visible,.nl-request-list input:focus-visible,.nl-request-list button:focus-visible) { outline: 3px solid #087b7b; outline-offset: 3px; }
:where(.nl-form-status) { padding: 1rem; border-left: 4px solid #087b7b; background: #f4f7fa; }
:where(.nl-request-list) { overflow-x: auto; }
:where(.nl-request-list table) { border-collapse: collapse; width: 100%; }
:where(.nl-request-list th,.nl-request-list td) { text-align: left; padding: .65rem; border-bottom: 1px solid #dce5eb; }
:where(.nl-request-list input[type=number]) { width: 5rem; font: inherit; }
:where(.nl-term-directory > ul) { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: 1.5rem; list-style: none; padding: 0; }
:where(.nl-term-directory > ul > li) { padding: 1.25rem; border: 1px solid #dce5eb; border-radius: .6rem; }
@media(max-width:600px) { :where(.nl-request-list th,.nl-request-list td) { padding: .4rem; font-size: .875rem; } }
/* Shared WooCommerce data, existing MedTech cards; no additional framework. */
.nl-overview-filters { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin-block:2rem; }
.nl-overview-filters p { margin:0; flex:1 1 220px; }
.nl-overview-filters label { display:block; margin-bottom:.4rem; }
.nl-overview-filters select { width:100%; min-height:44px; padding:.6rem; font:inherit; color:inherit; background:var(--wp--preset--color--white,#fff); border:1px solid #93a7ba; border-radius:6px; }
.nl-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-block:2rem; }
.nl-overview-grid .nl-product-card { display:flex; flex-direction:column; gap:12px; min-width:0; padding:20px; border:1px solid var(--nl-line,#dce5eb); border-radius:16px; background:var(--wp--preset--color--white,#fff); }
.nl-overview-grid img { width:100%; height:auto; aspect-ratio:5/4; object-fit:contain; }
.nl-overview-grid h3 { font-size:1.2rem; margin:0; }
.nl-overview-grid p { margin:0; }
.nl-overview-grid a { overflow-wrap:anywhere; }
@media(max-width:900px) { .nl-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .nl-overview-grid { grid-template-columns:1fr; } .nl-overview-filters { align-items:stretch; } }

/* Request copy is body text, separate from purchase prices. */
.nl-request-notice { font-size: 1rem; font-weight: 400; line-height: 1.65; color: inherit; margin: 0 0 1.25rem; }
.nl-request-notice strong, .nl-request-notice b { font-weight: 700; }
