/* Frontend-only visual layout */
.nt-site .nt-hero{background:#eef2e9;color:#234c3c;padding:70px 24px;text-align:center;border-radius:18px;margin:18px auto 42px;max-width:1260px}.nt-site .nt-hero h1{font-size:clamp(32px,5vw,60px);line-height:1.1;margin:12px 0 20px;color:#234c3c}.nt-site .nt-hero p{max-width:660px;margin:0 auto 22px}.nt-site .nt-kicker{letter-spacing:.25em;font-size:13px;font-weight:700}.nt-site .nt-button{display:inline-block;background:#274e3c;color:#fff!important;text-decoration:none;padding:13px 24px;border-radius:7px;font-weight:700}.nt-site .nt-intro{text-align:center;margin:45px auto 30px;max-width:800px}.nt-site .nt-intro h2{font-size:clamp(25px,3vw,36px)}.nt-site .nt-center{text-align:center;padding:20px}.nt-site ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px!important;margin:30px auto!important}.nt-site ul.products::before,.nt-site ul.products::after{display:none!important}.nt-site ul.products li.product{float:none!important;width:100%!important;clear:none!important;margin:0!important;text-align:center;min-width:0}.nt-site ul.products li.product a img{display:block;width:100%!important;aspect-ratio:1/1;object-fit:contain;background:#f1f3ed;border-radius:10px}.nt-site ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;min-height:44px}.nt-site ul.products li.product .button{background:#274e3c;color:white;border-radius:6px}.nt-site .nt-footer{background:#203d33;color:#fff;padding:40px 15px;text-align:center;margin-top:70px}.nt-site .nt-footer h3{color:#fff}.nt-site .nt-footer-inner{max-width:1100px;margin:auto}.nt-site .nt-footer nav{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center;margin:25px auto}.nt-site .nt-footer a{color:#fff;text-decoration:none}.nt-site .nt-footer small{opacity:.8}@media(max-width:900px){.nt-site ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:650px){.nt-site ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important}.nt-site .nt-hero{padding:44px 16px}}@media(max-width:420px){.nt-site ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Consistent merchandise photography and one-line site navigation */
.nt-site .nt-primary-nav ul{display:flex;flex-wrap:wrap;gap:12px 23px;justify-content:center;align-items:center;padding:0;margin:0;list-style:none}
.nt-site .nt-primary-nav a{text-decoration:none;font-size:14px;color:inherit}
.nt-site .nt-primary-nav{max-width:1000px;margin:auto}
.nt-site ul.products li.product a img{aspect-ratio:1 / 1!important;object-fit:contain!important;background:#f8f8f8}
.nt-site .woocommerce div.product div.images img{width:100%;object-fit:contain;background:#f8f8f8}
.nt-site .nt-footer nav a:hover,.nt-site .nt-primary-nav a:hover{text-decoration:underline}

/* v1.2 storefront refinement: unified grid, accurate photo sizes, compact CTAs */
body.nt-site{--nt-dark:#234737;--nt-ink:#1d2923}
body.nt-site .wp-site-blocks{overflow-x:clip}
body.nt-site .wp-site-blocks>footer.wp-block-template-part,
body.nt-site footer.wp-block-template-part,
body.nt-site footer.site-footer:not(.nt-footer){display:none!important}
body.nt-site header.wp-block-template-part{padding:14px clamp(18px,3vw,42px)!important}
body.nt-site .nt-primary-nav ul{display:flex;gap:clamp(14px,2vw,34px);justify-content:center;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:wrap}
body.nt-site .nt-primary-nav a{font-size:14px;line-height:1.6;font-weight:500;text-decoration:none;color:#223d30}
body.nt-site :is(.woocommerce, .wp-block-woocommerce-product-collection) ul.products,
body.nt-site ul.products{width:min(100%,1180px)!important;max-width:1180px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px 22px!important;margin:28px auto!important;padding:0 18px!important;box-sizing:border-box;align-items:stretch}
body.nt-site ul.products li.product{display:flex!important;flex-direction:column!important;align-items:stretch!important;float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:12px!important;box-sizing:border-box!important;text-align:center!important;border:1px solid #e8ede9;border-radius:12px;overflow:hidden;background:#fff}
body.nt-site ul.products li.product>a.woocommerce-LoopProduct-link{display:flex!important;flex-direction:column!important;align-items:stretch!important;flex:1;text-decoration:none}
body.nt-site ul.products li.product img{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:1 / 1!important;object-fit:contain!important;display:block!important;margin:0 auto 12px!important;background:#f6f7f5!important;border-radius:7px!important}
body.nt-site ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;font-weight:600!important;line-height:1.45!important;min-height:44px!important;margin:5px 0 10px!important;padding:0!important;color:#243d32}
body.nt-site ul.products li.product .price{display:block!important;font-size:16px!important;font-weight:600!important;color:#202b25!important;margin:0 0 12px!important;min-height:24px}
body.nt-site ul.products li.product .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;min-height:42px!important;padding:9px 10px!important;margin:0!important;font-size:14px!important;line-height:1.2!important;font-weight:600!important;border-radius:7px!important;white-space:normal!important;background:#274e3c!important;color:#fff!important;text-decoration:none!important}
body.nt-site ul.products li.product .button:hover{background:#193e2c!important}
body.nt-site .nt-footer{margin-top:50px!important;padding:38px 20px 30px!important}
body.nt-site .nt-footer h3{font-size:22px!important;margin:0 0 10px!important}
body.nt-site .nt-footer nav{gap:12px 25px!important;margin:20px auto!important}
body.nt-site .nt-footer a{font-size:14px!important}
@media(max-width:900px){body.nt-site ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}}
@media(max-width:640px){body.nt-site ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:0 12px!important}body.nt-site ul.products li.product{padding:9px!important}body.nt-site ul.products li.product .woocommerce-loop-product__title{font-size:13px!important}body.nt-site .nt-footer nav{gap:12px 18px!important}}

/* V1.3: Fix the Gutenberg constrained-width parent (typically ~620px in Twenty Twenty-Five).
   The shop grid must break out of the narrow content column and span desktop width. */
body.nt-site .wp-block-post-content ul.products,
body.nt-site .entry-content ul.products,
body.nt-site main ul.products,
body.nt-site .woocommerce ul.products {
 width:min(1200px,calc(100vw - 56px))!important;
 max-width:none!important;
 position:relative!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 margin:34px 0 44px!important;
 padding:0!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:28px!important;
}
body.nt-site ul.products li.product{
 padding:15px!important;
 border:1px solid #e7ece8!important;
 border-radius:14px!important;
 box-shadow:none!important;
}
body.nt-site ul.products li.product img,
body.nt-site ul.products li.product a img{
 width:100%!important;
 height:auto!important;
 aspect-ratio:1/1!important;
 object-fit:contain!important;
 background:#f5f6f4!important;
 margin-bottom:14px!important;
}
body.nt-site ul.products li.product .woocommerce-loop-product__title{
 font-size:16px!important;
 line-height:1.4!important;
 min-height:45px!important;
 margin:0 0 7px!important;
}
body.nt-site ul.products li.product .price{
 font-size:17px!important;
 line-height:1.35!important;
 margin:0 0 16px!important;
 min-height:24px!important;
}
body.nt-site ul.products li.product .button{
 width:100%!important;
 min-height:43px!important;
 padding:11px 16px!important;
 margin-top:auto!important;
 box-sizing:border-box!important;
 font-size:14px!important;
 white-space:normal!important;
}
/* Keep text sections centered while the grid alone uses the broader width. */
body.nt-site .nt-intro{max-width:800px!important;margin:38px auto 28px!important}
@media(max-width:950px){
 body.nt-site .wp-block-post-content ul.products,body.nt-site .entry-content ul.products,body.nt-site main ul.products,body.nt-site .woocommerce ul.products{width:calc(100vw - 40px)!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
}
@media(max-width:650px){
 body.nt-site .wp-block-post-content ul.products,body.nt-site .entry-content ul.products,body.nt-site main ul.products,body.nt-site .woocommerce ul.products{width:calc(100vw - 24px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 body.nt-site ul.products li.product{padding:10px!important}
 body.nt-site ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;min-height:56px!important}
 body.nt-site ul.products li.product .price{font-size:14px!important}
 body.nt-site ul.products li.product .button{font-size:12px!important;min-height:40px!important;padding:8px!important}
}
