
/*
Theme Name: NIGHT MOOD Full
Template: astra
Version: 3.9
*/
:root{--pink:#ff2d7f;--pink2:#ff72ad;--ink:#08080a;--muted:#6f6f78;--line:#eee;--soft:#fff4f8}
*{box-sizing:border-box}
body{margin:0;color:#16161a;background:#fff;font-family:Arial,Helvetica,sans-serif}
a{color:var(--pink)}
.nm-wrap{width:min(1240px,92%);margin:auto}
.nm-top{background:var(--pink);color:#fff;text-align:center;padding:8px 10px;font-size:12px;font-weight:600}
.nm-header{background:#070708;color:#fff;position:relative}
.nm-head{min-height:74px;display:flex;align-items:center;gap:24px}
.nm-logo{color:#fff!important;text-decoration:none;font-size:28px;font-weight:800;letter-spacing:1.5px;white-space:nowrap}
.nm-logo b{color:var(--pink)}
.nm-search{display:flex;flex:1;max-width:540px;margin:auto}
.nm-search input{height:42px;border:0;padding:0 16px;flex:1;min-width:0;border-radius:22px 0 0 22px}
.nm-search button{height:42px;width:52px;border:0;background:var(--pink);color:#fff;border-radius:0 22px 22px 0}
.nm-actions{display:flex;gap:15px;font-size:12px;white-space:nowrap}
.nm-actions a{color:#fff!important;text-decoration:none}
.nm-nav{background:#08080a;border-top:1px solid #202024;border-bottom:1px solid #222}
.nm-nav .nm-wrap{display:flex;align-items:center;gap:25px;min-height:47px;overflow:auto}
.nm-nav a{color:#fff!important;text-decoration:none;font-size:13px;white-space:nowrap}
.nm-nav a:first-child{color:#ff6da5!important;border-bottom:2px solid var(--pink);padding:15px 0}
.nm-nav .offer{background:var(--pink);padding:8px 18px;border-radius:20px;margin-left:auto}
.nm-hero{min-height:500px;background:
linear-gradient(90deg,rgba(8,3,7,.96) 0%,rgba(17,4,12,.84) 32%,rgba(10,4,9,.12) 72%),
url("assets/hero.jpg") center right/cover no-repeat;color:#fff;display:flex;align-items:center}
.hero-copy{padding:70px 0;max-width:590px}
.kicker{color:#ff9cc3;letter-spacing:3px;font-size:12px;font-weight:700}
.nm-hero h1{color:#fff!important;font:700 clamp(42px,5.5vw,70px)/.98 Georgia,serif;margin:16px 0;text-shadow:0 3px 15px #000}
.nm-hero h1 span{color:#ff6fa9}
.nm-hero p{color:#f2f2f2!important;font-size:16px;line-height:1.7;max-width:500px}
.points{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0;color:#fff;font-size:13px}
.cta{display:inline-block;background:var(--pink);color:#fff!important;text-decoration:none;padding:13px 25px;border-radius:6px;font-weight:800}
.nm-cats{display:grid;grid-template-columns:repeat(9,1fr);gap:14px;padding:18px 0;overflow:auto}
.nm-cat{text-align:center;min-width:100px}
.nm-cat img{width:76px;height:76px;border-radius:50%;object-fit:cover;display:block;margin:auto;border:3px solid #fff;box-shadow:0 3px 14px rgba(0,0,0,.12)}
.nm-cat span{display:block;font-size:12px;font-weight:700;margin-top:8px;white-space:nowrap}
.nm-benefits{background:#ffe2ed}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px 0}
.benefit{display:flex;gap:11px;align-items:center;justify-content:center}
.benefit .ico{font-size:25px;color:var(--pink)}
.benefit strong,.benefit small{display:block}
.benefit strong{font-size:13px}.benefit small{color:#666;font-size:11px;margin-top:2px}
.nm-section{padding:50px 0}
.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.section-head h2{font:700 32px Georgia,serif;margin:0}
.view{border:1px solid var(--pink);color:var(--pink)!important;text-decoration:none;padding:9px 17px;border-radius:20px;font-size:12px}
.nm-products .woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:18px!important;margin:0!important}
.nm-products .woocommerce ul.products:before,.nm-products .woocommerce ul.products:after{display:none!important}
.nm-products .woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;border:1px solid #eee;border-radius:8px;overflow:hidden;padding:0 0 14px!important;background:#fff}
.nm-products .woocommerce ul.products li.product img{width:100%!important;height:300px!important;object-fit:cover;margin:0 0 10px!important}
.nm-products .woocommerce-loop-product__title{font-size:14px!important;color:#16161a!important;padding:0 12px!important}
.nm-products .price{color:var(--pink)!important;padding:0 12px!important;font-weight:800;font-size:18px!important}
.nm-products .button{display:block!important;margin:10px 12px 0!important;background:var(--pink)!important;color:#fff!important;text-align:center;border-radius:5px!important}
.nm-promo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nm-promo img{width:100%;height:180px;object-fit:cover;border-radius:9px;display:block}
.nm-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.category-card{aspect-ratio:1/1;border-radius:9px;overflow:hidden;position:relative;background:linear-gradient(120deg,#18050e,#c43b70)}
.category-card img{width:100%;height:100%;object-fit:cover;opacity:.72;position:absolute;inset:0}
.category-card div{position:absolute;inset:auto 0 0;padding:30px 20px 20px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 35%,rgba(0,0,0,.9) 100%);color:#fff}
.category-card h3{margin:0;font:700 25px Georgia,serif;color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.nm-footer{background:#08080a;color:#fff;padding:45px 0 20px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
.nm-footer h3{color:#ff7bae;font-size:14px}
.nm-footer p,.nm-footer a{color:#aaa!important;font-size:13px;line-height:1.8}
.nm-copy{text-align:center;border-top:1px solid #25252a;margin-top:25px;padding-top:16px;color:#666;font-size:12px}
.nm-free-size{color:#777!important}
@media(max-width:900px){
 .nm-actions{display:none}.nm-head{gap:12px}.nm-logo{font-size:23px}
 .nm-products .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}
 .benefit-grid{grid-template-columns:repeat(2,1fr)}
 .nm-categories{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .nm-top{font-size:10px;padding:7px 4px}
 .nm-head{min-height:62px}.nm-logo{font-size:20px}
 .nm-search{display:none}
 .nm-nav .nm-wrap{gap:20px;min-height:44px}
 .nm-nav a{font-size:11px}.nm-nav .offer{padding:7px 13px}
 .nm-hero{min-height:520px;background-position:62% center}
 .hero-copy{padding:55px 0 60px;max-width:330px}
 .nm-hero h1{font-size:44px;line-height:.98}
 .nm-hero p{font-size:13px}
 .points{font-size:11px;gap:10px}
 .nm-cats{grid-template-columns:repeat(9,78px);gap:10px;padding:15px 0}
 .nm-cat{min-width:78px}.nm-cat img{width:62px;height:62px}.nm-cat span{font-size:10px}
 .benefit-grid{grid-template-columns:1fr 1fr;padding:14px 0}.benefit{justify-content:flex-start}.benefit .ico{font-size:20px}.benefit strong{font-size:11px}.benefit small{font-size:9px}
 .nm-section{padding:35px 0}.section-head h2{font-size:25px}
 .nm-products .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:9px!important}
 .nm-products .woocommerce ul.products li.product img{height:210px!important}
 .nm-products .woocommerce-loop-product__title{font-size:12px!important}.nm-products .price{font-size:15px!important}
 .nm-products .button{font-size:11px!important;padding:9px 5px!important}
 .nm-promo{grid-template-columns:1fr;gap:10px}.nm-promo img{height:125px}
 .nm-categories{grid-template-columns:1fr 1fr;gap:10px}.category-card h3{font-size:20px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:15px}.nm-footer{padding:35px 0 15px}
}

.nm-cat{text-decoration:none;color:#16161a}.category-card{text-decoration:none;color:#fff!important;display:block}.category-card small{color:#ffd0e1}

html,body{max-width:100%;overflow-x:hidden}
.category-card{cursor:pointer}
@media(max-width:600px){
 .nm-wrap{width:calc(100% - 28px)}
 .nm-top{font-size:10px;line-height:1.35;padding:7px 8px}
 .nm-head{min-height:64px}
 .nm-logo{font-size:20px}
 .nm-nav .nm-wrap{width:100%;padding:0 14px}
 .nm-hero{min-height:575px;background-position:62% center}
 .hero-copy{padding:58px 0 60px}
 .nm-hero h1{font-size:43px;line-height:.99}
 .nm-hero p{font-size:14px;line-height:1.55}
 .points{gap:8px 13px}
 .nm-cats{grid-template-columns:repeat(9,82px);gap:8px;overflow-x:auto;scrollbar-width:none}
 .nm-cats::-webkit-scrollbar{display:none}
 .nm-cat img{width:66px;height:66px}
 .nm-products .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .nm-products .woocommerce ul.products li.product img{height:220px!important}
 .section-head{gap:10px}
 .section-head h2{font-size:26px;line-height:1.15}
 .view{padding:9px 14px;white-space:nowrap}
 .nm-promo{grid-template-columns:1fr}
 .nm-promo img{height:auto;aspect-ratio:4.2/1;object-fit:cover}
 .nm-categories{grid-template-columns:1fr 1fr;gap:10px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:18px}
}

/* NIGHT MOOD v3.3 - mobile-first polish */
img{max-width:100%;height:auto}
.nm-promo{align-items:stretch}
.nm-promo img{display:block}
.policy-page{max-width:900px;margin:0 auto;padding:55px 0 70px}
.policy-page h1{font:700 38px Georgia,serif;margin:0 0 20px;color:#17171a}
.policy-page h2{font:700 23px Georgia,serif;margin:30px 0 10px}
.policy-page p,.policy-page li{font-size:15px;line-height:1.75;color:#4e4e55}
.policy-page ul{padding-left:22px}
@media(max-width:600px){
  body{font-size:14px}
  .nm-top{white-space:normal;text-align:center}
  .nm-head{justify-content:space-between}
  .nm-actions{display:none}
  .nm-nav .nm-wrap{gap:18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .nm-nav .nm-wrap::-webkit-scrollbar{display:none}
  .nm-hero{min-height:540px;background-position:63% center}
  .hero-copy{padding:48px 0 48px;max-width:340px}
  .nm-hero h1{font-size:40px;line-height:1.0}
  .nm-hero p{font-size:13px}
  .points{font-size:10px}
  .nm-cats{padding:13px 0}
  .nm-products .woocommerce ul.products li.product img{height:200px!important}
  .nm-products .woocommerce-loop-product__title{min-height:30px}
  .nm-promo img{width:100%;aspect-ratio:4/1;object-fit:cover}
  .nm-section{padding:32px 0}
  .section-head h2{font-size:24px}
  .nm-categories{grid-template-columns:1fr 1fr}
  .category-card h3{font-size:18px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .policy-page{padding:35px 0 50px}
  .policy-page h1{font-size:30px}
  .policy-page h2{font-size:20px}
  .policy-page p,.policy-page li{font-size:14px}
}

/* v3.6 clean mobile menu + account */
.nm-menu-toggle,.nm-mobile-menu,.nm-mobile-overlay{display:none}
.nm-mobile-actions{display:none}
.woocommerce-account .woocommerce{max-width:1050px;margin:0 auto;padding:40px 14px}
.woocommerce-account .u-columns{display:grid!important;grid-template-columns:1fr 1fr;gap:30px}
.woocommerce-account .u-column1,.woocommerce-account .u-column2{width:auto!important;float:none!important}
.woocommerce form.login,.woocommerce form.register{border:1px solid #eee;border-radius:12px;padding:24px;background:#fff}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row input[type="tel"],.woocommerce form .form-row input[type="email"],.woocommerce form .form-row input[type="password"]{min-height:46px;border:1px solid #ddd;border-radius:7px;padding:10px 12px}
.woocommerce form .button{background:#ff2d7f!important;color:#fff!important;border-radius:7px!important}
@media(max-width:768px){
  .nm-nav{display:none!important}
  .nm-menu-toggle{display:flex;position:absolute;right:14px;top:18px;z-index:10020;width:48px;height:44px;align-items:center;justify-content:center;background:#ff2d7f;color:#fff;border:0;border-radius:7px;font-size:25px;line-height:1}
  .nm-mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;opacity:0;pointer-events:none;transition:.2s}
  .nm-mobile-overlay.open{opacity:1;pointer-events:auto}
  .nm-mobile-menu{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(84vw,330px);z-index:10010;background:#08080a;transform:translateX(110%);transition:transform .22s ease;flex-direction:column;overflow-y:auto;padding:18px 0;box-shadow:-10px 0 30px rgba(0,0,0,.35)}
  .nm-mobile-menu.open{transform:translateX(0)}
  .nm-mobile-head{display:flex;align-items:center;justify-content:space-between;padding:4px 20px 18px;color:#fff;font-size:20px;border-bottom:1px solid #28282d}
  .nm-mobile-head span{color:#ff2d7f}
  .nm-menu-close{background:none;border:0;color:#fff;font-size:34px;line-height:1;padding:0 5px}
  .nm-mobile-menu a{display:block;color:#fff!important;text-decoration:none;padding:14px 22px;border-bottom:1px solid #222227;font-size:15px}
  body.nm-menu-open{overflow:hidden}
  .nm-head{position:relative;padding-right:70px}
  .nm-mobile-actions{display:flex;gap:8px;margin-left:auto}
  .nm-mobile-actions a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#1c1c20;color:#fff!important;text-decoration:none;font-size:16px;flex-shrink:0}
  .woocommerce-account .woocommerce{padding:25px 12px}
  .woocommerce-account .u-columns{display:flex!important;flex-direction:column;gap:18px}
  .woocommerce form.login,.woocommerce form.register{padding:18px;margin:0}
  .woocommerce-account h2{font-size:26px}
}

/* v3.8: page side-padding for Shop/Category/Product/Cart/Checkout/Account pages
   (fixes text touching/cut at the left edge on phones) */
body.woocommerce-page .nm-page,body.woocommerce .nm-page{max-width:1240px;margin:0 auto;padding:28px 16px 45px;box-sizing:border-box}
body.woocommerce-page .nm-page .woocommerce,body.woocommerce .nm-page .woocommerce{padding-left:0;padding-right:0}
.nm-page img{max-width:100%;height:auto}
@media(max-width:768px){
  body.woocommerce-page .nm-page,body.woocommerce .nm-page{padding:20px 16px 35px}
  .nm-cats{padding-left:4px;padding-right:4px}
}
.nm-cat span{white-space:normal;line-height:1.2}
/* Buy Now */
.nm-buy-now{background:#17171a!important;color:#fff!important;border-radius:7px!important;min-height:46px;padding:0 24px!important;font-weight:700!important;text-align:center;line-height:46px!important;display:inline-block}
.nm-buy-now:hover{background:#ff2d7f!important}
.single-product form.cart:not(.variations_form),.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.single-product .single_add_to_cart_button,.single-product .nm-buy-now{flex:1 1 140px;margin:0!important}
.nm-buy-now-loop{display:block!important;margin:8px 12px 0!important;line-height:40px!important;min-height:40px;padding:0 10px!important;font-size:13px}

/* v3.9: Cart/Checkout blocks were pushed left (WordPress "alignwide/alignfull"
   negative margins). Force them to sit inside the page padding. */
.nm-page .alignwide,.nm-page .alignfull,
.nm-page .wp-block-woocommerce-cart,.nm-page .wp-block-woocommerce-checkout,
.nm-page .wc-block-cart,.nm-page .wc-block-checkout{
  margin-left:0!important;margin-right:0!important;
  width:100%!important;max-width:100%!important;
  left:auto!important;right:auto!important;transform:none!important;box-sizing:border-box}
.nm-page .entry-content,.nm-page .wp-block-post-content{margin-left:0!important;margin-right:0!important;max-width:100%!important}

/* Product cards: whole card is a tap target */
.nm-products li.product,.woocommerce ul.products li.product{cursor:pointer}

/* Quantity stepper on product cards */
.nm-qty{display:flex;align-items:center;justify-content:center;gap:0;margin:10px 12px 0;border:1px solid #ddd;border-radius:7px;overflow:hidden;height:38px}
.nm-qty button{flex:0 0 42px;height:100%;border:0;background:#f5f5f7;color:#17171a;font-size:20px;line-height:1;cursor:pointer;padding:0}
.nm-qty button:active{background:#ff2d7f;color:#fff}
.nm-qty .nm-qty-val{flex:1;text-align:center;font-weight:700;font-size:15px}
