/* NaturGlow Elementor widgets. */
.ngw-hero { position:relative; height:100vh; min-height:320px; overflow:hidden; background:#1f2a22; color:#fff; }
.ngw-hero__track, .ngw-hero__slide { position:absolute; inset:0; }
.ngw-hero__slide { display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .8s ease, visibility .8s, transform .8s ease; }
.ngw-hero--slide .ngw-hero__slide { transform:translateX(6%); }
.ngw-hero__slide.is-active { opacity:1; visibility:visible; transform:none; z-index:1; }
.ngw-hero__bg, .ngw-hero__bg img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.ngw-hero__slide.is-active .ngw-hero__bg img { animation:ngw-zoom 9s ease-out both; }
@keyframes ngw-zoom { from { transform:scale(1.06); } to { transform:scale(1); } }
.ngw-hero__shade { position:absolute; inset:0; background:rgba(0,0,0,.4); }
.ngw-hero__content { position:relative; z-index:2; width:100%; max-width:860px; padding:120px 24px 80px; text-align:center; }
.ngw-hero__slide--left { justify-content:flex-start; } .ngw-hero__slide--left .ngw-hero__content { text-align:left; margin-left:6vw; }
.ngw-hero__slide--right { justify-content:flex-end; } .ngw-hero__slide--right .ngw-hero__content { text-align:right; margin-right:6vw; }
.ngw-hero__eyebrow { margin:0 0 12px; font-size:14px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:#fff; }
.ngw-hero__title { margin:0 0 16px; font-size:clamp(32px,5vw,60px); line-height:1.12; font-weight:700; color:#fff; }
.ngw-hero__text { margin:0 0 28px; font-size:17px; line-height:1.6; color:rgba(255,255,255,.9); }
.ngw-hero__actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:inherit; }
.ngw-hero__slide--center .ngw-hero__actions { justify-content:center; } .ngw-hero__slide--right .ngw-hero__actions { justify-content:flex-end; }
.ngw-hero__btn { display:inline-flex; align-items:center; justify-content:center; min-width:170px; padding:14px 28px; border:1px solid var(--ng-primary,#007d43); border-radius:4px; font-weight:700; font-size:15px; text-decoration:none; transition:background .2s, color .2s; }
.ngw-hero__btn--1 { background:var(--ng-primary,#007d43); color:#fff; }
.ngw-hero__btn--1:hover { background:#fff; color:var(--ng-primary,#007d43); border-color:#fff; }
.ngw-hero__btn--2 { background:#fff; color:var(--ng-primary,#007d43); border-color:#fff; }
.ngw-hero__btn--2:hover { background:transparent; color:#fff; }
.ngw-hero__arrow { position:absolute; top:50%; z-index:3; width:48px; height:48px; margin-top:-24px; border:0; border-radius:50%; background:rgba(255,255,255,.18); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.ngw-hero__arrow:hover { background:rgba(255,255,255,.35); }
.ngw-hero__arrow::before { content:""; width:12px; height:12px; border:solid currentColor; border-width:2px 2px 0 0; }
.ngw-hero__arrow--prev { left:20px; } .ngw-hero__arrow--prev::before { transform:rotate(-135deg); margin-left:5px; }
.ngw-hero__arrow--next { right:20px; } .ngw-hero__arrow--next::before { transform:rotate(45deg); margin-right:5px; }
.ngw-hero__dots { position:absolute; left:0; right:0; bottom:24px; z-index:3; display:flex; gap:8px; justify-content:center; }
.ngw-hero__dot { width:10px; height:10px; padding:0; border:0; border-radius:10px; background:rgba(255,255,255,.5); cursor:pointer; transition:width .3s, background .3s; }
.ngw-hero__dot.is-active { width:28px; background:#fff; }
@media (max-width:767px) {
	.ngw-hero__content { padding:96px 18px 64px; }
	.ngw-hero__text { font-size:15px; }
	.ngw-hero__actions { flex-direction:column; align-items:stretch; }
	.ngw-hero__btn { width:100%; }
	.ngw-hero__arrow { display:none; }
}
@media (prefers-reduced-motion: reduce) { .ngw-hero__slide, .ngw-hero__slide.is-active .ngw-hero__bg img { transition:none; animation:none; } }

/* Product page built with widgets. */
.woocommerce div.product.ngw-single, .ngw-product-ctx { display:block !important; }
.ngw-product-part .woocommerce-product-gallery, .ngw-product-part div.images { width:100% !important; float:none !important; margin:0 !important; opacity:1 !important; }
.ngw-product-part .product_title { margin:0; }
.ngw-product-part .related, .ngw-product-part .woocommerce-tabs { margin:0; }
.ngw-product-part .woocommerce-tabs { width:100%; }
.elementor-widget-naturglow-products ul.products, .elementor-widget-naturglow-product-related ul.products { display:grid !important; }
.elementor-widget-naturglow-products ul.products::before, .elementor-widget-naturglow-products ul.products::after { display:none; }

/* Homepage wrapper around the hero slider widget: neutralise legacy hero sizing. */
.ng-home-hero.ngw-home-hero, .ng-home-hero.ngw-home-hero.e-con { min-height:0 !important; height:auto !important; max-height:none !important; padding:0 !important; margin-top:0 !important; background:none !important; display:block; }
.ngw-home-hero > .elementor-widget-naturglow-hero-slider { width:100%; }
