/*
Theme Name: NorthShore Outboards
Description: Complete WooCommerce theme for selling new outboard motors in Canada. CAD pricing, Google Shopping-ready product pages and schema, written policy pages, data-driven mega menu, footer and trust signals.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: northshore
WC requires at least: 8.0
License: GPLv2 or later
*/
:root{--navy:#0f1d33;--navy2:#16294a;--navy-fg:#f3f6fa;--primary:#e8641e;--primary-d:#c9500f;--bg:#f8fafc;--fg:#14213a;--muted:#5d6b82;--border:#e2e8f0;--card:#fff;--alt:#eef2f6;--success:#1f8a57;--shadow:0 18px 40px -12px rgba(15,29,51,.28)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}html.ns-lock{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.ns-logo{font-family:"Archivo",system-ui,sans-serif;letter-spacing:-.02em;line-height:1.15}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ns-skip:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;margin:0;background:#fff;padding:10px 14px;z-index:999;border-radius:6px}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.ns-container{max-width:1280px;margin:0 auto;padding:0 20px}

/* Buttons */
.ns-btn{display:inline-block;padding:12px 24px;border-radius:6px;font-weight:600;background:var(--primary);color:#fff;border:1px solid var(--primary);cursor:pointer;font:inherit;font-weight:600;transition:background .15s}
.ns-btn:hover{background:var(--primary-d);border-color:var(--primary-d)}
.ns-btn-sm{padding:9px 16px;font-size:14px}
.ns-btn-outline{background:transparent;border-color:rgba(255,255,255,.45);color:#fff;margin-left:10px}.ns-btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
.ns-btn-outline-dark{background:transparent;color:var(--fg);border-color:var(--border);padding:9px 18px;font-size:14px;white-space:nowrap}.ns-btn-outline-dark:hover{background:var(--fg);color:#fff;border-color:var(--fg)}

/* Top bar */
.ns-topbar{background:var(--navy);color:var(--navy-fg);font-size:12px}
.ns-topbar .ns-container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding-top:8px;padding-bottom:8px}
.ns-topbar-r{display:flex;gap:18px;align-items:center}.ns-topbar a{display:inline-flex;gap:6px;align-items:center}.ns-topbar a:hover{color:var(--primary)}.ns-topbar svg{width:13px;height:13px}

/* Header */
.ns-header{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.admin-bar .ns-header{top:32px}
.ns-header-row{display:flex;align-items:center;gap:22px;padding-top:14px;padding-bottom:14px}
.ns-logo{font-size:22px;font-weight:800;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.ns-logo svg{width:26px;height:26px;color:var(--primary);flex:none}.ns-logo img{max-height:44px;width:auto}
.ns-search{flex:1;max-width:560px;margin-left:auto;display:flex;border:1px solid var(--border);border-radius:8px;background:var(--bg);overflow:hidden}
.ns-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(232,100,30,.18)}
.ns-search input{flex:1;min-width:0;border:0;background:transparent;padding:11px 14px;font:inherit;font-size:14px;color:var(--fg);outline:0}
.ns-search button{border:0;background:var(--navy);color:#fff;padding:0 16px;cursor:pointer}.ns-search button:hover{background:var(--primary)}.ns-search svg{width:18px;height:18px;display:block}
.ns-cart{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:9px 14px;border:1px solid var(--border);border-radius:8px;white-space:nowrap}
.ns-cart:hover{border-color:var(--primary)}.ns-cart svg{width:20px;height:20px;color:var(--primary)}
.ns-cart b{background:var(--primary);color:#fff;border-radius:99px;font-size:12px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.ns-burger{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;padding:0;position:relative}
.ns-burger span:not(.screen-reader-text){position:absolute;left:11px;right:11px;height:2px;background:var(--fg);border-radius:2px;transition:.2s}
.ns-burger span:nth-child(1){top:14px}.ns-burger span:nth-child(2){top:21px}.ns-burger span:nth-child(3){top:28px}
.drawer-open .ns-burger span:nth-child(1){top:21px;transform:rotate(45deg)}.drawer-open .ns-burger span:nth-child(2){opacity:0}.drawer-open .ns-burger span:nth-child(3){top:21px;transform:rotate(-45deg)}

/* Primary nav + mega menu */
.ns-navbar{border-top:1px solid var(--border);background:#fff;position:relative}
.ns-nav{padding-top:0;padding-bottom:0}
.ns-menu{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.ns-item{position:static;display:flex;align-items:stretch}
.ns-link{display:flex;flex-direction:column;justify-content:center;padding:11px 14px 10px;font-weight:600;font-size:15px;line-height:1.2;border-bottom:3px solid transparent;transition:color .15s,border-color .15s}
.ns-link small{font-weight:400;font-size:11.5px;color:var(--muted);margin-top:2px}
.ns-item:hover>.ns-link,.ns-item.is-open>.ns-link,.ns-link:focus-visible{color:var(--primary);border-bottom-color:var(--primary)}
.ns-caret{width:20px;margin-left:-8px;border:0;background:transparent;cursor:pointer;position:relative;color:var(--muted)}
.ns-caret:after{content:"";position:absolute;left:5px;top:50%;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.ns-item.is-open .ns-caret:after{transform:translateY(-30%) rotate(225deg)}
.ns-item.is-open .ns-caret{color:var(--primary)}
.ns-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--border);border-bottom:3px solid var(--primary);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.ns-item.is-open>.ns-mega,.ns-item:focus-within>.ns-mega{opacity:1;visibility:visible;transform:none}
@media (hover:hover){.ns-item:hover>.ns-mega{opacity:1;visibility:visible;transform:none}}
.ns-mega-in{max-width:1280px;margin:0 auto;padding:26px 20px 28px}
.ns-mega-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}
.ns-mega-head strong{display:block;font:800 20px "Archivo",sans-serif;letter-spacing:-.02em}.ns-mega-head span{color:var(--muted);font-size:14px}
.ns-mega-all{font-weight:600;font-size:14px;color:var(--primary);white-space:nowrap}.ns-mega-all:hover{text-decoration:underline}
.ns-mega-cols{display:grid;grid-template-columns:1fr 1.9fr 1fr;gap:34px}
.ns-mega-col h3{font:700 12px "IBM Plex Sans",sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 12px}
.ns-mega-col ul{list-style:none;margin:0;padding:0}
.ns-mega-col:first-child li a{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:6px;font-weight:500}
.ns-mega-col:first-child li a:hover{background:var(--alt);color:var(--primary)}
.ns-mega em,.ns-brand-card em{font-style:normal;font-size:12px;color:var(--muted);background:var(--alt);border-radius:99px;padding:1px 8px;min-width:26px;text-align:center}
.ns-mega-feat ul{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ns-mega-feat li a{display:flex;flex-direction:column;gap:8px;height:100%;border:1px solid var(--border);border-radius:8px;padding:10px;transition:border-color .15s,box-shadow .15s}
.ns-mega-feat li a:hover{border-color:var(--primary);box-shadow:0 6px 16px -8px rgba(15,29,51,.35)}
.ns-mega-feat img{width:100%;height:96px;object-fit:contain;background:var(--alt);border-radius:6px}
.ns-mega-feat b{display:block;font-size:13px;font-weight:600;line-height:1.3}.ns-mega-feat small{display:block;margin-top:4px;font-size:13px;font-weight:700;color:var(--fg)}.ns-mega-feat small i{font-style:normal;font-weight:400;color:var(--muted);font-size:11px}
.ns-mega-empty{color:var(--muted);font-size:14px;margin:0}
.ns-mega-help{background:var(--navy);color:var(--navy-fg);border-radius:10px;padding:20px}
.ns-mega-help h3{color:var(--primary)}.ns-mega-help p{font-size:14px;margin:0 0 14px;opacity:.9}
.ns-mega-tel{display:block;margin-top:12px;font-weight:700;font-size:17px}.ns-mega-tel:hover{color:var(--primary)}
.ns-mega-wide .ns-brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ns-brand-card{border:1px solid var(--border);border-radius:10px;padding:16px 18px}
.ns-brand-name{display:flex;justify-content:space-between;align-items:center;font:800 18px "Archivo",sans-serif;margin-bottom:8px}.ns-brand-name:hover{color:var(--primary)}
.ns-brand-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
.ns-brand-card li a{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:14px;color:var(--muted)}.ns-brand-card li a:hover{color:var(--primary)}
.ns-mega-strip{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:14px}
.ns-mega-strip span{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.ns-mega-strip a{font-weight:600}.ns-mega-strip a:hover{color:var(--primary)}
.ns-mega-narrow{left:auto;right:auto;min-width:340px}
.ns-item-support{position:relative}.ns-item-support .ns-mega-narrow{left:0;right:auto;width:360px;top:100%}
.ns-support{list-style:none;margin:0;padding:0}.ns-support li a{display:block;padding:9px 12px;border-radius:6px}.ns-support li a:hover{background:var(--alt)}
.ns-support b{display:block;font-weight:600}.ns-support small{display:block;color:var(--muted);font-size:12.5px}
.ns-item-support .ns-mega-in{padding:12px}
.ns-menu>.ns-item:last-child{margin-left:auto}
.ns-scrim{position:fixed;inset:0;background:rgba(10,18,32,.55);z-index:49}

/* Hero */
.ns-hero{position:relative;min-height:560px;color:var(--navy-fg);overflow:hidden;background:var(--navy)}
.ns-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ns-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,24,43,.92) 0%,rgba(13,24,43,.6) 45%,rgba(13,24,43,0) 75%);z-index:1}
.ns-hero .ns-container{position:relative;z-index:2;padding-top:110px;padding-bottom:110px}
.ns-eyebrow{color:var(--primary);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.ns-hero h1{font-size:clamp(38px,6vw,60px);font-weight:800;max-width:680px;margin:16px 0}
.ns-hero p{font-size:18px;max-width:560px;opacity:.92}.ns-hero-cta{margin-top:32px}
.ns-eyebrow-sm{display:block;padding:0 20px;font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}

/* Trust, sections, cards */
.ns-trust{background:var(--card);border-bottom:1px solid var(--border)}
.ns-trust .ns-container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:28px;padding-bottom:28px}
.ns-trust-item{display:flex;gap:12px;align-items:center}.ns-trust-item svg{width:32px;height:32px;color:var(--primary);flex-shrink:0}
.ns-trust-item strong{display:block;font-size:14px}.ns-trust-item small{color:var(--muted);font-size:12px}
.ns-section{padding:64px 0}.ns-section.alt{background:var(--alt)}
.ns-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.ns-section h2{font-size:30px;margin:0;font-weight:800}.ns-blurb{color:var(--muted);margin:8px 0 0}
.ns-empty{color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:8px;padding:24px;margin:0}
.ns-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.ns-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px}
.ns-card-ic{display:block;width:28px;color:var(--primary)}.ns-card h3{margin:12px 0 4px;font-size:16px}.ns-card p{margin:0;color:var(--muted);font-size:14px}
.ns-pay{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0}
.ns-pay li{border:1px solid var(--border);background:#fff;border-radius:5px;padding:3px 9px;font-size:12px;font-weight:600;color:var(--fg)}
.ns-card .ns-pay{grid-column:auto}

/* WooCommerce product grid + cards */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px;margin:0!important;padding:0;list-style:none}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;padding:0 0 20px!important;display:flex;flex-direction:column}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1}
.woocommerce ul.products li.product img{background:#e9edf1;aspect-ratio:1;object-fit:contain;margin:0 0 14px!important;width:100%}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:"Archivo",sans-serif;font-size:16px!important;padding:0 20px!important;margin:0 0 6px}
.woocommerce ul.products li.product .price{color:var(--fg)!important;font-family:"Archivo",sans-serif;font-size:22px!important;font-weight:800;padding:0 20px;display:block;margin-top:8px}
.woocommerce ul.products li.product .price del{font-size:14px;font-weight:400;color:var(--muted)}.woocommerce ul.products li.product .price ins{text-decoration:none}
.ns-stock{display:block;padding:0 20px;font-size:12px;font-weight:600;color:var(--success)}.ns-stock.out{color:#c0392b}.ns-stock.pre{color:var(--primary-d)}
.ns-tax{display:block;padding:0 20px;color:var(--muted);font-size:12px;margin-bottom:12px}
.woocommerce ul.products li.product .button{margin:auto 20px 0!important;background:var(--primary)!important;color:#fff!important;border-radius:6px;text-align:center;font-weight:600;padding:10px 16px}
.woocommerce ul.products li.product .button:hover{background:var(--primary-d)!important}
.woocommerce ul.products li.product .onsale{background:var(--primary);min-height:0;line-height:1;padding:6px 10px;border-radius:4px;top:12px;left:12px;right:auto;margin:0}
.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--border);border-radius:6px;padding:8px 14px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.woocommerce-ordering select{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font:inherit}

/* Archive */
.ns-shop{padding-top:24px;padding-bottom:56px}
.ns-crumbs{font-size:13px;color:var(--muted);margin:0 0 14px}.ns-crumbs a:hover{color:var(--primary);text-decoration:underline}
.ns-archive-head{margin-bottom:24px}.ns-archive-head h1{font-size:clamp(28px,4vw,38px);font-weight:800;margin:0 0 8px}.ns-archive-head p{margin:0;color:var(--muted);max-width:760px}.ns-archive-head .ns-tax-line{font-size:13px;margin-top:6px}

/* Product page */
.ns-product{padding-top:24px;padding-bottom:56px}
.ns-product-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.ns-product-media .woocommerce-product-gallery{margin:0!important;width:100%!important;float:none!important;background:#e9edf1;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.ns-product-media .woocommerce-product-gallery img{background:#e9edf1;object-fit:contain}
.ns-product-info h1{font-size:clamp(26px,3.4vw,36px);font-weight:800;margin:4px 0 14px}
.ns-price{font:800 34px "Archivo",sans-serif;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.ns-price .woocommerce-Price-amount{font-weight:800}.ns-price small{font:600 16px "IBM Plex Sans",sans-serif;color:var(--muted)}.ns-price del{font-size:20px;font-weight:400;color:var(--muted)}.ns-price ins{text-decoration:none}
.ns-tax-line{color:var(--muted);font-size:13px;margin:4px 0 12px}
.ns-avail{font-weight:700;margin:0 0 14px;color:var(--success)}.ns-avail.outofstock{color:#c0392b}.ns-avail.onbackorder{color:var(--primary-d)}
.ns-short{color:var(--fg);margin-bottom:16px}.ns-short p{margin:0 0 8px}
.ns-buy form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 20px}
.ns-buy .quantity input{width:72px;padding:12px;border:1px solid var(--border);border-radius:6px;font:inherit}
.ns-buy .single_add_to_cart_button{background:var(--primary)!important;color:#fff!important;border-radius:6px!important;padding:14px 32px!important;font-weight:600!important;font-size:16px!important}
.ns-buy .single_add_to_cart_button:hover{background:var(--primary-d)!important}
.ns-ship-facts{list-style:none;margin:0 0 22px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:10px;display:grid;gap:14px}
.ns-ship-facts li{display:flex;gap:12px;font-size:14px;color:var(--muted)}.ns-ship-facts svg{width:22px;height:22px;color:var(--primary);flex:none;margin-top:2px}.ns-ship-facts strong{display:block;color:var(--fg)}.ns-ship-facts a{text-decoration:underline}
.ns-spec{width:100%;border-collapse:collapse;font-size:14px}.ns-spec th,.ns-spec td{text-align:left;padding:10px 0;border-bottom:1px solid var(--border);vertical-align:top}.ns-spec th{width:42%;font-weight:600;color:var(--muted)}
.ns-desc{margin-top:48px;max-width:860px}.ns-desc h2,.ns-related h2{font-size:26px;font-weight:800}
.ns-related{margin-top:48px}

/* Policy-style pages */
.ns-policy-wrap{padding:48px 0 24px}
.ns-policy{max-width:900px}
.ns-policy h1{font-size:clamp(34px,5vw,52px);font-weight:800;margin:10px 0 16px}
.ns-policy h2{font-size:24px;font-weight:800;margin:36px 0 12px}
.ns-policy-lede{font-size:19px;color:var(--fg);margin:0 0 10px}
.ns-policy-meta{font-size:13px;color:var(--muted);margin:0 0 26px}.ns-policy-meta a{text-decoration:underline}
.ns-policy a:not(.ns-btn){color:var(--primary-d);text-decoration:underline}
.ns-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 12px}
.ns-stat{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px}.ns-stat strong{display:block;font:800 32px "Archivo",sans-serif;color:var(--primary)}.ns-stat span{font-size:13px;color:var(--muted)}
.ns-policy-table{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}
.ns-policy-row{display:grid;grid-template-columns:230px 1fr;gap:20px;padding:16px 20px;border-bottom:1px solid var(--border)}.ns-policy-row:last-child{border-bottom:0}
.ns-policy-row strong{font-weight:600}.ns-policy-row p{margin:0;color:#34425c}
.ns-policy-note,.ns-policy-highlight{background:#fff7f2;border:1px solid #f6d3bd;border-left:4px solid var(--primary);border-radius:8px;padding:16px 18px;margin:24px 0}
.ns-policy-highlight p{margin:6px 0 0}
.ns-policy-disclaimer{font-size:13px;color:var(--muted);margin-top:28px}
.ns-faq details{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:0 18px}.ns-faq summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.ns-faq summary::-webkit-details-marker{display:none}.ns-faq summary:after{content:"+";font-size:22px;color:var(--primary);line-height:1}.ns-faq details[open] summary:after{content:"–"}.ns-faq details>div{padding:0 0 16px;color:#34425c}.ns-faq p{margin:0}
.ns-track-panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin:20px 0}.ns-track-panel input.input-text{border:1px solid var(--border);border-radius:6px;padding:10px;width:100%}
.ns-track-panel .button{background:var(--primary);color:#fff;border-radius:6px}
.ns-page{padding:56px 20px;max-width:900px}.ns-page h1{font-size:40px}

/* Contact */
.ns-contact-hero{background:var(--navy);color:var(--navy-fg);padding:56px 0}.ns-contact-hero h1{font-size:clamp(32px,5vw,48px);margin:10px 0}.ns-contact-hero p{max-width:620px;opacity:.9;margin:0}
.ns-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;padding-top:32px;padding-bottom:32px;align-items:start}
.ns-panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px}.ns-panel h2{margin:0 0 16px;font-size:24px}.ns-panel h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-family:"IBM Plex Sans",sans-serif}
.ns-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ns-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.ns-form .full,.ns-form button,.ns-form-note{grid-column:1/-1}
.ns-form input,.ns-form select,.ns-form textarea{border:1px solid var(--border);border-radius:8px;padding:11px 12px;font:inherit;font-weight:400;background:#fff}.ns-form button{justify-self:start}.ns-form-note{font-size:12.5px;color:var(--muted);margin:0}
.ns-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.ns-status{padding:12px 14px;border-radius:8px;margin-bottom:16px;font-weight:600}.ns-status.ok{background:#e8f6ee;color:#17623f}.ns-status.err{background:#fdecea;color:#9b2c1f}
.ns-map iframe{width:100%;height:300px;border:0;border-radius:8px;margin:12px 0}.ns-map address{font-style:normal;color:var(--muted)}
.ns-big{display:block;font:800 26px "Archivo",sans-serif;color:var(--primary-d)}.ns-big-sm{font-size:17px;word-break:break-all}.ns-contact-side p{margin:8px 0 0;color:var(--muted);font-size:14px}
.ns-hours-list{margin:0}.ns-hours-list div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.ns-hours-list dt{font-weight:600}.ns-hours-list dd{margin:0;color:var(--muted)}

/* Footer */
.ns-footer{background:var(--navy);color:var(--navy-fg);margin-top:72px;font-size:14px}
.ns-footer .ns-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px;padding-top:56px;padding-bottom:40px}
.ns-fcol h3{font:700 12px "IBM Plex Sans",sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--primary);margin:0 0 14px}
.ns-fcol ul{list-style:none;padding:0;margin:0}.ns-fcol li{margin-bottom:9px}.ns-fcol li a{opacity:.85}.ns-fcol li a:hover{opacity:1;color:var(--primary)}.ns-fcol li span{opacity:.55;font-size:12px;margin-left:4px}
.ns-fbrand p{opacity:.85;margin:12px 0}.ns-fbrand address{font-style:normal;opacity:.85;margin:12px 0}.ns-fbrand a:hover{color:var(--primary)}.ns-fhours{opacity:.85}
.ns-footer .ns-logo svg{color:var(--primary)}
.ns-secure{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;font-size:12.5px;opacity:.8}.ns-secure svg{width:16px;height:16px;flex:none;color:var(--primary)}
.ns-fpay{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;border-top:1px solid rgba(255,255,255,.1)}
.ns-fpay:empty{display:none}.ns-fpay span{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.1em}.ns-fpay .ns-pay{margin:0}.ns-fpay .ns-pay li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.ns-copy{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:20px;font-size:12px;opacity:.7}

/* Tablet */
@media(max-width:1100px){.ns-menu{flex-wrap:wrap}.ns-link{padding:10px 10px 9px;font-size:14px}.ns-link small{display:none}.ns-mega-cols{grid-template-columns:1fr 1.6fr}.ns-mega-help{grid-column:1/-1}.ns-footer .ns-cols{grid-template-columns:repeat(3,1fr)}}

/* Mobile drawer */
@media(max-width:980px){
	.ns-burger{display:block}
	.ns-header-row{gap:12px;flex-wrap:wrap}.ns-logo{font-size:19px;margin-right:auto}
	.ns-search{order:5;flex:1 0 100%;max-width:none;margin:0}
	.ns-cart span{display:none}
	.ns-navbar{border:0}
	.ns-nav{position:fixed;top:0;left:0;bottom:0;width:min(88vw,380px);background:#fff;z-index:60;overflow-y:auto;padding:70px 0 24px;transform:translateX(-100%);transition:transform .25s;box-shadow:var(--shadow)}
	.drawer-open .ns-nav{transform:none}
	.drawer-open .ns-burger{position:fixed;left:14px;top:12px;z-index:70}
	.ns-menu{flex-direction:column;gap:0}
	.ns-item{flex-wrap:wrap;border-bottom:1px solid var(--border);position:relative}
	.ns-link{flex:1;padding:16px 20px;border-bottom:0}.ns-link small{display:block}
	.ns-caret{width:56px;margin:0;border-left:1px solid var(--border)}.ns-caret:after{left:24px}
	.ns-mega{position:static;flex:0 0 100%;width:100%!important;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;display:none;background:var(--alt)}
	.ns-item.is-open>.ns-mega{display:block}
	.ns-item:hover>.ns-mega,.ns-item:focus-within>.ns-mega{display:none}.ns-item.is-open:hover>.ns-mega,.ns-item.is-open>.ns-mega{display:block}
	.ns-mega-in{padding:14px 16px}.ns-mega-head{display:block;border:0;margin-bottom:8px;padding-bottom:0}.ns-mega-head span{display:none}.ns-mega-all{display:inline-block;margin-top:6px}
	.ns-mega-cols{grid-template-columns:1fr;gap:16px}.ns-mega-feat,.ns-mega-help{display:none}
	.ns-mega-wide .ns-brand-grid{grid-template-columns:1fr}
	.ns-item-support .ns-mega-narrow{width:100%}
	.ns-menu>.ns-item:last-child{margin-left:0}
	.ns-trust .ns-container,.ns-cards{grid-template-columns:repeat(2,1fr)}
	.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
	.ns-product-grid,.ns-contact-layout{grid-template-columns:1fr}.ns-product-grid{gap:24px}
	.ns-section-head{align-items:flex-start;flex-direction:column}
	.ns-footer .ns-cols{grid-template-columns:repeat(2,1fr)}
	.admin-bar .ns-header{top:46px}
}
@media(max-width:600px){
	.ns-topbar .ns-container{flex-direction:column}.ns-hours{display:none}
	.ns-hero{min-height:480px}.ns-hero .ns-container{padding-top:70px;padding-bottom:70px}
	.ns-hero:before{background:linear-gradient(180deg,rgba(13,24,43,.85),rgba(13,24,43,.65))}
	.ns-btn-outline{margin:10px 0 0}
	.ns-trust .ns-container,.ns-cards,.woocommerce ul.products,.ns-footer .ns-cols,.ns-stats,.ns-form{grid-template-columns:1fr}
	.ns-policy-row{grid-template-columns:1fr;gap:4px}
	.ns-section{padding:44px 0}.ns-section h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
