/* Small additions theme.json cannot express. */
.nb-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.nb-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--wp--preset--color--moonlight) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--wp--preset--color--line)}
.nb-header .wp-block-site-title a{color:var(--wp--preset--color--midnight);text-decoration:none}
.nb-header .wp-block-navigation a{text-decoration:none}

/* Hero: midnight sky with CSS orbit lines and stars (no images). */
.nb-hero{position:relative;overflow:hidden;isolation:isolate}
.nb-hero::before{content:"";position:absolute;z-index:-1;width:min(95vw,900px);aspect-ratio:1;right:-22%;top:50%;translate:0 -50%;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--wp--preset--color--gold) 55%,transparent);
  outline:1px solid color-mix(in srgb,var(--wp--preset--color--lilac) 30%,transparent);outline-offset:-110px}
.nb-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.75;
  background-image:radial-gradient(1.5px 1.5px at 12% 22%,#F5F2EA 50%,transparent 51%),radial-gradient(1px 1px at 28% 70%,#C9A55C 50%,transparent 51%),radial-gradient(1.5px 1.5px at 46% 14%,#D9A6E0 50%,transparent 51%),radial-gradient(1px 1px at 63% 82%,#F5F2EA 50%,transparent 51%),radial-gradient(2px 2px at 78% 30%,#C9A55C 50%,transparent 51%),radial-gradient(1px 1px at 90% 64%,#F5F2EA 50%,transparent 51%),radial-gradient(1px 1px at 8% 88%,#D9A6E0 50%,transparent 51%)}
.nb-hero>*{margin-left:max(0px,calc((100% - 1240px) / 2))!important}
.nb-hero__title{max-width:14ch}
.nb-hero__title em,.wp-block-heading em{font-style:italic;color:var(--wp--preset--color--gold)}
.nb-section .wp-block-heading em{color:var(--wp--preset--color--violet)}
.nb-pemimpi .wp-block-heading em{color:var(--wp--preset--color--gold)}
.nb-hero__lede{max-width:46ch;font-size:1.125rem}
.nb-hero .is-style-outline .wp-block-button__link{border-color:currentColor;background:transparent}
.nb-hero--page .nb-hero__title{max-width:16ch}

.nb-mood>*,.nb-shelf>*,.nb-benefit>*{margin-left:0!important;max-width:none!important}
.nb-section--line{border-top:1px solid var(--wp--preset--color--line)}

/* Mood + shelf cards */
.nb-mood,.nb-shelf,.nb-benefit{padding:1.75rem;border:1px solid var(--wp--preset--color--line);border-radius:18px;background:#fff8;transition:transform .25s ease,border-color .25s ease}
.nb-mood:hover,.nb-shelf:hover{transform:translateY(-4px);border-color:var(--wp--preset--color--violet)}
.nb-mood h3 a,.nb-shelf h3 a{color:inherit;text-decoration:none}
.nb-mood h3 a::after,.nb-shelf h3 a::after{content:"";position:absolute;inset:0}
.nb-mood,.nb-shelf{position:relative}
.nb-mood__num{font-size:.75rem;letter-spacing:.2em;color:var(--wp--preset--color--ink-soft);margin:0}
.nb-mood--violet{border-top:4px solid var(--wp--preset--color--violet)}
.nb-mood--lilac{border-top:4px solid var(--wp--preset--color--lilac)}
.nb-mood--gold{border-top:4px solid var(--wp--preset--color--gold)}
.nb-shelf{min-height:11rem;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,#fff 0%,color-mix(in srgb,var(--wp--preset--color--lilac) 18%,#fff) 100%)}

.nb-spotlight .wc-block-components-product-image img{border-radius:12px;box-shadow:0 30px 60px -30px #3B2F7A88}

.nb-perks{list-style:none;padding:0}
.nb-perks li{padding:.85rem 0 .85rem 2rem;border-bottom:1px solid #F5F2EA33;position:relative}
.nb-perks li::before{content:"✦";position:absolute;left:0;color:var(--wp--preset--color--gold)}
.nb-perks--dark li{border-bottom-color:var(--wp--preset--color--line)}
.nb-publish-email{font-family:var(--wp--preset--font-family--display);font-size:1.75rem;color:var(--wp--preset--color--violet)}

.nb-plain-list{list-style:none;padding:0}
.nb-plain-list li{margin:.35rem 0}
.nb-plain-list a{text-decoration:none;opacity:.85}
.nb-plain-list a:hover{opacity:1;text-decoration:underline}

/* ---- v1.0.3: visual polish ---- */

/* Hero: slow orbit, twinkling stars, floating real covers. */
.nb-hero{min-height:min(88vh,760px);display:flex;flex-direction:column;justify-content:center}
.nb-hero::before{animation:nb-orbit 90s linear infinite}
@keyframes nb-orbit{to{rotate:360deg}}
.nb-stars{position:absolute;inset:0;z-index:-1;pointer-events:none;margin:0!important}
.nb-stars span{position:absolute;inset:0;background-repeat:repeat;animation:nb-twinkle 6s ease-in-out infinite}
.nb-stars span:nth-child(1){background-image:radial-gradient(1px 1px at 20px 30px,#F5F2EA 50%,transparent 51%),radial-gradient(1px 1px at 140px 90px,#F5F2EA 50%,transparent 51%);background-size:220px 160px}
.nb-stars span:nth-child(2){background-image:radial-gradient(1.5px 1.5px at 60px 120px,#C9A55C 50%,transparent 51%);background-size:310px 230px;animation-delay:-2s;animation-duration:8s}
.nb-stars span:nth-child(3){background-image:radial-gradient(1.5px 1.5px at 90px 40px,#D9A6E0 50%,transparent 51%);background-size:420px 300px;animation-delay:-4s;animation-duration:10s}
@keyframes nb-twinkle{0%,100%{opacity:.25}50%{opacity:.9}}

.nb-hero__covers{position:absolute;right:max(2rem,calc((100% - 1240px) / 2));top:50%;translate:0 -50%;width:min(42vw,520px);aspect-ratio:1/1;margin:0!important}
.nb-hero__cover{position:absolute;width:52%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;
  box-shadow:0 40px 80px -30px #000,0 0 0 1px #F5F2EA22;transition:transform .5s cubic-bezier(.2,.8,.2,1);animation:nb-float 7s ease-in-out infinite}
.nb-hero__cover img{width:100%;height:100%;object-fit:cover;display:block}
.nb-hero__cover--1{left:24%;top:4%;z-index:3;rotate:-2deg}
.nb-hero__cover--2{left:0;top:30%;z-index:2;rotate:-12deg;animation-delay:-2.3s;filter:brightness(.85)}
.nb-hero__cover--3{right:0;top:36%;z-index:1;rotate:10deg;animation-delay:-4.6s;filter:brightness(.85)}
.nb-hero__cover:hover{transform:translateY(-12px) scale(1.04);filter:none;z-index:4}
@keyframes nb-float{0%,100%{translate:0 0}50%{translate:0 -14px}}
.nb-hero__glow{position:absolute;inset:15% 10%;z-index:0;border-radius:50%;filter:blur(60px);
  background:radial-gradient(circle,color-mix(in srgb,var(--wp--preset--color--violet) 70%,transparent),transparent 70%)}
.nb-hero .wp-block-button__link{transition:transform .2s ease,box-shadow .2s ease}
.nb-hero .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px var(--wp--preset--color--gold)}

/* Mood cards: real covers + count. */
.nb-mood{overflow:hidden}
.nb-mood__covers{display:flex;margin-top:1.25rem;height:92px}
.nb-mood__covers img{width:92px;height:92px;object-fit:cover;border-radius:6px;box-shadow:0 10px 20px -10px #0008;border:2px solid #fff;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nb-mood__covers img+img{margin-left:-30px}
.nb-mood:hover .nb-mood__covers img:nth-child(1){transform:rotate(-8deg) translateY(-4px)}
.nb-mood:hover .nb-mood__covers img:nth-child(2){transform:translate(8px,-8px)}
.nb-mood:hover .nb-mood__covers img:nth-child(3){transform:rotate(8deg) translate(16px,-4px)}
.nb-mood__count{margin:.9rem 0 0;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--violet)}
.nb-mood:hover{box-shadow:0 24px 50px -30px #3B2F7A99}

/* Shelf tiles: fanned covers. */
.nb-shelf{min-height:15rem;justify-content:flex-start}
.nb-shelf__fan{position:relative;height:120px;margin:0 0 1rem!important}
.nb-shelf__fan img{position:absolute;bottom:0;width:100px;height:100px;object-fit:cover;border-radius:6px;box-shadow:0 12px 24px -12px #0009;border:2px solid #fff;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nb-shelf__fan img:nth-child(1){left:0;rotate:-8deg;z-index:1}
.nb-shelf__fan img:nth-child(2){left:38px;z-index:3}
.nb-shelf__fan img:nth-child(3){left:76px;rotate:8deg;z-index:2}
.nb-shelf:hover .nb-shelf__fan img:nth-child(1){transform:translateX(-6px) rotate(-4deg)}
.nb-shelf:hover .nb-shelf__fan img:nth-child(2){transform:translateY(-10px)}
.nb-shelf:hover .nb-shelf__fan img:nth-child(3){transform:translateX(6px) rotate(4deg)}
.nb-shelf h3{margin-top:auto}

/* Product cards everywhere: tidy long marketplace titles, lift on hover. */
.wc-block-product .wp-block-post-title,.wc-block-grid__product-title,.woocommerce-loop-product__title{
  font-size:1.15rem!important;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wc-block-product .wp-block-post-title a{text-decoration:none}
.wc-block-product .wc-block-components-product-image{overflow:hidden;border-radius:12px}
.wc-block-product .wc-block-components-product-image img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.wc-block-product:hover .wc-block-components-product-image img{transform:scale(1.05)}
.wc-block-product{transition:transform .3s ease}
.wc-block-product:hover{transform:translateY(-4px)}

/* Spotlight: keep the long title and excerpt in proportion. */
.nb-spotlight .wc-block-product:hover{transform:none}
.nb-spotlight .wp-block-post-title{font-size:clamp(1.8rem,3.2vw,2.6rem)!important;line-height:1.15;-webkit-line-clamp:3!important}
.nb-spotlight .wp-block-post-excerpt{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;color:var(--wp--preset--color--ink-soft)}
.nb-spotlight .wc-block-components-product-button{align-items:flex-start!important;justify-content:flex-start!important}
.nb-spotlight .wc-block-components-product-button__button{margin-left:0!important;margin-right:auto!important;padding:1rem 2.25rem;
  background:var(--wp--preset--color--gold)!important;color:var(--wp--preset--color--midnight)!important;transition:transform .2s ease,box-shadow .2s ease}
.nb-spotlight .wc-block-components-product-button__button:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px var(--wp--preset--color--gold)}
.nb-spotlight .wc-block-components-product-image img{transition:transform .6s ease}
.nb-spotlight .wc-block-components-product-image:hover img{transform:scale(1.03) rotate(-.5deg)}

/* Our Pride: dark band with numbered bestsellers. */
.nb-pride .wp-block-heading em{color:var(--wp--preset--color--gold)}
.nb-pride__grid .wc-block-product-template{counter-reset:nb-rank}
.nb-pride__grid .wc-block-product{position:relative;counter-increment:nb-rank}
.nb-pride__grid .wc-block-product::before{content:counter(nb-rank,decimal-leading-zero);position:absolute;z-index:2;top:.6rem;left:.6rem;
  font-family:var(--wp--preset--font-family--display);font-size:1.6rem;line-height:1;padding:.35rem .6rem;border-radius:999px;
  background:var(--wp--preset--color--midnight);color:var(--wp--preset--color--gold);border:1px solid color-mix(in srgb,var(--wp--preset--color--gold) 60%,transparent)}
.nb-pride a{color:var(--wp--preset--color--moonlight)}
.nb-pride .wc-block-components-product-price{color:color-mix(in srgb,var(--wp--preset--color--moonlight) 80%,transparent)}
.nb-pride .wc-block-components-product-image{box-shadow:0 30px 60px -35px #000}

/* Single product page. */
.nb-product__title{font-size:clamp(2rem,3.6vw,3rem)!important;line-height:1.1;margin-top:.4rem!important}
.nb-product__cat a{text-decoration:none;color:var(--wp--preset--color--violet)}
.nb-product__price{font-size:1.6rem!important;margin:1rem 0!important}
.nb-product__media .woocommerce-product-gallery__image img,.nb-product__media img{border-radius:14px}
.nb-product__media .woocommerce-product-gallery{box-shadow:0 40px 80px -50px #3B2F7A99;border-radius:14px}
.nb-product .single_add_to_cart_button{background:var(--wp--preset--color--gold)!important;color:var(--wp--preset--color--midnight)!important;border-radius:999px!important;padding:1rem 2.25rem!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease}
.nb-product .single_add_to_cart_button:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px var(--wp--preset--color--gold)}
.nb-product .variations select{border-radius:10px;padding:.6rem .8rem;border:1px solid var(--wp--preset--color--line);background:#fff;min-width:14rem}
.nb-product .quantity input{border-radius:10px;padding:.6rem;border:1px solid var(--wp--preset--color--line)}
.nb-product__moods{margin-top:1.25rem!important;font-size:.9rem}
.nb-product__moods a{display:inline-block;margin:.2rem .15rem;padding:.25rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--wp--preset--color--lilac) 30%,#fff);color:var(--wp--preset--color--violet);text-decoration:none;text-transform:capitalize}
.nb-product__trust{list-style:none;padding:1rem 0 0;margin:1.25rem 0 0;border-top:1px solid var(--wp--preset--color--line);font-size:.9rem;color:var(--wp--preset--color--ink-soft)}
.nb-product__trust li{margin:.35rem 0}
.nb-product__story{margin-top:var(--wp--preset--spacing--60)!important;padding-top:var(--wp--preset--spacing--50);border-top:1px solid var(--wp--preset--color--line)}
.nb-product__story .woocommerce-Tabs-panel{white-space:normal;line-height:1.75;font-size:1.05rem}
.nb-product__related{margin-top:var(--wp--preset--spacing--60)!important}

/* Marketplace images carry promo banners along the top ("NEW SEASON", "OFFICIAL STORE"…).
   In cards and decorative stacks, zoom from the bottom so the banner falls outside the frame.
   The product page gallery is left untouched so buyers can still see the full image. */
.nb-hero__cover img,.nb-mood__covers img,.nb-shelf__fan img{object-fit:cover;object-position:50% 100%}
.nb-hero__cover,.nb-mood__covers img,.nb-shelf__fan img{overflow:hidden}
.nb-hero__cover img{transform:scale(1.3);transform-origin:50% 100%}
.nb-mood__covers img,.nb-shelf__fan img{object-view-box:inset(25% 12% 0 12%)}
.wc-block-product .wc-block-components-product-image a,.wc-block-product .wc-block-components-product-image{overflow:hidden;display:block}
.wc-block-product .wc-block-components-product-image img{transform:scale(1.32);transform-origin:50% 100%}
.wc-block-product:hover .wc-block-components-product-image img{transform:scale(1.38)}

/* Scroll reveal (only when JS is on). */
.nb-js .nb-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.nb-js .nb-reveal.is-visible{opacity:1;transform:none}

@media (max-width:900px){
  .nb-hero{min-height:auto}
  .nb-hero__covers{position:relative;right:auto;top:auto;translate:none;width:min(88vw,380px);margin:2.5rem auto 0!important}
}
@media (prefers-reduced-motion:reduce){
  .nb-hero::before,.nb-stars span,.nb-hero__cover{animation:none}
  .nb-mood__covers img,.nb-shelf__fan img,.wc-block-product,.wc-block-product img{transition:none}
}

@media (prefers-reduced-motion:reduce){.nb-mood,.nb-shelf{transition:none}}

@media (max-width:900px){.nb-mood-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){
  .nb-mood-grid{grid-template-columns:1fr!important}
  .nb-hero::before{width:520px;right:-300px;opacity:.6}
}
