/* Nutraeden effects: hex background, progress bar, sticky CTA */

/* Hex field */
.ntrd-el .hex-field{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.ntrd-el .hex-field svg{ position:absolute; stroke:#DEDBD3; fill:none; stroke-width:1.3; }
.ntrd-el .hex-field .hex-inner{ stroke:var(--blue); opacity:.55; }
@keyframes ntrd-driftA{ 0%,100%{transform:translate(0,0) rotate(0deg);} 50%{transform:translate(-20px,26px) rotate(6deg);} }
@keyframes ntrd-driftB{ 0%,100%{transform:translate(0,0) rotate(0deg);} 50%{transform:translate(24px,-22px) rotate(-7deg);} }
@keyframes ntrd-driftC{ 0%,100%{transform:translate(0,0) rotate(0deg) scale(1);} 50%{transform:translate(-14px,-18px) rotate(5deg) scale(1.04);} }
@keyframes ntrd-hexBreathe{ 0%,100%{opacity:.28;} 50%{opacity:.65;} }
.ntrd-el .hex-a{ animation:ntrd-driftA 16s ease-in-out infinite; }
.ntrd-el .hex-b{ animation:ntrd-driftB 20s ease-in-out infinite; }
.ntrd-el .hex-c{ animation:ntrd-driftC 24s ease-in-out infinite; }
.ntrd-el .hex-fade{ animation:ntrd-hexBreathe 10s ease-in-out infinite; }

/* Progress bar */
.ntrd-el .progress{ position:fixed; top:0; left:0; height:2.5px; background:var(--blue-deep); z-index:101; width:0%; transition:width .1s linear; }
.ntrd-el .progress.progress-bottom{ top:auto; bottom:0; }

/* Sticky CTA */
.ntrd-el .sticky-cta{
  position:fixed; left:14px; right:14px; bottom:-100px; z-index:200;
  background:var(--ink); color:var(--white); border-radius:16px; padding:14px 18px;
  display:none; align-items:center; justify-content:space-between; gap:14px;
  box-shadow:0 -10px 30px rgba(0,0,0,0.18); transition:bottom .4s ease;
}
.ntrd-el .sticky-cta.show{ bottom:14px; }
.ntrd-el .sticky-cta span{ font-size:14px; font-weight:600; }
.ntrd-el .sticky-cta button{ background:var(--blue); color:var(--ink); border:none; font-weight:800; font-size:13.5px; padding:10px 16px; border-radius:10px; cursor:pointer; white-space:nowrap; }
/* Visibility per breakpoint (Elementor default breakpoints), scoped so a
   choice for one device never leaks into another. */
@media (max-width:767px){
  .ntrd-el .sticky-cta.show-mobile{ display:flex; }
}
@media (min-width:768px) and (max-width:1024px){
  .ntrd-el .sticky-cta.show-tablet{ display:flex; }
}
@media (min-width:1025px){
  .ntrd-el .sticky-cta.show-desktop{ display:flex; }
}
@media (prefers-reduced-motion: reduce){
  .ntrd-el .hex-a, .ntrd-el .hex-b, .ntrd-el .hex-c, .ntrd-el .hex-fade{ animation:none !important; }
}
