/* Marketplace only; the shared homepage styles are unchanged. */
.nm-main { padding-block:24px 72px; }
.nm-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:28px; font-size:11px; color:var(--nh-muted); }
.nm-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.nm-breadcrumb a:hover { color:var(--nh-accent); }
.nm-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:90px; align-items:center; padding:6px 0 42px; }
.nm-main h1 { font-size:42px; line-height:1.2; letter-spacing:-1.6px; font-weight:600; margin:0 0 20px; overflow-wrap:anywhere; }
.nm-hero h1 span { color:var(--nh-accent); }
.nm-hero > div > p { max-width:560px; font-size:14px; color:var(--nh-muted); line-height:1.9; margin:0; }
.nm-hero-note { display:flex; gap:22px; align-items:start; background:var(--nh-soft); padding:28px; border-radius:18px; }
.nm-hero-note > .nh-icon { flex-shrink:0; width:36px; height:36px; color:var(--nh-secondary); margin-top:4px; }
.nm-hero-note h2 { margin:0 0 12px; font-size:20px; line-height:1.5; font-weight:500; letter-spacing:-.4px; }
.nm-hero-note p { font-size:12px; line-height:1.9; color:var(--nh-muted); margin:0; }
.nm-catalog { border-top:1px solid var(--nh-border); padding-top:28px; }
.nm-toolbar h2 { margin:0 0 8px; font-size:20px; font-weight:600; letter-spacing:-.4px; }
.nm-toolbar p { margin:0; font-size:12px; color:var(--nh-muted); }
.nm-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) auto; align-items:end; gap:12px; margin:24px 0 28px; }
.nm-filters label { display:flex; flex-direction:column; gap:8px; min-width:0; }
.nm-filters label > span { color:var(--nh-muted); font-size:11px; }
.nm-filters input,.nm-filters select { width:100%; min-width:0; min-height:46px; border:1px solid var(--nh-border); background:var(--nh-surface); color:var(--nh-ink); border-radius:8px; padding:11px 13px; font:inherit; font-size:12px; }
.nm-filters .nh-button { cursor:pointer; padding:12px 18px; gap:12px; min-height:46px; font-size:12px; }
.nm-filter-note { display:flex; flex-wrap:wrap; gap:16px; margin:0 0 24px; color:var(--nh-muted); font-size:12px; overflow-wrap:anywhere; }
.nm-filter-note a { color:var(--nh-accent); text-decoration:underline; text-underline-offset:3px; }
.nm-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.nm-card { background:var(--nh-surface); border:1px solid var(--nh-border); border-radius:14px; overflow:hidden; min-width:0; display:flex; flex-direction:column; }
.nm-cover { position:relative; aspect-ratio:16/10; overflow:hidden; background:radial-gradient(circle at 80% 20%,#86dca950,transparent 50%),var(--nh-soft); }
.nm-cover-fallback { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--nh-secondary); }
.nm-cover-fallback .nh-icon { width:46px; height:46px; stroke-width:1; }
.nm-cover-fallback > span { font-size:10px; letter-spacing:1px; }
.nm-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nm-card-content { padding:23px; flex:1; display:flex; flex-direction:column; }
.nm-grid-single { grid-template-columns:minmax(0,1fr); }
.nm-grid-single .nm-card { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.nm-grid-single .nm-cover { aspect-ratio:auto; min-height:320px; }
.nm-grid-single .nm-card-content { padding:30px; }
.nm-card-tags { display:flex; gap:8px; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; }
.nm-category { display:inline-flex; gap:8px; align-items:center; padding:6px 9px; background:var(--nh-soft); border-radius:7px; color:var(--nh-secondary); font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.nm-category .nh-icon { width:15px; height:15px; flex-shrink:0; }
.nm-discount { display:inline-flex; align-items:center; gap:6px; font-size:10px; line-height:1.6; color:var(--nh-accent); }
.nm-discount .nh-icon { width:14px; height:14px; }
.nm-card h3 { margin:0 0 10px; font-weight:600; font-size:19px; letter-spacing:-.4px; line-height:1.5; overflow-wrap:anywhere; }
.nm-summary { font-size:12px; color:var(--nh-muted); line-height:1.85; overflow-wrap:anywhere; margin:0 0 22px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.nm-card-bottom { margin-top:auto; }
.nm-price-label { display:block; color:var(--nh-muted); font-size:10px; margin-bottom:6px; }
.nm-card-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin-bottom:18px; }
.nm-card-price strong { font-size:23px; line-height:1.5; font-weight:600; letter-spacing:-.5px; color:var(--nh-ink); }
.nm-card-price del { font-size:11px; color:var(--nh-muted); }
.nm-card-link { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--nh-border); padding-top:13px; min-height:44px; font-size:12px; color:var(--nh-accent)!important; }
.nm-card-link .nh-icon { width:17px; height:17px; }
.nm-card-link:hover { text-decoration:underline; text-underline-offset:4px; }
.nm-no-link { display:block; font-size:11px; color:var(--nh-muted); padding:13px 0; border-top:1px solid var(--nh-border); }
.nm-pagination { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; font-size:12px; color:var(--nh-muted); }
.nm-pagination > div { display:flex; gap:10px; }
.nm-pagination a { display:inline-flex; gap:10px; align-items:center; min-height:44px; border:1px solid var(--nh-border); border-radius:8px; padding:10px 14px; background:var(--nh-surface); color:var(--nh-ink); }
.nm-pagination .nh-icon { width:16px; }
.nm-empty { padding:58px 24px; border:1px dashed var(--nh-border); border-radius:14px; text-align:center; }
.nm-empty > .nh-icon { color:var(--nh-secondary); width:38px; height:38px; margin-bottom:18px; }
.nm-empty h3 { font-size:22px; font-weight:500; margin:0 0 12px; }
.nm-empty h1 { font-size:30px; }
.nm-empty p { margin:0 0 20px; font-size:13px; line-height:1.9; color:var(--nh-muted); }
.nm-detail-heading { margin-bottom:30px; }
.nm-detail-heading h1 { font-size:36px; margin:16px 0 12px; }
.nm-detail-heading > p { font-size:13px; color:var(--nh-muted); margin:0; line-height:1.8; }
.nm-detail-grid { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr); align-items:start; gap:28px; }
.nm-detail-content { min-width:0; }
.nm-cover-detail { aspect-ratio:16/9; border-radius:14px; border:1px solid var(--nh-border); }
.nm-description { padding:30px; background:var(--nh-surface); border:1px solid var(--nh-border); border-radius:14px; margin-top:24px; }
.nm-description > h2 { font-weight:600; font-size:21px; letter-spacing:-.4px; margin:0 0 22px; }
.nm-rich-text { color:var(--nh-muted); font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.nm-rich-text p { margin:0 0 18px; }
.nm-rich-text h2,.nm-rich-text h3,.nm-rich-text h4 { color:var(--nh-ink); font-size:19px; font-weight:500; line-height:1.5; margin:24px 0 12px; }
.nm-rich-text ul,.nm-rich-text ol { padding-left:24px; }
.nm-rich-text a { color:var(--nh-accent); text-decoration:underline; text-underline-offset:3px; }
.nm-rich-text img { max-width:100%; height:auto; border-radius:8px; }
.nm-rich-text table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; }
.nm-rich-text td,.nm-rich-text th { padding:10px; border:1px solid var(--nh-border); }
.nm-rich-text blockquote { border-left:3px solid var(--nh-secondary); margin:20px 0; padding:8px 0 8px 18px; }
.nm-offer { position:sticky; top:24px; border:1px solid var(--nh-border); border-radius:14px; background:var(--nh-surface); padding:30px; min-width:0; }
.nm-offer > del { display:block; font-size:13px; color:var(--nh-muted); margin:14px 0 6px; }
.nm-detail-price { display:block; font-size:32px; line-height:1.5; font-weight:600; letter-spacing:-1px; margin-bottom:10px; overflow-wrap:anywhere; }
.nm-saving { font-size:11px; color:var(--nh-muted); margin:9px 0 0; }
.nm-contact { border-top:1px solid var(--nh-border); padding-top:24px; margin-top:24px; }
.nm-contact h2 { font-size:17px; line-height:1.5; font-weight:500; margin:0 0 10px; }
.nm-contact p { font-size:12px; line-height:1.85; color:var(--nh-muted); margin:0 0 20px; }
.nm-contact .nh-button { width:100%; justify-content:center; padding:14px 12px; font-size:11px; gap:10px; }
.nm-contact .nh-button .nh-icon { width:18px; height:18px; flex-shrink:0; }
.nm-project-link { display:flex; justify-content:center; align-items:center; gap:10px; min-height:44px; margin-top:12px; font-size:12px; color:var(--nh-accent)!important; }
.nm-project-link .nh-icon { width:17px; height:17px; }
.nm-contact .nm-contact-unavailable { padding:12px; background:var(--nh-soft); border-radius:8px; }
.nm-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:11px; color:var(--nh-muted); margin-top:18px; }
.nm-back .nh-icon { transform:rotate(180deg); width:16px; }
.nm-card-price strong.nm-price-on-request { font-size:18px; }
.nm-detail-price.nm-price-on-request { font-size:24px; }
.nm-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1100px) { .nm-hero { gap:40px; } .nm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nm-filters { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); } .nm-filters .nh-button { width:100%; justify-content:center; } .nm-offer { padding:22px; } .nm-detail-price { font-size:28px; } }
@media(max-width:767px) {
 .nm-main { padding-block:16px 44px; } .nm-breadcrumb { margin-bottom:18px; }
 .nm-hero { grid-template-columns:minmax(0,1fr); gap:24px; padding:8px 0 30px; }
 .nm-main h1 { font-size:32px; letter-spacing:-1px; } .nm-hero > div > p { font-size:13px; }
 .nm-hero-note { padding:22px; gap:16px; } .nm-hero-note > .nh-icon { width:28px; height:28px; }
 .nm-hero-note h2 { font-size:18px; } .nm-hero-note p { font-size:11px; }
 .nm-filters { grid-template-columns:minmax(0,1fr); margin-top:22px; gap:15px; }
 .nm-filters input,.nm-filters select { font-size:16px; } .nm-filters .nh-button { min-height:48px; }
 .nm-toolbar h2 { font-size:19px; } .nm-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .nm-card-content { padding:22px; } .nm-pagination { align-items:start; flex-direction:column; }
 .nm-grid-single .nm-card { display:flex; } .nm-grid-single .nm-cover { aspect-ratio:16/10; min-height:0; } .nm-grid-single .nm-card-content { padding:22px; }
 .nm-detail-heading h1 { font-size:30px; } .nm-detail-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
 .nm-offer { position:static; grid-row:1; padding:24px; } .nm-detail-price { font-size:30px; }
 .nm-description { padding:22px; margin-top:20px; } .nm-rich-text { font-size:13px; }
 .nm-empty { padding:42px 20px; } .nm-empty h1 { font-size:26px; } .nm-empty h3 { font-size:20px; }
}
