/* Shared visual rules. Loaded after section styles; no catalogue or form logic. */
:root{
 --ns-bg:#151616;--ns-surface:#212323;--ns-raised:#292b2b;--ns-border:#3b3e3e;
 --ns-ink:#f2f1eb;--ns-muted:#b6bab7;--ns-red:#c93636;--ns-red-hover:#ad292d;
 --ns-paper:#f4f3ee;--ns-gutter:38px;--ns-font:Manrope,Arial,sans-serif;
 --ns-theme-bg:var(--ns-bg);--ns-theme-surface:var(--ns-surface);--ns-theme-surface-soft:var(--ns-raised);
 --ns-theme-ink:var(--ns-ink);--ns-theme-muted:var(--ns-muted);--ns-theme-line:var(--ns-border);
 --ns-theme-red:var(--ns-red);--ns-theme-paper:var(--ns-paper);
 --nsmtb-bg:var(--ns-bg);--nsmtb-surface:var(--ns-surface);--nsmtb-ink:var(--ns-ink);
 --nsmtb-muted:var(--ns-muted);--nsmtb-line:var(--ns-border);--nsmtb-red:var(--ns-red);
}
body{background:var(--ns-bg);color:var(--ns-ink);font-family:var(--ns-font);font-weight:400}
.nsmtb-design,.nsmtb-design.n-custom{
 --n-paper:var(--ns-bg);--n-surface:var(--ns-surface);--n-soft:var(--ns-raised);
 --n-line:var(--ns-border);--n-ink:var(--ns-ink);--n-muted:var(--ns-muted);
 --n-accent:var(--ns-red);--cb-red:var(--ns-red);
 background-color:var(--ns-bg);color:var(--ns-ink);font-family:var(--ns-font);
}
/* Shared header, with the established logo scale and centred search. */
.nsmtb-design .n-header{background:var(--ns-bg);border-color:var(--ns-border)}
.nsmtb-design .n-header nav a:is([data-go="shop"],[data-go="offers"]){color:#f17470}
.nsmtb-design .n-header nav a[data-go="quote"]{border-color:var(--ns-border)}
.nsmtb-design .n-header nav a[data-go="quote"]:hover{background:var(--ns-surface);border-color:var(--ns-red)}
.nsmtb-design .n-product-search{background:var(--ns-surface);border-color:var(--ns-border)}
.nsmtb-design .n-logo span,.nsmtb-design .n-red-dot{color:var(--ns-red)}
.nsmtb-design .n-header:after,.nsmtb-design .n-editorial .n-kicker:before,.nsmtb-design .n-shop-banner .n-kicker:before{background:var(--ns-red)}
/* Neutral surfaces across catalogues, editorial cards, forms and footer. */
.nsmtb-design .n-logo-tile,.nsmtb-catalog-page .nsmtb-brand-card,.nsmtb-directory-card,.nsmtb-family-card,.nsmtb-product-card,.cb-path{
 background:var(--ns-surface);border:1px solid var(--ns-border);border-radius:0;color:var(--ns-ink);
 transition:border-color .18s,background-color .18s;
}
.nsmtb-design .n-logo-tile:hover,.nsmtb-catalog-page .nsmtb-brand-card:hover,.nsmtb-directory-card:hover,.nsmtb-family-card:hover,.cb-path:hover{
 background:var(--ns-raised);border-color:var(--ns-red);
}
.nsmtb-product-card:focus-within{border-color:var(--ns-red)}
.nsmtb-design .n-logo-caption,.nsmtb-catalog-page .nsmtb-brand-caption,.nsmtb-directory-caption{color:var(--ns-muted);font-size:11px;letter-spacing:.06em}
.nsmtb-brand-mark{background:transparent}
.nsmtb-empty-catalog,.n-custom .cb-last-call,.n-custom .cb-summary,.nsmtb-enquiry .nsmtb-enquiry-form{background:var(--ns-surface);border-color:var(--ns-border)}
.n-custom .cb-path p,.nsmtb-product-description,.nsmtb-catalog-intro,.n-custom .cb-section-copy p,.n-custom .cb-small{color:var(--ns-muted)}
.n-custom .cb-path-copy{padding:26px}
.nsmtb-design.n-store-footer{background:var(--ns-bg);border-color:var(--ns-border)}
.n-store-footer .n-service-strip{background:var(--ns-surface);border-color:var(--ns-border)}
.n-store-footer .n-service+.n-service,.n-store-footer .n-footer-legal{border-color:var(--ns-border)}
/* One primary action style; light editorial CTA and green WhatsApp retain their roles. */
body.single-product .nsmtb-consult-button.button,
body.single-product .single_add_to_cart_button.button,
.nsmtb-enquiry-form .nsmtb-enquiry-submit,.nsmtb-design.n-custom .cb-button,
.nsmtb-design .n-shop-banner .n-primary{
 display:inline-flex;align-items:center;justify-content:center;gap:22px;box-sizing:border-box;
 min-height:46px;padding:12px 22px;border:1px solid var(--ns-red);border-radius:0;
 background:var(--ns-red);color:#fff;font-family:var(--ns-font);font-size:13px;font-weight:700;line-height:1.5;
}
body.single-product .nsmtb-consult-button.button:hover,body.single-product .single_add_to_cart_button.button:hover,
.nsmtb-enquiry-form .nsmtb-enquiry-submit:hover,.nsmtb-design.n-custom .cb-button:hover,.nsmtb-design .n-shop-banner .n-primary:hover{
 background:var(--ns-red-hover);border-color:var(--ns-red-hover);
}
.nsmtb-design .n-editorial .n-primary{min-height:46px;padding:12px 22px;font-size:13px;font-weight:700}
.nsmtb-design .n-utility-whatsapp,.nsmtb-enquiry-whatsapp a,.n-custom .cb-whatsapp{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;
 background:#1d2b22;border:1px solid #52785e;border-radius:3px;color:#c5ead0;font-size:12px;font-weight:600;
}
.n-custom .cb-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea),
.nsmtb-enquiry .nsmtb-enquiry-form :is(input:not([type=checkbox]):not([type=hidden]),textarea){
 background:var(--ns-surface);border-color:#565b59;color:var(--ns-ink);font-family:var(--ns-font);
}
.n-custom input[type=checkbox],.nsmtb-enquiry-privacy input{accent-color:var(--ns-red)}
/* Predictable reading width and spacing from the menu to the content. */
.nsmtb-catalog-page{padding:24px var(--ns-gutter) 64px}
.nsmtb-catalog-breadcrumb,.n-custom .cb-breadcrumb,.single-product .woocommerce-breadcrumb{
 color:var(--ns-muted);font-family:var(--ns-font);font-size:11px;font-weight:500;letter-spacing:.025em;
 line-height:1.7;text-transform:none;
}
.nsmtb-catalog-breadcrumb{margin:0 0 24px;gap:8px}
.n-custom .cb-breadcrumb{padding:20px var(--ns-gutter);min-height:0;gap:10px;border:0}
.n-custom .cb-breadcrumb a{font-size:11px;letter-spacing:.025em;line-height:1.7}
.nsmtb-catalog-breadcrumb a,.single-product .woocommerce-breadcrumb a{color:var(--ns-ink);text-decoration-color:var(--ns-border);text-underline-offset:4px}
.nsmtb-catalog-page>.nsmtb-eyebrow{margin-bottom:18px;font-size:10px;font-weight:600;letter-spacing:.14em}
.nsmtb-catalog-page>h1{font-size:clamp(44px,6.8vw,70px);line-height:1.05;letter-spacing:-.055em}
.nsmtb-catalog-intro{font-size:16px;line-height:1.7;margin:20px 0 32px;max-width:650px}
.nsmtb-catalog-page .nsmtb-brand-grid,.nsmtb-directory-grid,.nsmtb-family-grid{gap:16px}
.nsmtb-family-card{min-height:128px;padding:24px;align-items:center}
.nsmtb-family-card strong{font-size:clamp(22px,2.2vw,28px);line-height:1.2}
.nsmtb-family-card>span{color:var(--ns-red)}
.nsmtb-product-card{padding:16px}
.nsmtb-product-card h2{font-size:clamp(19px,1.75vw,24px);line-height:1.35;letter-spacing:-.035em}
.nsmtb-product-card .price{font-size:21px;line-height:1.4;margin:8px 0 20px}
.nsmtb-product-card .nsmtb-product-link{font-size:12px;border-color:var(--ns-border)}
.nsmtb-design.n-custom .cb-intro,.n-custom .cb-section-intro{padding-left:var(--ns-gutter);padding-right:var(--ns-gutter)}
.n-custom :is(.cb-choice,.cb-process,.cb-project,.cb-gallery-section,.cb-faq){padding-left:var(--ns-gutter);padding-right:var(--ns-gutter)}
.n-custom .cb-section-intro{padding-top:8px;padding-bottom:28px}
/* Native WooCommerce gallery must fill its column at every breakpoint. */
body.single-product .wp-site-blocks>.woocommerce.product{padding:0;max-width:none}
body.single-product main#wp--skip-link--target{padding:24px var(--ns-gutter) 64px;margin-block-start:0}
body.single-product main#wp--skip-link--target>.alignwide{width:100%;max-width:1404px;margin-inline:auto}
body.single-product main#wp--skip-link--target>.wc-block-breadcrumbs{margin-top:0;margin-bottom:28px!important;padding:0!important}
body.single-product .woocommerce-breadcrumb{margin:0;padding:0;font-weight:500;letter-spacing:.025em;text-transform:none}
body.single-product .woocommerce-breadcrumb a{text-decoration-color:var(--ns-border)}
body.single-product main#wp--skip-link--target>.wp-block-columns{gap:clamp(28px,4vw,64px)!important;margin-top:0;align-items:start}
body.single-product main#wp--skip-link--target>.wp-block-columns>.wp-block-column{min-width:0;max-width:none}
body.single-product .wp-block-woocommerce-product-image-gallery{width:100%;max-width:none}
body.single-product .woocommerce-product-gallery{float:none!important;margin:0;width:100%!important;max-width:none}
.nsmtb-product-heading .nsmtb-brand-mark{height:44px;margin-bottom:22px}
body.single-product .nsmtb-product-description{margin-top:22px;font-size:15px;line-height:1.8}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{border-color:var(--ns-red)}
body.single-product .woocommerce-product-gallery .flex-control-thumbs{scrollbar-color:var(--ns-red) var(--ns-raised)}
.nsmtb-product-facts,.nsmtb-product-facts>div{border-color:var(--ns-border)}
body.nsmtb-shop-product .wp-block-woocommerce-product-meta{margin-top:28px;padding-top:18px;border-top:1px solid var(--ns-border)}
body.nsmtb-shop-product .wp-block-woocommerce-product-meta>.wp-block-group{display:flex;flex-direction:column;align-items:stretch;gap:12px}
body.nsmtb-shop-product .wp-block-woocommerce-product-meta .wp-block-post-terms{margin:0 0 12px;padding:0;font-size:13px;line-height:1.6}
body.nsmtb-shop-product .wp-block-woocommerce-product-meta .wp-block-post-terms__prefix{display:inline-block;min-width:76px;color:var(--ns-muted);font-size:11px;font-weight:600}
.n-custom .cb-type-art{background:var(--ns-paper);color:var(--ns-bg)}
@media(min-width:900px){body.single-product main#wp--skip-link--target>.wp-block-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:899px){body.single-product main#wp--skip-link--target>.wp-block-columns{grid-template-columns:minmax(0,1fr);gap:28px!important}}
@media(max-width:600px){
 :root{--ns-gutter:20px}
 .nsmtb-catalog-page{padding-top:20px;padding-bottom:44px}
 .nsmtb-catalog-breadcrumb{margin-bottom:20px}
 .nsmtb-catalog-intro{font-size:14px;margin:16px 0 26px}
 .nsmtb-catalog-page .nsmtb-brand-grid,.nsmtb-directory-grid,.nsmtb-family-grid{gap:10px}
 .nsmtb-design .n-logo-caption,.nsmtb-catalog-page .nsmtb-brand-caption{font-size:10px}
 .nsmtb-family-card{min-height:104px;padding:18px}
 .nsmtb-product-card h2{font-size:20px}
 body.single-product main#wp--skip-link--target{padding-top:20px}
 body.single-product main#wp--skip-link--target>.wc-block-breadcrumbs{margin-bottom:22px}
 .n-custom .cb-breadcrumb{padding-top:20px;padding-bottom:20px}
 .nsmtb-design .n-header nav a[data-go="quote"]{margin-left:0}
 .nsmtb-design .n-header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}
 .nsmtb-design .n-header nav a{min-height:44px;padding:9px 4px;font-size:11px;letter-spacing:0;justify-content:center}
 .nsmtb-design .n-header nav:has(a[data-go="offers"]) a[data-go="quote"]{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .nsmtb-design .n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card,.nsmtb-family-card,.cb-path,.cb-path-art img{transition:none}
 .cb-path:hover .cb-path-art img{transform:none}
}
