:root{
  --qp-green:#0f7d2c;
  --qp-green-dark:#0a5e21;
  --qp-green-deep:#06441a;
  --qp-green-light:#94c93d;
  --qp-green-lime:#a4d65e;
  --qp-green-bg:#e9f5d8;
  --qp-yellow:#f4c41e;
  --qp-text:#1f2a24;
  --qp-muted:#6c7770;
  --qp-border:#e6ece8;
}

.container-fluid{max-width:none;padding-left:50px;padding-right:50px}
@media (max-width: 991px){.container-fluid{padding-left:24px;padding-right:24px}}

@media (min-width: 1400px){
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{
    max-width:1500px;
  }
}

*{box-sizing:border-box}
html,body{
  font-family:'Poppins', system-ui, sans-serif;
  color:var(--qp-text);background:#fff;
  -webkit-font-smoothing:antialiased;
  font-size:16px;line-height:1.6;
  letter-spacing:0.8px;
}
/* Stop horizontal scroll from decorative bleed (e.g. .about-logo, .planet-card).
   overflow-x:clip clips the overflow WITHOUT creating a scroll container, so
   position:sticky (e.g. .cat-sidebar) keeps working — unlike overflow:hidden. */
body{ overflow-x:clip; }
h1,h2,h3,h4,h5,h6,.btn{
  font-family:'Poppins',system-ui,sans-serif;
}
img{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}

.text-success{color:var(--qp-green) !important}

.site-header-wrap{position:relative;z-index:1050;width:100%}
/* Mobile menu must sit ABOVE the fixed header (z-index 1050), otherwise the
   offcanvas (Bootstrap default 1045) slides in behind the header. */
.offcanvas{z-index:1100}
.offcanvas-backdrop{z-index:1090}
.site-header-wrap.is-fixed{
  position:fixed;top:0;left:0;right:0;
  box-shadow:0 14px 34px -16px rgba(2,80,30,.35), 0 4px 10px -4px rgba(0,0,0,.08);
  animation:slideDown .45s cubic-bezier(.2,.7,.2,1) both;
}
.site-header-wrap.is-fixed .header-divider{display:none}
.site-header-spacer{display:none}
.site-header-wrap.is-fixed ~ .site-header-spacer{display:block}
@keyframes slideDown{
  from{transform:translateY(-100%)}
  to{transform:translateY(0)}
}

.topbar{
  background:#03682b;
  color:#fff;
  font-size:13px;
  font-weight:500;
  padding:12px 0;
}
.topbar .small{font-size:13px;font-weight:500}
.topbar i{color:#fff;margin-right:7px;font-size:13px;transition:color .5s ease}
.topbar-link{
  color:#fff;text-decoration:none;
  transition:color .5s ease;
}
.topbar-link:hover, .topbar-link:hover i{color:#a1d154}
.topbar-sep{
  display:inline-block;color:rgba(255,255,255,.45);
  margin:0 12px;font-weight:300;
}
.topbar-social{
  color:#fff;width:26px;height:26px;
  display:inline-grid;place-items:center;
  font-size:13px;transition:color .5s ease;
}
.topbar-social:hover{color:#a1d154}

.main-header{background:#fff;padding:2px 0}
.header-logo{display:inline-block}
.header-logo img{max-height:76px;width:auto;display:block}

.main-nav{
  display:flex;align-items:center;gap:30px;
  font-size:13px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;
}
.main-nav > a, .main-nav .dropdown-toggle{
  color:#3f4a44;padding:14px 0;
  position:relative;transition:color .35s ease;
  cursor:pointer;
  display:inline-block;
}
.main-nav > a::before, .main-nav .dropdown-toggle::before{
  content:"";
  position:absolute;
  left:50%;right:50%;bottom:6px;
  height:2px;
  background:var(--qp-green);
  transition:left .4s cubic-bezier(.2,.7,.2,1), right .4s cubic-bezier(.2,.7,.2,1), background .35s ease;
  border-radius:2px;
}
.main-nav > a:hover, .main-nav .dropdown-toggle:hover{color:var(--qp-green)}
.main-nav > a:hover::before, .main-nav .dropdown-toggle:hover::before{
  left:0;right:0;
  background:var(--qp-green);
}
.main-nav .dropdown-toggle::after{
  border:0;width:8px;height:8px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);vertical-align:1px;margin-left:6px;
}
.main-nav .dropdown-menu{
  border:0;border-radius:6px;padding:8px;margin-top:8px;
  box-shadow:0 12px 28px -10px rgba(0,0,0,.14);
}
.main-nav .dropdown-item{
  font-size:13px;padding:8px 14px;border-radius:4px;text-transform:none;
}
.main-nav .dropdown-item:hover{background:var(--qp-green-bg);color:var(--qp-green-dark)}

.header-icons{font-size:18px}
.header-icon{
  width:42px;height:42px;border-radius:50%;
  color:#3f4a44;display:inline-grid;place-items:center;
  position:relative;transition:all .2s;background:transparent;border:0;
  font-size:18px;
}
.header-icon:hover{color:var(--qp-green)}
.hi-badge{
  position:absolute;top:-2px;right:-4px;
  background:var(--qp-green);color:#fff;font-size:10px;font-weight:700;
  width:16px;height:16px;border-radius:50%;
  display:grid;place-items:center;line-height:1;
}

.header-divider{
  height:28px;background:var(--qp-green-lime);
  border-top:1px solid rgba(0,0,0,.04);
}
.header-divider.with-title{
  height:auto;
  padding:14px 16px;
  display:flex;align-items:center;justify-content:center;
}
.header-divider.with-title .hd-title{
  color:#fff;
  text-align:center;
  font-size:20px;
  font-weight:500;
  text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.12);
}

.page-subtitle{
  text-align:center;
  font-size:30px;
  font-weight:600;
  color:#191919;
  margin-bottom:50px;
  margin-top:50px !important;
}
.article-text-bold{
  font-size:14px;
  line-height:28px;
  color:#222;
  letter-spacing:0.6px;
}

.mobile-nav a{
  display:block;padding:14px 0;
  border-bottom:1px solid var(--qp-border);
  font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:.04em;
}

/* ── Mobile menu: smoother slide + "Categorii produse" caret ── */
.offcanvas{ transition: transform .42s cubic-bezier(.16,.84,.44,1); }
.offcanvas-backdrop.fade{ transition: opacity .42s ease; }
.mobile-nav a{ transition: color .2s ease, padding-left .2s ease; }
.mobile-nav a:hover, .mobile-nav a:focus{ color: var(--qp-green); padding-left: 4px; }
.mobile-nav a.mob-cats-toggle{ display:flex; align-items:center; justify-content:space-between; }
.mob-cats-caret{ transition: transform .35s cubic-bezier(.16,.84,.44,1); font-size:12px; color:#9aa6a0; }
.mobile-nav a.mob-cats-toggle[aria-expanded="true"] .mob-cats-caret{ transform: rotate(180deg); color: var(--qp-green); }
.mobile-nav #mobileCats a{ font-size:13px; text-transform:none; letter-spacing:.02em; color:#5a655f; border-bottom-style:dashed; }

.hero-flow{
  position:relative;
  background:
    linear-gradient(180deg,
      #ffffff 0%,
      #ffffff 30%,
      rgba(30,120,50,.55) 44%,
      rgba(30,120,50,.72) 55%,
      rgba(30,120,50,.42) 68%,
      #ffffff 84%);
}
.hero{
  background-color:transparent;
  background-image:url('../img/slide_quality11_1.png');
  background-repeat:no-repeat;
  background-position:left center;
  background-size:calc(100% - 50px) auto;
  padding:70px 0 90px;
  position:relative;
  min-height:480px;
}
.hero-title{
  font-family:'Open Sans', system-ui, sans-serif;
  font-size:50px;
  line-height:60px;
  font-weight:600;
  color:rgb(2,105,43);
  text-align:left;
  letter-spacing:0;
  margin-top:80px;
  margin-bottom:50px;
}
.hero-text{
  font-family:'Open Sans', system-ui, sans-serif;
  min-width:700px;
  max-width:700px;
  white-space:normal;
  font-size:23px;
  line-height:32px;
  font-weight:400;
  color:rgb(0,0,0);
  text-align:inherit;
  margin:0 0 32px 0;
  letter-spacing:0;
}
.btn-qp{
  background:rgb(161,210,83);color:#fff;font-weight:600;
  padding:10px 24px;border-radius:0;border:0;font-size:17px;
  letter-spacing:.04em;text-transform:uppercase;
  margin-top:30px;
  transition:background .4s ease, transform .25s;
}
.btn-qp:hover{background:rgb(200,206,47);color:#fff;transform:translateY(-2px)}

.hero-copy{padding-left:0}

.hero-strip{
  height:40px;background:var(--qp-green-lime);
  margin-top:50px;
}

.section-h2{
  font-size:clamp(32px, 3.6vw, 44px);
  font-weight:700;color:var(--qp-text);
  margin-bottom:56px;letter-spacing:-.01em;
}

.planet-section{
  background:transparent;padding:90px 0;
  position:relative;z-index:2;
  overflow-x:clip;
}
.planet-card{
  background:#fff;
  border-radius:0;
  padding:70px 80px;
  margin:0 -36px;
  box-shadow:0 30px 60px -25px rgba(2,80,30,.25), 0 10px 25px -10px rgba(2,80,30,.15);
}
@media (max-width: 767px){
  .planet-card{padding:40px 22px;margin:0}
}
.eco-img{max-width:460px;width:100%}
.planet-section .col-sm-6{cursor:pointer}
.planet-icon{
  font-size:54px;color:var(--qp-green-light);
  margin-bottom:18px;
  display:inline-grid;place-items:center;
  width:110px;height:110px;border-radius:50%;
  position:relative;
  transition:color .5s ease, transform .6s cubic-bezier(.34,1.56,.64,1);
}
.planet-icon::before,
.planet-icon::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid var(--qp-green-light);
  opacity:0;transform:scale(.6);
  transition:opacity .6s ease, transform .9s cubic-bezier(.2,.7,.2,1);
}
.planet-icon::after{border-color:rgba(10,94,33,.35)}
.planet-icon i{
  position:relative;z-index:1;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.planet-section .col-sm-6:hover .planet-icon{
  color:rgb(10,94,33);
  transform:translateY(-4px);
}
.planet-section .col-sm-6:hover .planet-icon i{
  transform:rotate(360deg) scale(1.12);
}
.planet-section .col-sm-6:hover .planet-icon::before{
  opacity:.9;transform:scale(1);
}
.planet-section .col-sm-6:hover .planet-icon::after{
  opacity:.5;transform:scale(1.25);
}
.planet-section .col-sm-6:hover .planet-title{color:rgb(10,94,33)}
.planet-section .col-sm-6:hover .planet-title::after{
  width:80px;background:rgb(10,94,33);
}
.planet-title, .planet-title::after{
  transition:color .5s ease, width .5s ease, background .5s ease;
}
.planet-title{
  font-size:15px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--qp-text);
  margin-bottom:14px;
  position:relative;padding-bottom:16px;
}
.planet-title::after{
  content:"";position:absolute;left:50%;bottom:0;
  width:42px;height:2px;background:var(--qp-green-light);
  transform:translateX(-50%);
}
.planet-text{
  font-size:14px;color:var(--qp-muted);line-height:1.7;
  max-width:320px;margin:0 auto;
}

.about-section{
  background:transparent;padding:20px 0 80px;
  overflow-x:clip;
}

body.layout-a{background:#f3f8ec}
body.layout-a .hero{background-color:#fff}
body.layout-a .planet-section{background:transparent}
body.layout-a .about-section{background:#fff}
.about-h3{
  font-size:34px;font-weight:300;color:var(--qp-text);
  margin-bottom:24px;letter-spacing:-.005em;
}
.about-h3 .dp{color:#000;font-weight:700}
.about-h3 .qp-q{color:#a1d253;font-weight:700}
.about-h3 .qp-p{color:#03672a;font-weight:700}
.about-text{
  font-size:12px;
  font-weight:400;
  line-height:30px;
  letter-spacing:0.6px;
  color:#6e6e6e;
  margin-bottom:24px;
}
.about-logo{
  width:125%;max-width:none;height:auto;
  margin-left:-25%;margin-right:0;
}
.btn-outline-qp{
  background:transparent;color:#3f4a44;border:1.5px solid #cfd6d0;
  padding:13px 30px;border-radius:0;font-weight:600;font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;
  transition:all .25s;
}
.btn-outline-qp:hover{
  background:var(--qp-green);color:#fff;border-color:var(--qp-green);
}

.tech-section{
  background:var(--qp-green-light);
  padding:80px 0;
}
.tech-title{
  font-size:46px;
  font-weight:600;color:#fff;line-height:1.1;
  margin-bottom:32px;letter-spacing:0.8px;
}
.tech-btn{
  background:#fff;color:var(--qp-text);
  border:0;padding:16px 36px;border-radius:0;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  transition:all .25s;
}
.tech-btn:hover{background:var(--qp-text);color:#fff}

.tech-video{
  background:#000;border-radius:0;
  position:relative;
  overflow:hidden;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.4);
  border:4px solid #fff;
  max-width:640px;
  margin:0 auto;
  line-height:0;
}
.tech-video > video{
  width:100%;height:auto;
  display:block;
  background:#000;
}
.play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.95);color:var(--qp-text);
  border:0;display:grid;place-items:center;font-size:20px;
  cursor:pointer;transition:transform .25s, background .25s;
}
.play-btn:hover{background:#fff;transform:translate(-50%,-50%) scale(1.1)}
.video-controls{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.65));
  padding:12px 14px;display:flex;align-items:center;gap:12px;
  color:#fff;font-size:12px;
}
.video-progress{
  flex:1;height:4px;background:rgba(255,255,255,.3);border-radius:4px;overflow:hidden;
}
.video-progress span{display:block;width:35%;height:100%;background:#fff}
.video-time{font-family:monospace;font-size:11px;letter-spacing:.05em}

.cats-section{
  padding:100px 0;background:#fff;
}
.cat-tile{
  display:block;padding:30px 16px 34px;text-align:center;
  color:var(--qp-text);transition:all .3s;
  position:relative;border-radius:4px;
  border:1px solid transparent;
  box-shadow:none;
}
.cat-tile:hover{
  border-color:var(--qp-border);
  box-shadow:0 6px 18px -10px rgba(0,0,0,.12);
}
.cat-tile-icon{
  display:inline-flex;align-items:center;justify-content:center;
  height:120px;line-height:1;margin-bottom:22px;
  transition:transform .5s ease;
}
.cat-tile-icon img{
  max-height:110px;width:auto;
  opacity:.55;
  transition:opacity .5s ease, transform .5s ease;
}
.cat-tile:hover .cat-tile-icon{transform:translateY(-6px)}
.cat-tile:hover .cat-tile-icon img{opacity:1;transform:scale(1.05)}
.cat-tile-bar{
  width:2px;height:32px;background:var(--qp-green-light);
  margin:0 auto 16px;
}
.cat-tile h5{
  font-size:15px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:12px;
}
.cat-tile p{
  font-size:13.5px;color:var(--qp-muted);line-height:1.6;
  max-width:220px;margin:0 auto;
}
.cat-tile.featured{}
.cat-cta{
  display:inline-block;margin-top:14px;
  font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--qp-green);font-weight:600;
  border:1px solid var(--qp-green);padding:6px 14px;border-radius:0;
  opacity:0;transform:translateY(6px);
  transition:opacity .35s ease, transform .35s ease, background .25s, color .25s;
  pointer-events:none;
}
.cat-tile:hover .cat-cta{
  opacity:1;transform:translateY(0);pointer-events:auto;
  background:var(--qp-green);color:#fff;
}

.articles-section{
  padding:100px 0 120px;background:#fff;
}
.article-title{
  font-size:28px;font-weight:600;color:var(--qp-text);
  margin-bottom:22px;letter-spacing:0;
}
.article-text{
  font-size:12px;
  font-weight:400;
  line-height:26px;
  letter-spacing:0.8px;
  color:var(--qp-muted);
  margin-bottom:26px;
}
.article-img{
  max-width:80%;width:100%;height:auto;
  border-radius:0;
  box-shadow:none;
}

.site-footer{
  background:#03421c;
  color:#fff;padding:40px 0 24px;
}
.footer-row{
  font-size:14.5px;color:rgba(255,255,255,.95);
}
.footer-link{
  color:rgba(255,255,255,.95);
  margin:0 8px;transition:color .2s;
  display:inline-block;padding:3px 0;
}
.footer-link:hover{color:var(--qp-yellow);text-decoration:underline}
.sep{color:rgba(255,255,255,.5);margin:0 4px}
.footer-quote{
  font-style:italic;color:rgba(255,255,255,.9);
  font-size:14.5px;margin:24px auto 18px;max-width:820px;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:18px;color:rgba(255,255,255,.85);font-size:13.5px;
}

.back-to-top{
  position:fixed;bottom:24px;right:24px;
  width:42px;height:42px;border-radius:50%;
  background:var(--qp-green);color:#fff;
  display:grid;place-items:center;
  box-shadow:0 8px 20px -6px rgba(61,165,66,.6);
  z-index:1030;opacity:0;transform:translateY(20px);pointer-events:none;
  transition:all .3s;font-size:14px;
}
.back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.back-to-top:hover{background:var(--qp-green-dark);color:#fff;transform:translateY(-3px)}

@media (max-width: 991px){
  .hero{padding:40px 0 20px;text-align:center}
  .hero-text{margin-left:auto;margin-right:auto}
  .hero-img{max-height:280px;margin-top:20px}
  .planet-section{padding:50px 0}
  .eco-img{max-width:260px}
  /* col stacks full-width: drop the desktop bleed so the logo centers */
  .about-logo{width:auto;max-width:100%;margin-left:auto;margin-right:auto;display:block}
  /* kill the g-5 vertical-gutter gap above the stacked logo column */
  .about-section .col-lg-4.text-center{padding-top:0}
  /* article images go full-width when the column stacks */
  .article-img{max-width:100%}
  .cats-section{padding-bottom:30px}
}
@media (max-width: 575px){
  .footer-link{display:inline-block;margin:3px 4px}
  .sep{display:none}
}

.dn-logo{
  max-width:100%;
  width:100%;
  height:auto;
}
.benefits-row{margin-top:60px !important}
.benefit-card{
  padding:30px 22px;
  border-radius:6px;
  background:#fff;
  border:1px solid #eee;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  height:100%;
}
.benefit-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 36px -16px rgba(2,80,30,.25);
  border-color:var(--qp-green-light);
}
.benefit-icon{
  font-size:46px;
  color:var(--qp-green);
  margin-bottom:14px;
  transition:color .35s ease, transform .5s ease;
}
.benefit-card:hover .benefit-icon{
  color:var(--qp-green-dark);
  transform:scale(1.1);
}
.benefit-title{
  font-size:15px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--qp-text);
  margin-bottom:8px;
}
.benefit-text{
  font-size:13px;
  color:var(--qp-muted);
  margin:0;
  letter-spacing:0.6px;
}
.dn-banner{
  text-align:center;
}
.dn-banner img{
  max-width:100%;
  width:100%;
  height:auto;
  display:block;
  margin:0 auto;
}

.timeline-section{
  position:relative;
  padding:40px 0 60px;
  max-width:1100px;
  margin:0 auto;
}
.timeline-line{
  position:absolute;
  left:50%;
  top:0;bottom:0;
  width:3px;
  background:var(--qp-green-light);
  transform:translateX(-50%);
  z-index:1;
}
.timeline-item{
  position:relative;
  width:50%;
  padding:30px 60px;
  z-index:2;
  box-sizing:border-box;
}
.timeline-item.right{
  margin-left:50%;
}
.timeline-item.left{
  margin-right:50%;
  text-align:right;
}
.timeline-marker{
  position:absolute;
  top:50%;
  width:18px;height:18px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--qp-green-light);
  transform:translateY(-50%);
  z-index:3;
}
.timeline-item.right .timeline-marker{left:-9px}
.timeline-item.left .timeline-marker{right:-9px}

.timeline-card{
  background:var(--qp-green-light);
  color:#fff;
  padding:26px 30px;
  border-radius:6px;
  font-family:'Poppins', sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:26px;
  letter-spacing:0.8px;
  position:relative;
  box-shadow:0 8px 22px -12px rgba(2,80,30,.25);
}
.timeline-item.right .timeline-card::before{
  content:"";
  position:absolute;
  top:50%;
  left:-12px;
  width:0;height:0;
  border:12px solid transparent;
  border-right-color:var(--qp-green-light);
  border-left:0;
  transform:translateY(-50%);
}
.timeline-item.left .timeline-card::before{
  content:"";
  position:absolute;
  top:50%;
  right:-12px;
  width:0;height:0;
  border:12px solid transparent;
  border-left-color:var(--qp-green-light);
  border-right:0;
  transform:translateY(-50%);
}

.timeline-item{
  opacity:0;
  transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}
.timeline-item.right{transform:translateX(60px)}
.timeline-item.left{transform:translateX(-60px)}
.timeline-item.is-visible{
  opacity:1;
  transform:translateX(0);
}
.timeline-marker{
  transform:translateY(-50%) scale(0);
  transition:transform .6s cubic-bezier(.34,1.56,.64,1) .25s;
}
.timeline-item.is-visible .timeline-marker{
  transform:translateY(-50%) scale(1);
}

.tech-video-center{
  margin:0 auto;
  max-width:760px;
}

.articles-section.pt-half{padding-top:50px}

.contact-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:6px;
  padding:36px 32px;
  height:100%;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.contact-card:hover{
  transform:translateY(-4px);
  border-color:var(--qp-green-light);
  box-shadow:0 18px 36px -16px rgba(2,80,30,.22);
}
.contact-card-title{
  font-size:22px;
  font-weight:700;
  color:var(--qp-green-dark);
  letter-spacing:0.4px;
  margin-bottom:24px;
  padding-bottom:14px;
  border-bottom:2px solid var(--qp-green-light);
  display:flex;align-items:center;
}
.contact-card-title i{color:var(--qp-green-light)}
.contact-list{
  list-style:none;
  padding:0;margin:0;
}
.contact-list li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:10px 0;
  border-bottom:1px dashed #eee;
  font-size:13px;
  line-height:24px;
  letter-spacing:0.4px;
}
.contact-list li:last-child{border-bottom:0}
.contact-label{
  flex-shrink:0;
  min-width:110px;
  color:var(--qp-text);
  font-weight:600;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:0.1em;
}
.contact-label i{color:var(--qp-green);margin-right:6px;width:14px}
.contact-value{
  color:var(--qp-muted);
  font-size:13px;
}
.contact-value a{
  color:var(--qp-green-dark);
  transition:color .25s ease;
}
.contact-value a:hover{color:var(--qp-green)}

.map-link{
  display:inline-block;
  margin-top:18px;
  color:var(--qp-green-dark);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.4px;
  text-transform:uppercase;
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, color .25s ease;
}
.map-link:hover{border-color:var(--qp-green);color:var(--qp-green)}

.social-row{display:flex;gap:10px}
.social-row .social-icon{
  width:38px;height:38px;border-radius:50%;
  background:#f3f8ec;color:var(--qp-green-dark);
  display:grid;place-items:center;font-size:14px;
  transition:background .35s ease, color .35s ease, transform .35s ease;
}
.social-row .social-icon:hover{
  background:var(--qp-green-light);color:#fff;
  transform:translateY(-3px);
}

.contact-form-wrap{
  background:#fff;
  border:1px solid #eee;
  border-radius:6px;
  padding:40px 36px;
}
.contact-form-title{
  font-size:22px;
  font-weight:700;
  color:var(--qp-text);
  letter-spacing:0.4px;
  margin-bottom:24px;
  padding-bottom:14px;
  border-bottom:2px solid var(--qp-green-light);
}
.contact-form .form-label{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--qp-text);
  margin-bottom:6px;
}
.contact-form .req{color:var(--qp-green)}
.contact-form .form-control{
  border:1px solid #ddd;
  border-radius:4px;
  font-size:13px;
  padding:10px 14px;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.contact-form .form-control:focus{
  border-color:var(--qp-green);
  box-shadow:0 0 0 .2rem rgba(10,94,33,.12);
  outline:0;
}
.contact-form textarea{resize:vertical;min-height:140px}
.contact-form .form-check{
  display:flex;align-items:flex-start;gap:8px;
  font-size:12px;color:var(--qp-muted);letter-spacing:0.4px;
}
.contact-form .form-check-input{margin-top:3px}
.contact-form .form-check-input:checked{
  background-color:var(--qp-green);border-color:var(--qp-green);
}

.contact-map{
  border:1px solid #eee;border-radius:6px;
  overflow:hidden;line-height:0;
}

.cat-breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:0.6px;
  color:var(--qp-muted);
  margin-bottom:18px;
}
.cat-breadcrumb a{color:var(--qp-green-dark);transition:color .25s}
.cat-breadcrumb a:hover{color:var(--qp-green)}
.cat-breadcrumb .bc-sep{color:#ccc}
.cat-breadcrumb .bc-current{color:var(--qp-text);font-weight:600}

.page-subtitle.mt-0{margin-top:0 !important}
.cat-intro{
  text-align:center;
  max-width:680px;margin:0 auto;
  font-size:13px;line-height:24px;letter-spacing:0.5px;
  color:var(--qp-muted);
}

.cat-sidebar{position:sticky;top:120px}
.sb-box{
  background:#fff;border:1px solid #eee;border-radius:6px;
  padding:22px 22px;margin-bottom:18px;
}
.sb-title{
  font-size:14px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.1em;color:var(--qp-text);
  padding-bottom:12px;margin-bottom:14px;
  border-bottom:2px solid var(--qp-green-light);
}
.sb-list{list-style:none;padding:0;margin:0}
.sb-list li{margin-bottom:2px}
.sb-list a{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 12px;border-radius:4px;
  font-size:13px;letter-spacing:0.4px;
  color:var(--qp-muted);
  transition:background .25s ease, color .25s ease;
}
.sb-list a:hover{background:#f3f8ec;color:var(--qp-green-dark)}
.sb-list li.active a{
  background:var(--qp-green);color:#fff;font-weight:600;
}
.sb-list .sb-count{
  font-size:11px;background:rgba(0,0,0,.06);
  padding:2px 8px;border-radius:10px;color:inherit;
}

/* Mobile: category list collapses behind the title (tap to open) */
.sb-caret{display:none;font-size:12px;color:#9aa6a0;transition:transform .3s ease}
@media (max-width: 991px){
  .sb-cats .sb-title{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding-bottom:0;margin-bottom:0;border-bottom:0}
  .sb-cats .sb-caret{display:inline-block}
  /* smooth open/close via grid-template-rows (0fr → 1fr) */
  .sb-cats .sb-list-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.16,.84,.44,1)}
  .sb-cats .sb-list-wrap > .sb-list{overflow:hidden;min-height:0}
  .sb-cats.open .sb-list-wrap{grid-template-rows:1fr}
  .sb-cats.open .sb-list{padding-top:12px}
  .sb-cats.open .sb-caret{transform:rotate(180deg);color:var(--qp-green)}
  .sb-help{display:none}
}
.sb-list li.active .sb-count{background:rgba(255,255,255,.25)}

.sb-filter{display:flex;flex-direction:column;gap:10px}
.sb-check{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--qp-muted);cursor:pointer;
  letter-spacing:0.4px;
}
.sb-check input{
  width:16px;height:16px;accent-color:var(--qp-green);cursor:pointer;
}

.sb-help{
  text-align:center;
  background:linear-gradient(135deg, #f3f8ec 0%, #fff 100%);
  border:1px solid var(--qp-green-light);
}
.sb-help i{
  font-size:30px;color:var(--qp-green);margin-bottom:8px;
}
.sb-help h6{
  font-size:14px;font-weight:700;color:var(--qp-text);
  margin-bottom:6px;letter-spacing:0.4px;
}
.sb-help p{
  font-size:12px;line-height:20px;color:var(--qp-muted);
  letter-spacing:0.4px;margin-bottom:12px;
}
.sb-help-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:transparent;color:var(--qp-green-dark) !important;
  padding:8px 4px;border:0;
  font-size:12px;font-weight:600;letter-spacing:0.06em;
  transition:color .35s ease, gap .35s ease;
  line-height:1;
}
.sb-help-cta i{
  font-size:11px;line-height:1;
  transition:transform .35s ease;
}
.sb-help-cta:hover{
  color:var(--qp-green) !important;
  gap:12px;
}
.sb-help-cta:hover i{transform:translateX(3px)}

.cat-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  background:#fff;border:1px solid #eee;border-radius:6px;
  padding:14px 20px;margin-bottom:22px;flex-wrap:wrap;gap:12px;
}
.ct-count{
  font-size:13px;color:var(--qp-muted);letter-spacing:0.5px;
}
.ct-count strong{color:var(--qp-text);font-weight:600}
.ct-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ct-sort{display:flex;align-items:center;gap:10px}
.ct-sort label{
  font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--qp-muted);margin:0;
}
.ct-sort select{
  border:1px solid #ddd;border-radius:4px;
  font-size:13px;padding:6px 28px 6px 12px;
  color:var(--qp-text);min-width:170px;
}
.ct-view{display:flex;gap:4px}
.ct-view-btn{
  width:36px;height:36px;border-radius:4px;
  border:1px solid #ddd;background:#fff;
  color:var(--qp-muted);font-size:14px;
  cursor:pointer;transition:all .25s ease;
}
.ct-view-btn:hover{background:#f3f8ec;color:var(--qp-green-dark);border-color:var(--qp-green-light)}
.ct-view-btn.active{
  background:var(--qp-green);color:#fff;border-color:var(--qp-green);
}

.product-card{
  display:block;
  background:#fff;border:1px solid #eee;border-radius:6px;
  overflow:hidden;
  position:relative;
  color:inherit;
  transition:border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.product-card:hover{
  border-color:var(--qp-green-light);
  box-shadow:0 22px 40px -22px rgba(2,80,30,.28);
  transform:translateY(-4px);
}
.pc-badge{
  position:absolute;top:12px;left:12px;z-index:3;
  background:var(--qp-text);color:#fff;
  font-size:10px;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;
  padding:5px 10px;border-radius:50px;
}
.pc-badge.eco{background:var(--qp-green)}
.pc-badge.new{background:#e08a18}

.pc-thumb{
  position:relative;
  aspect-ratio:1/1;
  background:#fafafa;
  overflow:hidden;
}
.pc-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:contain;padding:24px;
  transition:opacity .5s ease, transform .8s ease;
}
.pc-img.hover{opacity:0}
.product-card:hover .pc-img.main{opacity:0;transform:scale(1.04)}
.product-card:hover .pc-img.hover{opacity:1;transform:scale(1.04)}

.pc-actions{
  position:absolute;top:14px;right:14px;
  display:flex;flex-direction:column;gap:8px;
  z-index:3;
  opacity:0;transform:translateX(10px);
  transition:opacity .35s ease, transform .35s ease;
}
.product-card:hover .pc-actions{opacity:1;transform:translateX(0)}
.pc-act{
  width:36px;height:36px;border-radius:50%;
  border:0;background:#fff;color:var(--qp-text);
  display:grid;place-items:center;font-size:13px;
  cursor:pointer;box-shadow:0 6px 12px -6px rgba(0,0,0,.18);
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.pc-act:hover{background:var(--qp-green);color:#fff;transform:scale(1.08)}

.pc-body{
  padding:18px 20px 22px;
  border-top:1px solid #f0f0f0;
}
.pc-cat{
  display:inline-block;
  font-size:11px;text-transform:uppercase;letter-spacing:0.1em;
  color:var(--qp-green);font-weight:600;margin-bottom:6px;
}
.pc-name{
  font-size:15px;font-weight:600;color:var(--qp-text);
  margin:0 0 12px;letter-spacing:0.2px;
  line-height:22px;min-height:44px;
}
.pc-cta{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.1em;
  color:var(--qp-green-dark);
  transition:gap .35s ease, color .35s ease;
}
.product-card:hover .pc-cta{gap:10px;color:var(--qp-green)}

.cat-pagination{
  display:flex;justify-content:center;align-items:center;gap:6px;
}
.pg-btn{
  min-width:40px;height:40px;
  border:1px solid #ddd;background:#fff;
  border-radius:4px;
  font-size:13px;font-weight:600;color:var(--qp-text);
  cursor:pointer;transition:all .25s ease;
  display:inline-grid;place-items:center;padding:0 12px;
}
.pg-btn:hover:not(:disabled){background:#f3f8ec;border-color:var(--qp-green-light);color:var(--qp-green-dark)}
.pg-btn.active{background:var(--qp-green);border-color:var(--qp-green);color:#fff}
.pg-btn:disabled{opacity:.4;cursor:not-allowed}

@media (max-width: 991px){
  .cat-sidebar{position:static}
}

.product-grid.is-list > [class*="col-"]{
  flex:0 0 100%;max-width:100%;
}
.product-grid.is-list .product-card{
  display:block;
}
.product-grid.is-list .pc-link{
  display:flex;align-items:stretch;
}
.product-grid.is-list .pc-thumb{
  flex:0 0 260px;aspect-ratio:auto;min-height:210px;
  border-right:1px solid #f0f0f0;
}
.product-grid.is-list .pc-body{
  flex:1;border-top:0;
  display:flex;flex-direction:column;justify-content:center;
  padding:24px 28px;
}
.product-grid.is-list .pc-name{
  font-size:18px;min-height:auto;margin-bottom:14px;
}
.product-grid.is-list .pc-cta{
  align-self:flex-start;
  background:var(--qp-green);color:#fff;
  padding:10px 18px;border-radius:4px;
  margin-top:6px;
  transition:background .25s ease, gap .35s ease;
}
.product-grid.is-list .product-card:hover .pc-cta{
  background:var(--qp-green-dark);color:#fff;
}
.product-grid.is-list .pc-actions{
  flex-direction:row;top:auto;right:auto;
  bottom:14px;left:14px;
  transform:translateY(10px);
}
.product-grid.is-list .product-card:hover .pc-actions{transform:translateY(0)}

@media (max-width: 575px){
  /* list view on mobile = compact horizontal rows (visibly different from grid) */
  .product-grid.is-list .pc-link{flex-direction:row}
  .product-grid.is-list .pc-thumb{flex:0 0 108px;aspect-ratio:auto;min-height:108px;border-right:1px solid #f0f0f0;border-bottom:0}
  .product-grid.is-list .pc-body{padding:12px 14px}
  .product-grid.is-list .pc-name{font-size:14px;margin-bottom:8px}
  .product-grid.is-list .pc-cta{padding:8px 14px;font-size:12px}
}

.servicii-intro{
  text-align:center;
  max-width:820px;
  margin:0 auto 20px;
  font-size:14px;
  line-height:28px;
  color:var(--qp-muted);
  letter-spacing:0.6px;
}
.services-row{margin-top:60px !important}
.service-card{
  text-align:center;
  padding:40px 26px;
  border-radius:6px;
  background:#fff;
  border:1px solid #eee;
  height:100%;
  transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.service-card:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 44px -18px rgba(2,80,30,.25);
  border-color:var(--qp-green-light);
}
.service-icon{
  display:inline-grid;place-items:center;
  width:96px;height:96px;border-radius:50%;
  background:#f3f8ec;
  color:var(--qp-green);
  font-size:42px;
  margin-bottom:22px;
  transition:background .35s ease, color .35s ease, transform .5s ease;
}
.service-card:hover .service-icon{
  background:var(--qp-green-light);color:#fff;
  transform:scale(1.05) rotate(-4deg);
}
.service-title{
  font-size:20px;
  font-weight:700;
  color:var(--qp-text);
  letter-spacing:0.4px;
  margin-bottom:14px;
}
.service-text{
  font-size:13px;
  line-height:26px;
  color:var(--qp-muted);
  letter-spacing:0.6px;
  margin:0;
}
.product-block{
  border-top:1px solid #eee;
  padding-top:40px;
}
.product-block:first-of-type{
  border-top:0;
  padding-top:0;
}
.product-block .product-name{margin-top:0}
.articles-section:has(.product-block){padding-top:50px}

.product-gallery .gallery-main{
  position:relative;
  cursor:zoom-in;
  background:#f5f5f5;
  overflow:hidden;
  border:1px solid #eee;
}
.product-gallery .gallery-main-img{
  width:100%;height:auto;display:block;
  transition:transform .6s ease;
}
.product-gallery .gallery-main:hover .gallery-main-img{transform:scale(1.04)}
.product-gallery .gallery-zoom-hint{
  position:absolute;top:14px;right:14px;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.9);color:var(--qp-green-dark);
  display:grid;place-items:center;font-size:14px;
  box-shadow:0 4px 10px -2px rgba(0,0,0,.18);
  opacity:0;transform:translateY(-4px);
  transition:opacity .35s ease, transform .35s ease;
}
.product-gallery .gallery-main:hover .gallery-zoom-hint{opacity:1;transform:translateY(0)}

.product-gallery .gallery-thumbs{
  display:grid;grid-template-columns:repeat(4, 1fr);
  gap:8px;margin-top:8px;
}
.product-gallery .gallery-thumb{
  border:2px solid #eee;background:#fff;padding:0;cursor:pointer;
  overflow:hidden;line-height:0;transition:border-color .25s ease, transform .25s ease;
}
.product-gallery .gallery-thumb img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover}
.product-gallery .gallery-thumb:hover{border-color:var(--qp-green-light);transform:translateY(-2px)}
.product-gallery .gallery-thumb.active{border-color:var(--qp-green)}

.lightbox{
  position:fixed;inset:0;z-index:2000;
  background:rgba(10,20,15,.92);
  display:none;align-items:center;justify-content:center;
  padding:40px 60px;
  animation:lbFade .25s ease;
}
.lightbox.is-open{display:flex}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
.lightbox .lb-stage{
  position:relative;max-width:100%;max-height:100%;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.lightbox .lb-img{
  max-width:100%;max-height:80vh;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
  background:#fff;
}
.lightbox .lb-counter{
  color:rgba(255,255,255,.8);
  font-family:'Poppins',sans-serif;font-size:13px;letter-spacing:1px;
}
.lightbox .lb-close, .lightbox .lb-prev, .lightbox .lb-next{
  position:absolute;
  background:rgba(255,255,255,.12);
  color:#fff;border:0;
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  font-size:18px;
  transition:background .25s ease, transform .25s ease;
  backdrop-filter:blur(4px);
}
.lightbox .lb-close{top:24px;right:24px}
.lightbox .lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.lightbox .lb-next{right:24px;top:50%;transform:translateY(-50%)}
.lightbox .lb-close:hover,
.lightbox .lb-prev:hover,
.lightbox .lb-next:hover{background:var(--qp-green-light);color:#fff}
.lightbox .lb-prev:hover, .lightbox .lb-next:hover{transform:translateY(-50%) scale(1.08)}

body.lb-locked{overflow:hidden}

@media (max-width: 575px){
  .lightbox{padding:60px 16px}
  .lightbox .lb-prev{left:8px}
  .lightbox .lb-next{right:8px}
}
.product-name{
  font-size:34px;
  font-weight:700;
  color:var(--qp-green-dark);
  letter-spacing:0.5px;
  margin-bottom:10px;
}
.product-lead{
  font-size:14px;
  font-style:italic;
  color:var(--qp-muted);
  line-height:24px;
  margin-bottom:22px;
}
.product-subtitle{
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--qp-text);
  margin:18px 0 10px;
}
.product-specs{
  list-style:none;
  padding-left:0;
  margin-bottom:12px;
}
.product-specs li{
  position:relative;
  padding:6px 0 6px 22px;
  font-size:13px;
  line-height:22px;
  letter-spacing:0.4px;
  color:var(--qp-muted);
  border-bottom:1px dashed #eee;
}
.product-specs li::before{
  content:"";
  position:absolute;
  left:0;top:14px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--qp-green-light);
}

@media (max-width: 767px){
  .timeline-line{left:18px;transform:none}
  .timeline-item, .timeline-item.right, .timeline-item.left{
    width:100%;margin:0;padding:18px 0 18px 50px;text-align:left;
  }
  .timeline-item .timeline-marker{
    left:10px;right:auto;top:30px;transform:none;
  }
  .timeline-item.left .timeline-card::before,
  .timeline-item.right .timeline-card::before{
    left:-12px;right:auto;
    border-right-color:var(--qp-green-light);
    border-left-color:transparent;
    border-left:0;border-right:12px solid var(--qp-green-light);
    top:24px;
  }
}
