/* No Sugar — stiluri partajate pentru tot site-ul */
*{box-sizing:border-box}
body{margin:0;font-family:"Poppins",sans-serif;color:#1B3A2B;background:#FFFFFF}
a{color:#1F7A44;text-decoration:none}
h1,h2,h3{font-family:"Playfair Display",serif}
img{max-width:100%}
::selection{background:#CDEBD8}
.wrap{width:min(1240px,94%);margin:0 auto}
.script{font-family:'Caveat',cursive}
.sec-eyebrow{margin:0 0 4px;font-family:'Caveat',cursive;font-size:26px;color:#2E9E5B}
.sec-title{margin:0;font-family:'Playfair Display',serif;font-size:clamp(28px,3vw,38px);color:#16311F}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:600;border-radius:999px;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s;border:none;text-align:center}
.btn-primary{background:#2E9E5B;color:#fff;box-shadow:0 14px 30px -12px rgba(46,158,91,.55)}
.btn-primary:hover{background:#1F7A44;color:#fff}
.btn-primary:disabled{background:#C4DCCB;box-shadow:none;cursor:not-allowed;color:#fff}
.btn-ghost{border:1.5px solid #1B3A2B;color:#1B3A2B;background:rgba(255,255,255,.6)}
.btn-ghost:hover{background:#fff;color:#1B3A2B}
.btn-light{background:#fff;color:#16311F}
.btn-light:hover{background:#DFF2E6;color:#16311F}
.btn-outline-dark{border:1.5px solid #3D5B48;color:#DCEBE0;background:transparent}
.btn-outline-dark:hover{border-color:#8FD6AC;color:#fff}

/* header */
.ns-head-wrap{position:sticky;top:0;z-index:60;width:100%}
.ns-topbar{background:#16311F;color:#DDEEE2;font-size:12.5px;padding:7px 0}
.ns-topbar .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.ns-navbar{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #E3EEE6}
.ns-navbar-inner{display:flex;align-items:center;gap:20px;padding:10px 0}
.ns-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ns-logo img{width:64px;height:64px;object-fit:contain;display:block;transition:transform .25s ease}
.ns-logo:hover img{transform:rotate(-6deg) scale(1.07)}
.ns-desktop-nav{display:flex;align-items:center;gap:24px;flex:1;justify-content:center}
.ns-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;margin-left:auto}
.ns-phone{display:flex;align-items:center;gap:8px;color:#1B3A2B;font-size:14px;font-weight:600;white-space:nowrap}
.ns-cta{font-size:14.5px;padding:11px 22px;box-shadow:0 8px 20px -10px rgba(46,158,91,.6);white-space:nowrap}
.ns-cta:hover{transform:translateY(-2px)}
.nav-link{font-size:15px;font-weight:500;color:#1B3A2B;padding:6px 2px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}
.nav-link:hover{color:#1F7A44}
.nav-link.active{color:#1F7A44;border-bottom-color:#2E9E5B}
.icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1.5px solid #DCE9DF;color:#1B3A2B;background:#fff;transition:border-color .15s,color .15s;flex-shrink:0;cursor:pointer}
.icon-btn:hover{border-color:#2E9E5B;color:#1F7A44}
.ns-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1.5px solid #DCE9DF;background:#fff;color:#16311F;cursor:pointer;flex-shrink:0}
.ns-mobile-menu{display:none;overflow:hidden;background:#fff;border-bottom:1px solid #E3EEE6}
.ns-mobile-menu.open{display:block}
.ns-mobile-menu .wrap{display:flex;flex-direction:column;padding:4px 0 16px}
.ns-mobile-menu .nav-link{font-size:16px;padding:13px 4px;border-bottom:1px solid #EFF6F1;border-top:0;white-space:normal}
.ns-mobile-menu .nav-link.active{border-bottom-color:#EFF6F1;color:#1F7A44}
.ns-mobile-menu .mm-cta{margin-top:14px;font-size:15px;padding:13px 22px;justify-content:center}

/* cards & placeholders */
.feature{display:flex;flex-direction:column;gap:8px;background:#F3FAF5;border:1px solid #E1EFE6;border-radius:20px;padding:24px}
.feature .ic{width:44px;height:44px;border-radius:50%;background:#DFF2E6;display:flex;align-items:center;justify-content:center;font-size:20px}
.prod{position:relative;background:#fff;border:1px solid #E3EEE6;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 28px -20px rgba(27,58,43,.25);transition:transform .2s ease}
.prod:hover{transform:translateY(-6px);box-shadow:0 22px 40px -20px rgba(27,58,43,.35)}
.prod .btn-primary:hover{transform:scale(1.05)}
.prod.out{opacity:.62}
.prod-media{position:relative;display:block;overflow:hidden;background:#EFF7F1}
.prod-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prod-media .ph{position:absolute;inset:0}
.prod-badge{position:absolute;top:12px;left:12px;background:#16311F;color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px;z-index:2}
.prod-badge-out{position:absolute;top:12px;right:12px;background:#B23B3B;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;padding:5px 11px;border-radius:999px;z-index:2}
.prod-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.prod-name{margin:0;font-size:18px;color:#16311F}
.prod-name a{color:inherit}
.prod-name a:hover{color:#1F7A44}
.prod-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.prod-desc{margin:0;font-size:13px;line-height:1.6;color:#4A6354;flex:1}
.prod-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.prod-price{margin:0;min-width:0;font-weight:700;font-size:17px;color:#16311F}
.prod-price span{font-weight:400;font-size:12px;color:#7E948A}
.prod-add{font-size:13.5px;padding:10px 18px;flex-shrink:0;white-space:nowrap}
.qty{display:inline-flex;align-items:center;gap:10px;border:1.5px solid #DCE9DF;border-radius:999px;padding:6px 16px}
.qty button{border:none;background:none;cursor:pointer;font-size:19px;color:#1B3A2B;width:20px;line-height:1;font-family:inherit}
.qty span{min-width:22px;text-align:center;font-weight:700;font-size:15px}
.cat-card{background:#fff;border:1px solid #E1EFE6;border-radius:20px;padding:26px 22px;display:flex;flex-direction:column;gap:6px;color:#16311F;transition:transform .2s ease,box-shadow .2s ease}
.cat-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -20px rgba(27,58,43,.3);color:#16311F}
.ph{background:linear-gradient(135deg,#EAF6EE,#DDEFE3);display:flex;align-items:center;justify-content:center;color:#8FB6A0;font-size:34px}
.tag{font-size:11px;font-weight:600;color:#1F7A44;background:#EAF6EE;border:1px solid #D6ECDD;padding:2px 9px;border-radius:999px;white-space:nowrap}
.cat-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.filter-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#1B3A2B;background:#F3FAF5;border:1px solid #E1EFE6;padding:9px 18px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,transform .15s}
.filter-btn:hover{border-color:#2E9E5B;transform:translateY(-1px)}
.filter-btn.active{background:#2E9E5B;color:#fff;border-color:#2E9E5B}
.filter-count{background:rgba(27,58,43,.08);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700}
.filter-btn.active .filter-count{background:rgba(255,255,255,.25);color:#fff}

/* layout helpers */
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding:64px 0 96px}
.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:start}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.events{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);overflow:hidden}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}

/* toast */
#ns-toast{display:none;position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#16311F;color:#fff;font-size:14px;font-weight:500;padding:13px 24px;border-radius:999px;box-shadow:0 16px 40px -12px rgba(0,0,0,.4);z-index:210;align-items:center;gap:10px;max-width:92vw}

/* ---- cart drawer ---- */
.ns-cart-ov{position:fixed;inset:0;background:rgba(20,41,29,.45);opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:200}
.ns-cart-ov.open{opacity:1;visibility:visible}
.ns-cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,94vw);background:#F7FBF8;box-shadow:-24px 0 60px -24px rgba(0,0,0,.4);transform:translateX(100%);transition:transform .3s ease;z-index:201;display:flex;flex-direction:column}
.ns-cart-drawer.open{transform:none}
.ns-cd-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #E3EEE6;background:#fff}
.ns-cd-head strong{font-family:'Playfair Display',serif;font-size:20px;color:#16311F}
.ns-cd-close{width:36px;height:36px;border-radius:50%;border:1.5px solid #DCE9DF;background:#fff;color:#16311F;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ns-cd-close:hover{border-color:#2E9E5B;color:#1F7A44}
.ns-cd-body{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px}
.ns-cd-item{display:flex;gap:12px;background:#fff;border:1px solid #E7F1EA;border-radius:16px;padding:12px}
.ns-cd-thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#EFF7F1;display:flex;align-items:center;justify-content:center;font-size:26px}
.ns-cd-thumb img{width:100%;height:100%;object-fit:cover}
.ns-cd-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ns-cd-name{margin:0;font-size:14px;font-weight:600;color:#16311F;line-height:1.3}
.ns-cd-unit{margin:0;font-size:12px;color:#7E948A}
.ns-cd-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.ns-cd-qty{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #DCE9DF;border-radius:999px;padding:3px 8px}
.ns-cd-qty button{border:none;background:none;cursor:pointer;font-size:15px;color:#1B3A2B;line-height:1;width:18px}
.ns-cd-qty span{min-width:16px;text-align:center;font-weight:600;font-size:13px}
.ns-cd-line{font-size:14px;font-weight:700;color:#16311F;white-space:nowrap}
.ns-cd-rm{border:none;background:none;color:#9AA9A0;font-size:12px;cursor:pointer;padding:0}
.ns-cd-rm:hover{color:#C0463B}
.ns-cd-empty{flex:1;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;color:#4A6354;padding:40px 20px}
.ns-cd-foot{border-top:1px solid #E3EEE6;background:#fff;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.ns-cd-sub{display:flex;align-items:center;justify-content:space-between;font-size:16px;color:#16311F}
.ns-cd-sub strong{font-size:18px}
.ns-cd-note{margin:0;font-size:12px;color:#7E948A;text-align:center}

/* ---- extras: badge pop, freebar, socials, newsletter, wa-float, cookie, sticky, popup ---- */
body.ns-no-scroll{overflow:hidden}
@keyframes ns-pop{0%{transform:scale(1)}45%{transform:scale(1.4)}100%{transform:scale(1)}}
#ns-badge.pop{animation:ns-pop .35s ease}
.ns-socials{display:flex;gap:10px}
.ns-socials a{width:38px;height:38px;border-radius:50%;border:1px solid #2C4736;display:flex;align-items:center;justify-content:center;color:#DCEBE0}
.ns-socials a:hover{border-color:#8FD6AC;color:#fff}
.ns-newsletter{margin-top:8px}
.ns-nl-row{display:flex;gap:8px;margin-top:6px}
.ns-newsletter input{flex:1;min-width:0;border:1px solid #33513E;background:#0F221A;color:#fff;border-radius:999px;padding:9px 14px;font:inherit;font-size:13.5px}
.ns-newsletter input::placeholder{color:#7E9989}
.ns-newsletter input:focus{outline:none;border-color:#2E9E5B}
.ns-fb-msg{margin:0 0 8px;font-size:13px;color:#4A6354}
.ns-fb-track{height:8px;border-radius:999px;background:#E7F1EA;overflow:hidden;margin-bottom:6px}
.ns-fb-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#5BD68C,#2E9E5B);transition:width .5s cubic-bezier(.16,1,.3,1)}
.ns-wa{position:fixed;right:20px;bottom:20px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(37,211,102,.6);transition:transform .25s}
.ns-wa:hover{transform:scale(1.1) rotate(6deg);color:#fff}
.ns-cookie{position:fixed;left:20px;bottom:20px;z-index:95;background:#fff;border:1px solid #E3EEE6;border-radius:18px;padding:16px 18px;max-width:360px;box-shadow:0 20px 50px -16px rgba(20,41,29,.35);font-size:13.5px;color:#1B3A2B;animation:ns-rise .5s cubic-bezier(.16,1,.3,1)}
@keyframes ns-rise{from{transform:translateY(30px);opacity:0}}
.ns-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:96;padding:.65rem 4% calc(.65rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid #E3EEE6}
.ns-popup-ov{position:fixed;inset:0;z-index:150;background:rgba(20,41,29,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .3s}
.ns-popup-ov.show{opacity:1}
.ns-popup{position:relative;background:#fff;border-radius:26px;padding:34px 30px 26px;max-width:420px;width:100%;text-align:center;transform:scale(.94);transition:transform .3s cubic-bezier(.16,1,.3,1);box-shadow:0 30px 70px -20px rgba(20,41,29,.5)}
.ns-popup-ov.show .ns-popup{transform:scale(1)}
.ns-popup-form{display:flex;gap:8px}
.ns-popup-form input{flex:1;min-width:0;border:1px solid #DCE9DF;border-radius:999px;padding:11px 16px;font:inherit;font-size:14px;background:#fff}
.ns-popup-form input:focus{outline:none;border-color:#2E9E5B;box-shadow:0 0 0 3px rgba(46,158,91,.25)}
.ns-popup-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:#EFF7F1;border:none;cursor:pointer;font-size:14px;color:#16311F}
.ns-popup-skip{margin-top:12px;font-size:12.5px;color:#7E948A;text-decoration:underline;background:none;border:none;cursor:pointer}

/* footer */
.ns-footer{background:#14291D;color:#DCEBE0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding:56px 0 0}
.ns-footer a{color:#A9C2B1}
.ns-footer a.btn{color:#fff}
.ns-footer h4{color:#fff;font-family:'Poppins',sans-serif;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px}

@media(max-width:900px){
  .ns-topbar{display:none}
  .hero-grid{grid-template-columns:1fr;gap:24px;padding:36px 0 56px}
  .hero-img-wrap{margin-top:8px}
  .steps{grid-template-columns:1fr;gap:26px}
  .steps .arrow{display:none}
  .split{grid-template-columns:1fr;gap:26px}
  .events{grid-template-columns:1fr}
  .events .ev-media{min-height:220px}
  .visit{grid-template-columns:1fr;gap:22px}
  .ns-desktop-nav{display:none}
  .ns-phone{display:none}
  .ns-cta{display:none}
  .ns-burger{display:flex}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .ns-sticky.show{display:block}
  body.ns-has-sticky{padding-bottom:72px}
  body.ns-has-sticky .ns-wa{bottom:88px}
  body.ns-has-sticky .ns-cookie{bottom:88px}
  body.ns-has-sticky #ns-toast{bottom:98px}
  .ns-cookie{left:12px;right:12px;max-width:none}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  .ns-logo img{width:56px;height:56px}
  .ns-wa{width:52px;height:52px;right:14px;bottom:14px}
  .hero-cta{flex-wrap:nowrap}
  .hero-cta a{font-size:14px!important;padding:12px 16px!important;white-space:nowrap}
}

/* — Produse: 2 pe rând pe telefon, ca la Atelier by Adelina Iancu — */
@media(max-width:640px){
  .catgrid{grid-template-columns:1fr 1fr;gap:10px}
  .prod-body{padding:10px 10px 12px;gap:5px}
  .prod-name{font-size:13.5px;line-height:1.3}
  .prod-tags{display:none}
  .prod-desc{font-size:11.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .prod-badge,.prod-badge-out{top:8px;font-size:9px;padding:4px 8px}
  .prod-foot{flex-direction:column;align-items:stretch;gap:8px;margin-top:6px}
  .prod-price{font-size:13.5px}
  .prod-price span{font-size:10.5px}
  .prod-add{width:100%}

  /* — Categorii: un singur rând, derulabil orizontal până în marginea ecranului — */
  .cat-tabs{
    flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%);
  }
  .cat-tabs::-webkit-scrollbar{display:none}
  .filter-btn{flex:0 0 auto;scroll-snap-align:start}
}
