/* NorthShore storefront layer. Clean retail look: white ground, centered-logo header, borderless product grid, light footer. Loads after premium.css. */
:root{--bg:#fff;--card:#fff;--r:2px}
body{background:var(--bg)}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.015em}

/* Buttons: sentence case, no tracking */
.ns-btn{font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;padding:14px 32px}
.ns-btn-sm{padding:10px 20px;font-size:14px}
.ns-view-all{display:inline-block;padding:14px 44px;border:1px solid var(--fg);border-radius:var(--r);color:var(--fg);font-size:15px;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.ns-view-all:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.ns-section-foot{text-align:center;margin-top:48px}

/* Announcement bar */
.ns-topbar{font-size:13px;letter-spacing:0;text-transform:none}
.ns-topbar .ns-container{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;padding-top:10px;padding-bottom:10px;text-align:center}
.ns-topbar .ns-container>span:first-child{grid-column:2}
.ns-topbar-r{grid-column:3;justify-self:end}
.ns-hours{display:none}

/* Header */
.ns-header{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:none}
.ns-header .ns-logo{font-size:26px;font-weight:600;letter-spacing:-.01em;text-transform:none}
.ns-header .ns-logo svg{width:24px;height:24px;color:var(--navy)}
.ns-search{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0}
.ns-search:focus-within{border-bottom-color:var(--fg);box-shadow:none}
.ns-search input{padding:10px 4px;font-size:14px}
.ns-search input::placeholder{color:var(--muted)}
.ns-search button{background:transparent;color:var(--fg);padding:0 4px}
.ns-search button:hover{background:transparent;color:var(--primary)}
.ns-acct,.ns-cart{position:relative;background:transparent;border:0;border-radius:0;padding:8px}
.ns-acct span,.ns-cart span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ns-acct svg,.ns-cart svg{width:22px;height:22px;color:var(--fg);stroke-width:1.5}
.ns-acct:hover,.ns-cart:hover{background:transparent;border:0}
.ns-acct:hover svg,.ns-cart:hover svg{color:var(--primary)}
.ns-cart b{position:absolute;top:0;right:-4px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:500;background:var(--primary);color:#fff;border-radius:var(--r)}
.ns-burger{border:0;background:transparent}
.ns-header .ns-link{letter-spacing:0;text-transform:none}
@media(min-width:981px){
  .ns-header-row{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding-top:20px;padding-bottom:12px}
  .ns-logo{grid-column:2;grid-row:1;justify-self:center}
  .ns-search{grid-column:1;grid-row:1;justify-self:start;flex:none;width:100%;max-width:300px;margin:0}
  .ns-actions{grid-column:3;grid-row:1;justify-self:end}
  .ns-navbar{border-top:0}
  .ns-nav{display:flex;justify-content:center}
  .ns-menu{justify-content:center}
  .ns-header .ns-link{font-size:14.5px;font-weight:500;padding:12px 16px 14px}
}
@media(max-width:980px){
  .ns-header-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px 12px;padding-top:12px;padding-bottom:12px}
  .ns-burger{grid-column:1;grid-row:1}
  .ns-header .ns-logo{grid-column:2;grid-row:1;justify-self:center;margin:0;font-size:21px}
  .ns-actions{grid-column:3;grid-row:1}
  .ns-search{grid-column:1/-1;grid-row:2;order:0;max-width:none;margin:0;flex:none}
}
@media(max-width:700px){
  .ns-topbar .ns-container{display:flex;justify-content:center}
  .ns-topbar-r{display:none}
}

/* Hero: centered over a plain scrim */
.ns-hero{min-height:500px;display:flex;align-items:center}
.ns-hero:before{background:rgba(8,16,30,.52)}
.ns-hero .ns-container{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:88px;padding-bottom:88px}
.ns-hero .ns-eyebrow{display:block;font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;opacity:.92}
.ns-hero .ns-eyebrow:before{display:none}
.ns-hero h1{font-size:clamp(34px,5vw,56px);font-weight:500;letter-spacing:-.025em;line-height:1.08;max-width:760px;margin:14px 0 18px}
.ns-hero p{font-size:17px;max-width:560px;margin-left:auto;margin-right:auto}
.ns-hero-cta{justify-content:center;margin-top:28px}

/* Sections: centered heading, View all button below the grid */
.ns-section{padding:72px 0}
.ns-section-head{flex-direction:column;align-items:center;text-align:center;border-bottom:0;padding-bottom:0;margin-bottom:36px}
.ns-section h2{font-size:clamp(26px,3vw,34px);font-weight:500}
.ns-blurb{margin:8px auto 0;font-size:15px}

/* Product grid: four across, borderless tiles */
.woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 24px;clear:both}
.woocommerce ul.products li.product{background:transparent;border:0;border-radius:0;padding:0!important;overflow:hidden;transform:none}
.woocommerce ul.products li.product:hover{border:0;transform:none}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{padding-bottom:14px}
.woocommerce ul.products li.product img{padding:14px;margin:0 0 14px!important;background:var(--alt);border-radius:var(--r);transition:transform .35s ease}
.woocommerce ul.products li.product:hover img{transform:scale(1.03)}
.ns-eyebrow-sm,.ns-stock,.ns-tax{padding-left:0;padding-right:0}
.ns-eyebrow-sm{font-size:12px;letter-spacing:.02em}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0!important;font-size:14.5px!important;font-weight:500;line-height:1.4}
.woocommerce ul.products li.product .price{padding:0;font-size:15px!important;font-weight:500;margin-top:4px}
.woocommerce ul.products li.product .button{margin:auto 0 0!important;width:100%;text-align:center;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;padding:12px 16px;background:transparent!important;color:var(--fg)!important;border:1px solid var(--fg)!important;border-radius:var(--r)!important}
.woocommerce ul.products li.product .button:hover{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.woocommerce ul.products li.product .onsale{border-radius:var(--r);padding:5px 10px;font-size:12px;letter-spacing:0;text-transform:none}
.ns-related ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){
  .woocommerce ul.products,.ns-related ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13.5px!important}
  .woocommerce ul.products li.product .button{padding:10px 8px;font-size:13px}
  .ns-section{padding:52px 0}
}

/* Shop and category pages */
.ns-archive-head h1{font-weight:500;font-size:clamp(26px,3vw,34px)}
.woocommerce-result-count{float:left;margin:0 0 24px;font-size:14px;color:var(--muted)}
.woocommerce-ordering{float:right;margin:0 0 24px}
.woocommerce-ordering select{border-radius:var(--r);padding:9px 12px;font-size:14px}

/* Product page */
.ns-product-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px}
.ns-product-media .woocommerce-product-gallery{border:0;border-radius:var(--r);background:var(--alt)}
.ns-product-info h1{font-size:clamp(26px,3vw,34px);font-weight:500;letter-spacing:-.02em;margin:6px 0 10px}
.ns-product-info .ns-eyebrow-sm{padding:0;font-size:12px;letter-spacing:.04em}
.ns-price,.ns-price .woocommerce-Price-amount{font-weight:500}
.ns-price{font-size:22px}
.ns-avail{font-size:14px;font-weight:500}
.ns-buy form.cart{flex-direction:column;align-items:stretch;gap:14px}
.ns-buy .quantity{width:130px}
.ns-buy .quantity input{width:100%;padding:13px 12px}
.ns-buy .single_add_to_cart_button{width:100%;text-align:center;text-transform:none;letter-spacing:0;font-size:15px!important;font-weight:500!important;padding:16px 24px!important}
.ns-ship-facts{border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;padding:20px 0 0}
@media(max-width:980px){.ns-product-grid{grid-template-columns:1fr;gap:28px}}

/* Footer: light, plain columns */
.ns-footer{background:var(--alt);color:var(--fg);border-top:1px solid var(--border)}
.ns-footer .ns-logo{font-size:22px;font-weight:600;letter-spacing:-.01em;text-transform:none}
.ns-footer .ns-logo svg{color:var(--navy)}
.ns-fcol h3{color:var(--fg);opacity:1;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}
.ns-fcol li a{opacity:.75}
.ns-fcol li a:hover{color:var(--fg);opacity:1;text-decoration:underline}
.ns-fbrand a:hover{color:var(--fg);text-decoration:underline}
.ns-secure{opacity:.75}
.ns-secure svg{color:var(--navy)}
.ns-fpay{border-top:1px solid var(--border)}
.ns-fpay span{letter-spacing:0;text-transform:none}
.ns-fpay .ns-pay li{background:var(--bg);border-color:var(--border);color:var(--fg)}
.ns-copy{border-top:1px solid var(--border);opacity:.75}

@media(prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product img{transition:none}
  .woocommerce ul.products li.product:hover img{transform:none}
}
