/* NaturGlow — base design system
   Tokens map to Elementor Global Colors when set (see inc/customizer.php). */

:root {
	--ng-bg: #ffffff;
	--ng-soft: #faf7f0;
	--ng-beige: #ebe1cf;
	--ng-border: #e7dfd0;
	--ng-muted: #6f675b;
	--ng-on-primary: #ffffff;
	--ng-radius: 8px;
	--ng-radius-lg: 8px;
	--ng-shadow: 0 10px 30px -18px rgba(31, 61, 43, .35);
	--ng-container: 1536px;
	--ng-font-body: var(--e-global-typography-text-font-family, "Montserrat"), system-ui, -apple-system, "Segoe UI", sans-serif;
	--ng-font-head: var(--e-global-typography-primary-font-family, "Montserrat"), Georgia, serif;
	--ng-header-h: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--ng-font-body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ng-text);
	background: var(--ng-bg);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}
img, video, svg { max-width: 100%; height: auto; }
a { color: var(--ng-primary); text-decoration: none; transition: color .2s; }
a:hover { color: var(--ng-secondary); }
h1, h2, h3, h4, h5, h6 { font-family: var(--ng-font-head); font-weight: 600; line-height: 1.15; color: var(--ng-text); margin: 0 0 .5em; letter-spacing: 0; }
h1 { font-size: clamp(2.1rem, 4.5vw, 3.6rem); }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; z-index: 100000; top: 8px; left: 8px; padding: 10px 16px; background: var(--ng-bg); }
:focus-visible { outline: 2px solid var(--ng-accent); outline-offset: 2px; }

.ng-container { width: 100%; max-width: var(--ng-container); margin: 0 auto; padding: 0 20px; }
.ng-container--narrow { max-width: 860px; }
.ng-container--wide { max-width: var(--ng-container); }
.ng-main { display: block; padding: 48px 0 72px; min-height: 40vh; }
.ng-main--builder { padding: 0; }
.ng-page-header { margin-bottom: 28px; text-align: center; }
.ng-page-title { margin: 0; }
.ng-eyebrow { text-transform: uppercase; letter-spacing: .3em; font-size: .78rem; color: var(--ng-secondary); }
.ng-meta { color: var(--ng-muted); font-size: .9rem; }
.ng-section-title { text-align: center; margin: 48px 0 24px; }
.ng-entry > * + * { margin-top: 1em; }

/* Buttons */
.ng-btn, .button, button[type="submit"], input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 26px; border: 1px solid var(--ng-primary); border-radius: 999px;
	background: var(--ng-primary); color: var(--ng-on-primary);
	font-weight: 500; letter-spacing: .06em; text-transform: uppercase; font-size: .82rem;
	cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
.ng-btn:hover, .button:hover, button[type="submit"]:hover, input[type="submit"]:hover { background: var(--ng-secondary); border-color: var(--ng-secondary); color: var(--ng-on-primary); }
.ng-btn--outline { background: transparent; color: var(--ng-primary); }

input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="password"], input[type="number"], input[type="url"], select, textarea {
	width: 100%; padding: 12px 14px; border: 1px solid var(--ng-border); border-radius: var(--ng-radius); background: #fff; transition: border-color .2s;
}
input:focus, select:focus, textarea:focus { border-color: var(--ng-primary); outline: none; }

/* Announcement */
.ng-announce { background: var(--ng-primary); color: var(--ng-on-primary); font-size: .85rem; overflow: hidden; white-space: nowrap; }
.ng-announce__track { display: inline-flex; gap: 64px; padding: 9px 0; animation: ng-marquee 38s linear infinite; }
.ng-announce__item { padding-left: 32px; }
.ng-announce:hover .ng-announce__track { animation-play-state: paused; }
@keyframes ng-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ng-announce__track { animation: none; } }

/* Header */
.ng-header { position: relative; z-index: 50; background: var(--ng-bg); }
.ng-header__bar { border-bottom: 1px solid var(--ng-border); transition: background .25s, box-shadow .25s; }
.ng-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: var(--ng-header-h); gap: 16px; }
.ng-header__right { display: flex; justify-content: flex-end; }
.ng-sticky-enabled .ng-header.is-stuck .ng-header__bar,
.ng-sticky-enabled .ng-header--elementor.is-stuck { position: fixed; top: 0; left: 0; right: 0; background: var(--ng-bg); box-shadow: 0 6px 24px -14px rgba(0,0,0,.25); animation: ng-drop .25s ease; }
.admin-bar.ng-sticky-enabled .ng-header.is-stuck .ng-header__bar { top: 32px; }
@keyframes ng-drop { from { transform: translateY(-100%); } to { transform: none; } }

.ng-transparent-header .ng-header:not(.ng-header--elementor) { position: absolute; left: 0; right: 0; background: transparent; }
.ng-transparent-header .ng-header:not(.is-stuck) .ng-header__bar { background: transparent; border-color: rgba(255,255,255,.15); }
.ng-transparent-header .ng-header:not(.is-stuck) .ng-menu > li > a,
.ng-transparent-header .ng-header:not(.is-stuck) .ng-icons__btn,
.ng-transparent-header .ng-header:not(.is-stuck) .ng-burger,
.ng-transparent-header .ng-header:not(.is-stuck) .ng-logo__text { color: #fff; }

.ng-logo { display: flex; justify-content: center; }
.ng-logo img { max-height: 64px; width: auto; display: block; }
.ng-logo__text { font-family: var(--ng-font-head); font-size: 1.7rem; font-weight: 700; color: var(--ng-primary); }

.ng-nav { display: flex; align-items: center; }
.ng-nav--center { justify-content: center; }
.ng-nav--right { justify-content: flex-end; }
.ng-menu { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 30px; margin: 0; padding: 0; }
.ng-menu li { position: relative; }
.ng-menu a { display: block; padding: 8px 0; color: var(--ng-text); font-size: .86rem; letter-spacing: .14em; text-transform: uppercase; }
.ng-menu a:hover, .ng-menu .current-menu-item > a { color: var(--ng-secondary); }
.ng-menu .sub-menu { list-style: none; position: absolute; top: 100%; left: -18px; min-width: 220px; margin: 0; padding: 10px 0; background: #fff; border: 1px solid var(--ng-border); border-radius: var(--ng-radius); box-shadow: var(--ng-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; z-index: 20; }
.ng-menu .sub-menu a { padding: 8px 18px; text-transform: none; letter-spacing: 0; font-size: .95rem; color: var(--ng-text) !important; }
.ng-menu .sub-menu .sub-menu { top: 0; left: 100%; }
.ng-menu li:hover > .sub-menu, .ng-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ng-burger { display: none; background: none; border: 0; padding: 6px; cursor: pointer; color: var(--ng-text); }

.ng-icons { display: flex; align-items: center; gap: 14px; }
.ng-icons__btn { position: relative; display: inline-flex; padding: 6px; background: none; border: 0; cursor: pointer; color: var(--ng-text); }
.ng-icons__plugin { display: inline-flex; align-items: center; }
.ng-cart-count { position: absolute; top: -2px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--ng-accent); color: #fff; font-size: .7rem; line-height: 18px; text-align: center; }

.ng-search-panel { position: fixed; inset: 0; z-index: 9999; background: rgba(20, 30, 22, .55); display: flex; align-items: flex-start; justify-content: center; padding-top: 14vh; }
.ng-search-panel[hidden] { display: none; }
.ng-search-panel__inner { position: relative; width: min(680px, 92vw); background: #fff; border-radius: var(--ng-radius-lg); padding: 28px; box-shadow: var(--ng-shadow); }
.ng-search-panel form { display: flex; gap: 10px; }
.ng-search-panel label { flex: 1; }
.ng-search-close { position: absolute; top: -48px; right: 0; background: none; border: 0; color: #fff; cursor: pointer; }

/* Drawer */
.ng-drawer { position: fixed; inset: 0; z-index: 9998; pointer-events: none; }
.ng-drawer__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(340px, 86vw); background: var(--ng-bg); padding: 24px; transform: translateX(-100%); transition: transform .3s ease; overflow-y: auto; z-index: 2; }
.ng-drawer__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .3s; }
.ng-drawer.is-open { pointer-events: auto; }
.ng-drawer.is-open .ng-drawer__panel { transform: none; }
.ng-drawer.is-open .ng-drawer__overlay { opacity: 1; }
.ng-drawer__close { background: none; border: 0; float: right; cursor: pointer; }
.ng-drawer .ng-logo { justify-content: flex-start; margin-bottom: 20px; }
.ng-mobile-menu, .ng-mobile-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.ng-mobile-menu .sub-menu { padding-left: 14px; display: none; }
.ng-mobile-menu li.is-open > .sub-menu { display: block; }
.ng-mobile-menu a { display: block; padding: 12px 0; border-bottom: 1px solid var(--ng-border); color: var(--ng-text); }
.ng-mobile-menu .ng-sub-toggle { float: right; background: none; border: 0; padding: 12px 4px; cursor: pointer; }
body.ng-no-scroll { overflow: hidden; }

@media (max-width: 1024px) {
	.ng-menu { display: none; }
	.ng-burger { display: inline-flex; }
	.ng-header__inner { --ng-header-h: 68px; }
	.ng-logo img { max-height: 48px; }
}
@media (max-width: 480px) {
	.ng-icons { gap: 6px; }
}

/* Footer */
.ng-footer { background: var(--ng-primary); color: rgba(255,255,255,.82); }
.ng-footer a { color: rgba(255,255,255,.82); }
.ng-footer a:hover { color: var(--ng-accent); }
.ng-footer h4, .ng-footer .widget-title { color: #fff; font-family: var(--ng-font-body); font-size: .9rem; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 18px; }
.ng-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 40px; padding-top: 64px; padding-bottom: 48px; }
.ng-footer__brand .ng-logo { justify-content: flex-start; margin-bottom: 16px; }
.ng-footer__brand .ng-logo__text { color: #fff; }
.ng-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ng-footer__bottom { border-top: 1px solid rgba(255,255,255,.14); }
.ng-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 18px; padding-bottom: 18px; font-size: .88rem; }
.ng-copyright { margin: 0; }
.ng-footer__credit { padding: 4px 0 16px; text-align: center; }
.ng-footer__credit--band { margin: 0; padding: 14px 20px; background: var(--ng-secondary, #005A32); text-align: center; }
.ng-developed { margin: 0; font-size: .86rem; color: rgba(255,255,255,.78); }
.ng-developed__link { color: var(--ng-accent, #C9A45C); font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(201,164,92,.4); padding-bottom: 1px; }
.ng-developed__link:hover { color: #fff; border-bottom-color: #fff; }
@media (max-width: 960px) { .ng-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ng-footer__grid { grid-template-columns: 1fr; } .ng-footer__bottom-inner { justify-content: center; text-align: center; } }

.ng-social { display: flex; gap: 10px; margin-top: 14px; }
.ng-social__link { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid currentColor; border-radius: 999px; font-size: .75rem; text-transform: uppercase; }
.ng-payments { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ng-payments__item { padding: 5px 12px; border-radius: 6px; background: #fff; color: var(--ng-primary); font-size: .76rem; font-weight: 600; }

/* Newsletter */
.ng-newsletter { display: flex; gap: 10px; max-width: 520px; margin: 0 auto; }
.ng-newsletter input { flex: 1; border-radius: 999px; padding: 14px 20px; }
@media (max-width: 480px) { .ng-newsletter { flex-direction: column; } }

/* Blog */
.ng-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px; }
.ng-post-card { border: 1px solid var(--ng-border); border-radius: var(--ng-radius-lg); overflow: hidden; background: #fff; }
.ng-post-card__media img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.ng-post-card__body { padding: 20px; }
.ng-post-card__title { font-size: 1.4rem; }
.ng-featured { margin: 0 0 28px; }
.ng-featured img { border-radius: var(--ng-radius-lg); }
.ng-pagination, .navigation.pagination { margin-top: 40px; text-align: center; }
.page-numbers { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--ng-border); border-radius: 999px; margin: 0 3px; }
.page-numbers.current { background: var(--ng-primary); color: #fff; border-color: var(--ng-primary); }
.ng-404 { text-align: center; }
.ng-404 form { display: flex; gap: 10px; max-width: 480px; margin: 20px auto; }

/* Elementor helpers usable via "CSS Classes" field */
.ng-card-lift { transition: transform .25s, box-shadow .25s; }
.ng-card-lift:hover { transform: translateY(-4px); box-shadow: var(--ng-shadow); }
.ng-rounded img { border-radius: var(--ng-radius-lg); }
.elementor-widget-shortcode .woocommerce ul.products { margin-bottom: 0; }

/* Reference-matched storefront structure. All color roles remain theme tokens. */
:root { --ng-soft: #f8faf9; --ng-border: #e5e7eb; --ng-muted: #6b7280; --ng-overlay: #000000; --ng-on-primary: #ffffff; --ng-header-h: 88px; }
h1,h2,h3,h4,h5,h6 { font-weight: 700; letter-spacing: 0; }
.ng-announce { height: 40px; line-height: 22px; font-size: 12px; }
.ng-announce__track { padding: 9px 0; }
.ng-header__inner { min-height: 88px; }
.ng-logo img { width: 68px; height: 68px; max-height: 68px; object-fit: contain; }
.ng-menu { gap: 28px; flex-wrap: nowrap; }
.ng-menu a { font-size: 14px; letter-spacing: .1em; }
.ng-icons { gap: 10px; }
.ng-icon { width: 20px; height: 20px; }
.ng-header-template { padding: 0; gap: 0; }
.ng-header-row { min-height: 88px; padding: 10px 20px; border-bottom: 1px solid var(--ng-border); background: var(--ng-bg); }
.ng-header-row .ng-brand-widget img { width: 68px; height: 68px; object-fit: contain; }
.ng-header-row .elementor-widget-shortcode { margin: 0; }
.ng-transparent-header .ng-header { position: absolute; inset: 0 0 auto; background: transparent; }
.ng-transparent-header .ng-header:not(.is-stuck) .ng-header-row { background: transparent; border-color: transparent; }
.ng-transparent-header .ng-header:not(.is-stuck) .ng-menu > li > a,
.ng-transparent-header .ng-header:not(.is-stuck) .ng-icons__btn,
.ng-transparent-header .ng-header:not(.is-stuck) .ng-burger { color: var(--ng-on-primary); }
.ng-transparent-header .ng-header.is-stuck .ng-header-row { background: var(--ng-bg); }
.ng-transparent-header .ng-header.is-stuck { background: var(--ng-bg); }
.ng-sticky-enabled .ng-header--elementor.is-stuck { position: fixed; top: 0; left: 0; right: 0; }
.ng-header.is-stuck .ng-announce { display: none; }
.ng-home-hero { min-height: calc(100svh - 40px) !important; margin-top: 40px; }
.ng-home-hero > .e-con-inner { min-height: inherit; justify-content: center; }
.ng-home-hero .elementor-heading-title { line-height: 1.15; }
.ng-home-hero .ng-hero-title { max-width: 900px; margin-inline: auto; }
.ng-home-hero .ng-hero-actions .elementor-button { height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.ng-home-hero .ng-hero-stats { margin-top: 28px; }
.ng-home-hero .ng-hero-stats .elementor-heading-title { color: var(--ng-on-primary); }
.ng-home-section > .e-con-inner { gap: 28px; }
.ng-home-section h2.elementor-heading-title { font-size: 48px; font-weight: 700; line-height: 1.15; }
.ng-view-more .elementor-button { min-width: 260px; border-width: 1px; padding: 8px 32px; font-size: 12px; text-transform: none; letter-spacing: 0; }
.ng-favourites-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px !important; }
.ng-favourites-grid > .e-con-inner { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.ng-favourite { width: 100% !important; position: relative; aspect-ratio: 3/4; border-radius: 8px; overflow: hidden; padding: 0 !important; gap: 0 !important; }
.ng-favourite .elementor-widget-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.ng-favourite .elementor-widget-image a { display: block; height: 100%; }
.ng-favourite .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.ng-favourite-info { position: absolute !important; inset: auto 0 0; padding: 36px 16px 16px !important; gap: 4px !important; background: linear-gradient(to top,var(--ng-primary) 0%,color-mix(in srgb,var(--ng-primary) 85%,transparent) 65%,transparent 100%); }
.ng-favourite-info .elementor-heading-title, .ng-favourite-info a { color: var(--ng-on-primary) !important; }
.ng-favourite-info .elementor-heading-title { font-size: 14px; font-weight: 600; line-height: 1.4; }
.ng-favourite-info .elementor-widget-text-editor { font-size: 12px; color: var(--ng-on-primary); }
.ng-favourite-info p { margin: 0; }
.ng-home-promo { min-height: 280px; }
.ng-home-promo .elementor-heading-title { color: var(--ng-on-primary); }
@media(max-width:1279px) { .ng-menu { display: none; } .ng-burger { display: inline-flex; } .ng-home-section h2.elementor-heading-title { font-size: 36px; } }
@media(max-width:767px) {
 .ng-header-row { min-height: 66px; padding: 8px 16px; }
 .ng-logo img,.ng-header-row .ng-brand-widget img { width: 48px; height: 48px; max-height: 48px; }
 .ng-header__inner { min-height: 66px; }
 .ng-announce { font-size: 11px; }
 .ng-favourites-grid,.ng-favourites-grid > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px !important; }
 .ng-favourite-info { padding: 28px 8px 8px !important; }
 .ng-favourite-info .elementor-heading-title { font-size: 12px; }
 .ng-home-section h2.elementor-heading-title { font-size: 24px; }
 .ng-home-section > .e-con-inner { gap: 20px; }
 .ng-home-hero { min-height: calc(100svh - 40px) !important; }
 .ng-home-promo { min-height: 220px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* Keep Elementor responsive defaults from stacking compact hero controls. */
.ng-hero-actions.e-con { flex-direction: row; flex-wrap: nowrap; }
.ng-hero-stats.e-con { flex-direction: row; flex-wrap: nowrap; }
.ng-hero-stats > .e-con { width: 120px; min-width: 0; }
@media(max-width:767px) { .ng-hero-actions.e-con { gap: 12px; } .ng-hero-actions .elementor-button { padding: 10px 18px; font-size: 11px; } .ng-hero-stats > .e-con { width: 100px; } .ng-hero-stats .elementor-heading-title { font-size: 22px; } .ng-hero-stats .elementor-widget-text-editor { font-size: 9px; } }

.ng-hero-actions .elementor-button-text { white-space: nowrap; }
@media(max-width:767px) { .ng-home-hero .ng-hero-actions .elementor-button { padding: 10px 18px; font-size: 11px; letter-spacing: 1px; } .ng-home-hero .ng-hero-stats .elementor-heading-title { font-size: 22px; } .ng-home-hero .ng-hero-stats .elementor-widget-text-editor { font-size: 9px; letter-spacing: 1px; } }

/* Reference screenshots: compact first fold and logo-left mobile navigation. */
.ng-home-hero { min-height: 560px !important; height: min(820px,calc(100svh - 40px)); }
.ng-home-hero .ng-hero-title { max-width: 1000px; }
.ng-view-more .elementor-button { width: min(384px,100%); min-width: 0; height: 40px; }
.ng-view-more { width: 100%; text-align: center; }
.ng-home-hero .ng-hero-actions { max-width: 500px; }
.ng-home-hero .ng-hero-actions .elementor-button { letter-spacing: 0; font-weight: 700; }
@media(max-width:767px) {
 .ng-header-row { min-height: 56px; padding: 6px 16px; gap: 12px; }
 .ng-header-row .ng-header-brand { order: 0; width: auto; margin-right: auto; align-items: flex-start; }
 .ng-header-row .ng-header-actions { order: 1; width: auto; }
 .ng-header-row .ng-header-nav { order: 2; width: auto; }
 .ng-header-row .ng-brand-widget img { width: 36px; height: 36px; }
 .ng-icons { gap: 10px; }
 .ng-home-hero { min-height: 540px !important; height: calc(100svh - 40px); max-height: 820px; background-position: 28% center; }
 .ng-home-hero .ng-hero-title .elementor-heading-title { font-size: 34px; }
 .ng-home-hero .ng-hero-actions { flex-direction: column; align-items: center; gap: 12px; }
 .ng-home-hero .ng-hero-actions > .elementor-widget { width: auto; }
 .ng-home-hero .ng-hero-actions .elementor-button { min-width: 144px; height: 40px; font-size: 12px; }
 .ng-home-hero .ng-hero-stats { margin-top: 28px; gap: 16px; }
}
.ng-home-hero.e-con { flex-shrink: 0; height: auto; min-height: 560px !important; padding-top: 150px !important; padding-bottom: 50px !important; }
.ng-home-hero.e-con .ng-hero-stats > .e-con > .elementor-widget-heading:last-child .elementor-heading-title { font-size: 12px; letter-spacing: 0; }
@media(max-width:767px) {
 .ng-home-hero.e-con { min-height: calc(100svh - 40px) !important; padding-top: 110px !important; padding-bottom: 48px !important; }
 .ng-home-hero.e-con .ng-hero-actions.e-con { flex-direction: column !important; align-items: center; }
 .ng-home-hero.e-con .ng-hero-stats > .e-con > .elementor-widget-heading:last-child .elementor-heading-title { font-size: 10px; }
 .ng-home-hero.e-con .ng-hero-stats > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 24px; }
}
.ng-home-section .ng-view-more.elementor-widget { width: 100%; }
.ng-home-section .ng-view-more .elementor-button { width: min(384px,100%); min-width: 0; height: 40px; }

/* Header / hero revision: reference geometry with the customer's own logo. */
.ng-header-row { max-width: none; min-height: 100px; padding: 8px 4%; }
.ng-header-row > .e-con-inner { max-width: none; width: 100%; }
.ng-header-brand .ng-logo img { width: 76px; height: 76px; max-height: 76px; border-radius: 50%; }
.ng-header-brand .ng-logo { justify-content: center; }
.ng-header-nav .ng-menu { gap: 24px; }
.ng-header-nav .ng-menu a { letter-spacing: 0; font-weight: 600; font-size: 14px; }
.ng-home-hero.ng-hero-slider.e-con { position: relative; height: 560px; min-height: 560px !important; padding: 0 !important; overflow: hidden; }
.ng-hero-slider > .e-con-inner { width: 100%; max-width: none; padding: 0; }
.ng-hero-slider .ng-hero-slide.e-con { position: absolute; inset: 0; width: 100%; height: 100%; padding: 104px 20px 68px !important; justify-content: center; align-items: center; gap: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease; }
.ng-hero-slider .ng-hero-slide.is-active { opacity: 1; visibility: visible; }
.ng-hero-slide > .elementor-widget-heading:first-child { margin-bottom: 38px; }
.ng-hero-slide > .elementor-widget-heading:first-child .elementor-heading-title { color: var(--ng-on-primary); font-size: 13px; letter-spacing: 3px; font-weight: 600; }
.ng-hero-slider .ng-hero-title { max-width: 1000px; margin: 0; }
.ng-hero-slider .ng-hero-title .elementor-heading-title { font-size: 60px; line-height: 1.25; color: var(--ng-on-primary); }
.ng-hero-slider .ng-hero-actions.e-con { margin-top: 50px; gap: 16px; justify-content: center; width: 100%; }
.ng-hero-slider .ng-hero-actions .elementor-button { min-width: 144px; border-color: var(--ng-primary); }
.ng-hero-slider .ng-hero-stats.e-con { margin-top: 58px; gap: 20px; justify-content: center; }
.ng-hero-slider .ng-hero-stats > .e-con { width: 130px; }
.ng-hero-slider .elementor-widget-html { position: absolute !important; bottom: 30px; left: 50%; transform: translateX(-50%); width: auto !important; z-index: 5; }
.ng-slider-controls { display: flex; align-items: center; justify-content: center; gap: 12px; }
.ng-slider-dot { width: 16px; height: 16px; padding: 0; border: 2px solid var(--ng-muted); border-radius: 50%; background: transparent; cursor: pointer; }
.ng-slider-dot.is-active { border-color: var(--ng-primary); background: var(--ng-primary); box-shadow: inset 0 0 0 3px var(--ng-overlay); }
.ng-slider-pause { padding: 0; border: 0; background: transparent; color: var(--ng-on-primary); font-size: 16px; cursor: pointer; }
.ng-slider-progress { width: 190px; height: 3px; margin: 16px auto 0; background: color-mix(in srgb,var(--ng-on-primary) 25%,transparent); }
.ng-slider-progress span { display: block; height: 100%; width: 0; background: var(--ng-primary); }
.ng-slider-running .ng-slider-progress span { animation: ng-slide-progress 6.5s linear forwards; }
@keyframes ng-slide-progress { to { width: 100%; } }
.elementor-editor-active .ng-hero-slider { height: auto !important; }
.elementor-editor-active .ng-hero-slider .ng-hero-slide.e-con { position: relative; visibility: visible; opacity: 1; min-height: 560px; }
@media(min-width:1025px) { .ng-header-nav .ng-menu { display:flex; } .ng-header-nav .ng-burger { display:none; } }
@media(max-width:767px) {
 .ng-header-row { min-height: 60px; padding: 6px 16px; }
 .ng-header-row .ng-header-brand { width: auto !important; margin-right: auto; }
 .ng-header-row .ng-header-nav,.ng-header-row .ng-header-actions { width: auto !important; }
 .ng-header-brand .ng-logo { justify-content: flex-start; }
 .ng-header-brand .ng-logo img { width: 44px; height: 44px; max-height: 44px; }
 .ng-home-hero.ng-hero-slider.e-con { height: calc(100svh - 40px); min-height: 610px !important; max-height: 820px; }
 .ng-hero-slider .ng-hero-slide.e-con { padding: 100px 16px 78px !important; background-position: 60% center; }
 .ng-hero-slide > .elementor-widget-heading:first-child { margin-bottom: 34px; }
 .ng-hero-slide > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 11px; letter-spacing: 2px; }
 .ng-hero-slider .ng-hero-title .elementor-heading-title { font-size: 34px; line-height: 1.3; }
 .ng-hero-slider .ng-hero-actions.e-con { margin-top: 50px; flex-direction: column !important; gap: 16px; }
 .ng-hero-slider .ng-hero-stats.e-con { margin-top: 62px; gap: 8px; }
 .ng-hero-slider .ng-hero-stats > .e-con { width: 108px; }
 .ng-hero-slider .ng-hero-stats > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 24px; }
 .ng-hero-slider .ng-hero-stats > .e-con > .elementor-widget-heading:last-child .elementor-heading-title { font-size: 10px; }
}
@media(prefers-reduced-motion:reduce) { .ng-slider-progress span { animation:none; } }

.ng-home-hero.ng-hero-slider.e-con { margin-top: 40px !important; }

.ng-hero-slider .ng-hero-slide > .elementor-widget-heading:first-child .elementor-heading-title { color:var(--ng-on-primary); font-size:13px; letter-spacing:3px; }
.ng-hero-slider .ng-hero-actions .elementor-button { font-weight:700; letter-spacing:0; }
@media(max-width:767px) { .ng-hero-slider .ng-hero-slide.e-con { justify-content:flex-start; padding-top:130px !important; } .ng-hero-slider .ng-hero-slide > .elementor-widget-heading:first-child .elementor-heading-title { font-size:11px; letter-spacing:2px; } }

/* Live-site comparison: fixed header geometry and compact mobile first fold. */
.ng-header-row.e-con { --width:100%; width:100%; max-width:none; padding:8px 4% !important; min-height:100px; }
.ng-header-row.e-con > .e-con-inner { width:100%; max-width:none !important; }
.ng-header-row .ng-header-brand .ng-logo img { width:76px; height:76px; max-height:76px; }
.ng-header-row .ng-header-brand { flex-shrink:0; }
.ng-hero-slider .ng-hero-slide .ng-hero-actions .elementor-button { font-size:14px !important; letter-spacing:0 !important; font-weight:700 !important; border-radius:999px; min-width:144px; padding:10px 28px !important; }
.ng-hero-slider .ng-hero-slide .ng-hero-actions .elementor-button-text { letter-spacing:0 !important; }
.ng-hero-slider .ng-hero-slide .ng-hero-title .elementor-heading-title { font-size:60px; line-height:1.25; }
@media(min-width:768px) { .ng-hero-slider .ng-hero-slide.e-con { justify-content:flex-start; padding-top:105px !important; } .ng-hero-slider .ng-hero-slide > .elementor-widget-heading:first-child { margin-bottom:30px; } .ng-hero-slider .ng-hero-actions.e-con { margin-top:54px; } .ng-hero-slider .ng-hero-stats.e-con { margin-top:62px; } }
@media(max-width:767px) {
 .ng-header-row.e-con { min-height:56px; padding:6px 16px !important; }
 .ng-header-row .ng-header-brand .ng-logo img { width:40px; height:40px; max-height:40px; }
 .ng-home-hero.ng-hero-slider.e-con { height:calc(100svh - 40px); min-height:570px !important; max-height:680px; }
 .ng-hero-slider .ng-hero-slide.e-con { padding:94px 16px 74px !important; justify-content:flex-start; }
 .ng-hero-slider .ng-hero-slide > .elementor-widget-heading:first-child { margin-bottom:32px; }
 .ng-hero-slider .ng-hero-slide .ng-hero-title .elementor-heading-title { font-size:34px; line-height:1.3; }
 .ng-hero-slider .ng-hero-actions.e-con { margin-top:54px; gap:16px; }
 .ng-hero-slider .ng-hero-slide .ng-hero-actions .elementor-button { font-size:12px !important; padding:10px 24px !important; }
 .ng-hero-slider .ng-hero-stats.e-con { margin-top:60px; }
 .ng-hero-slider .elementor-widget-html { bottom:28px; }
}

/* Complete storefront matching, scoped to generated editable sections. */
.ng-home-section.e-con { --content-width:1536px; padding:48px 16px; }
.ng-home-section > .e-con-inner { max-width:1536px; width:100%; gap:0; }
.ng-home-section h2.elementor-heading-title { margin:0; font-size:48px; line-height:1.15; }
.ng-home-section > .e-con-inner > .elementor-widget-heading { margin-bottom:40px; }
.ng-favourites-grid.e-con { gap:24px !important; margin:0; }
.ng-favourites-grid > .e-con-inner { max-width:none; }
.ng-favourite.e-con { aspect-ratio:3/4; border-radius:8px; }
.ng-favourite-info.e-con { padding:40px 16px 16px !important; }
.ng-home-section .ng-view-more { margin-top:48px; }
.ng-home-section .ng-view-more .elementor-button { width:min(384px,100%); background:transparent; color:var(--ng-primary); border-color:var(--ng-primary); }
.ng-home-promo.e-con { min-height:0; aspect-ratio:5/1; padding:32px 16px; justify-content:center; }
.ng-home-promo h2.elementor-heading-title { font-size:40px; }
.ng-home-categories.e-con { --content-width:1280px; }
.ng-home-categories .elementor-widget-image img { width:112px; height:112px; object-fit:contain; border-radius:8px; }
.ng-journal-grid.e-con,.ng-journal-grid > .e-con-inner { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; width:100%; }
.ng-journal-card.e-con { width:100%; border:1px solid var(--ng-border); border-radius:8px; overflow:hidden; }
.ng-journal-card .elementor-widget-image img { width:100%; aspect-ratio:1; object-fit:cover; }
.ng-journal-card .elementor-widget-heading { padding:12px; }
.ng-journal-card h3.elementor-heading-title { font-size:14px; font-weight:500; line-height:1.5; }
.ng-review-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.ng-review-card { border:1px solid var(--ng-border); border-radius:8px; overflow:hidden; }
.ng-review-card img { width:100%; aspect-ratio:3/4; object-fit:cover; }
.ng-review-copy { padding:16px; }
.ng-review-copy h3 { font-size:16px; }
.ng-home-results .elementor-widget-image img { width:100%; }
.ng-home-consult.e-con { padding:64px 16px; }
.ng-home-consult .elementor-button { background:var(--ng-text); border-color:var(--ng-text); border-radius:6px; }
.ng-home-reviews:not(:has(.ng-review-card)) { display:none; }
.ng-header-row.e-con { --content-width:1280px; padding:20px 16px !important; min-height:96px; }
.ng-header-row.e-con > .e-con-inner { max-width:1280px !important; margin:auto; }
.ng-header-row .ng-header-brand .ng-logo img { width:56px; height:56px; max-height:56px; }
.ng-header-nav .ng-menu a { font-weight:400; letter-spacing:0; }
.ng-drawer__panel { left:auto; right:0; width:min(400px,85vw); transform:translateX(100%); padding:24px; }
.ng-drawer .ng-logo img { width:56px; height:56px; }
.ng-drawer .ng-mobile-menu a { font-size:16px; padding:16px 0; }
.ng-header--elementor .ng-drawer { color:var(--ng-text); }
@media(min-width:1280px) { .ng-header-nav .ng-menu { display:flex; } .ng-header-nav .ng-burger { display:none; } }
@media(max-width:1279px) {
 .ng-header-nav .ng-menu { display:none !important; } .ng-header-nav .ng-burger { display:inline-flex !important; }
 .ng-header-row.e-con > .e-con-inner { flex-direction:row; flex-wrap:nowrap; }
 .ng-header-row .ng-header-brand { order:0; width:auto !important; margin-right:auto; align-items:flex-start; }
 .ng-header-row .ng-header-actions { order:1; width:auto !important; }
 .ng-header-row .ng-header-nav { order:2; width:auto !important; }
 .ng-header-row .ng-header-brand .ng-logo { justify-content:flex-start; }
 .ng-home-section h2.elementor-heading-title { font-size:36px; }
 .ng-journal-grid.e-con,.ng-journal-grid > .e-con-inner { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .ng-header-row.e-con { min-height:48px; padding:0 16px !important; }
 .ng-header-row .ng-header-brand .ng-logo img { width:32px; height:32px; max-height:32px; }
 .ng-header-row .ng-icons { gap:4px; }
 .ng-header-row .ng-icons__btn,.ng-header-row .ng-burger { width:32px; height:32px; padding:8px; }
 .ng-header-row .ng-icon { width:16px; height:16px; }
 .ng-header-row .ng-header-actions .ng-icon-user { width:20px; height:20px; }
 .ng-home-section.e-con { padding:24px 16px; }
 .ng-home-section h2.elementor-heading-title { font-size:24px; line-height:1.25; }
 .ng-home-section > .e-con-inner > .elementor-widget-heading { margin-bottom:24px; }
 .ng-favourites-grid.e-con,.ng-favourites-grid > .e-con-inner { gap:8px !important; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ng-favourite-info.e-con { padding:28px 8px 8px !important; }
 .ng-favourite-info .elementor-heading-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; font-size:12px; }
 .ng-home-section .ng-view-more { margin-top:32px; }
 .ng-home-categories.e-con { padding:24px 16px; }
 .ng-home-categories .elementor-widget-image img { width:72px; height:72px; }
 .ng-home-categories h3.elementor-heading-title { font-size:12px; }
 .ng-home-promo.e-con { aspect-ratio:2.6/1; padding:16px; }
 .ng-home-promo h2.elementor-heading-title { font-size:22px; }
 .ng-home-promo .elementor-button { font-size:10px; padding:8px 16px; }
 .ng-journal-grid.e-con,.ng-journal-grid > .e-con-inner,.ng-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .ng-results-grid.e-con { flex-direction:column; gap:24px; }
 .ng-home-consult.e-con { padding:40px 16px; }
}

.ng-home-section.ng-home-consult .elementor-button { background:var(--ng-text) !important; color:var(--ng-on-primary) !important; border-color:var(--ng-text) !important; border-radius:6px !important; }
.ng-home-section .ng-view-more .elementor-button { width:384px !important; max-width:100%; }
.ng-footer--elementor,.ng-footer--elementor > .elementor > .e-con { background:var(--ng-soft) !important; color:var(--ng-text); }
.ng-footer--elementor .e-con { background-color:transparent; }
.ng-footer--elementor .elementor-widget-heading .elementor-heading-title,.ng-footer--elementor .elementor-widget-text-editor,.ng-footer--elementor .elementor-icon-list-text,.ng-footer--elementor .elementor-icon-list-item a { color:var(--ng-text) !important; }
.ng-footer--elementor .elementor-widget-heading .elementor-heading-title { text-transform:none; font-weight:600; letter-spacing:0; font-size:18px; }
.ng-footer--elementor .elementor-widget-text-editor { font-size:14px; line-height:1.8; }
.ng-footer--elementor .elementor-icon-list-text { font-size:14px; }
.ng-footer--elementor .ng-footer-logo img { width:100px; height:100px; object-fit:contain; border-radius:50%; }
.ng-footer--elementor .ng-payments { justify-content:flex-end; }
.ng-footer--elementor .ng-payments__item { background:var(--ng-bg); border:1px solid var(--ng-border); }
@media(max-width:767px) { .ng-footer--elementor .ng-payments { justify-content:center; } .ng-home-section .ng-view-more .elementor-button { width:100% !important; } }

.ng-footer--elementor .ng-social__link { color:var(--ng-primary); border-color:var(--ng-border); }
.ng-footer--elementor .elementor-widget-image.ng-footer-logo img { width:100px !important; height:100px !important; border-radius:50%; }
.ng-footer--elementor .elementor-widget-heading .elementor-heading-title { letter-spacing:0 !important; text-transform:none !important; }

/* v7: one authoritative first-fold layout, independent of generated post CSS. */
:root { --ng-header-surface: color-mix(in srgb,var(--ng-bg) 94%,transparent); --ng-hero-shade: linear-gradient(to bottom,color-mix(in srgb,var(--ng-overlay) 65%,transparent),color-mix(in srgb,var(--ng-overlay) 20%,transparent) 55%,transparent); }
.ng-transparent-header.ng-sticky-enabled #ng-header { position:fixed; inset:0 0 auto; background:transparent; }
.ng-transparent-header.ng-sticky-enabled #ng-header.is-stuck { top:0; background:var(--ng-header-surface); backdrop-filter:blur(12px); animation:none; }
#ng-header .ng-header-row.e-con { min-height:104px; padding:24px 16px !important; transition:background .3s; }
#ng-header.is-stuck .ng-header-row.e-con { background:var(--ng-header-surface); }
#ng-header .ng-header-row > .e-con-inner { max-width:1280px !important; }
#ng-header .ng-header-brand { position:absolute; left:50%; transform:translateX(-50%); width:auto !important; margin:0; }
#ng-header .ng-header-nav { margin-right:auto; }
#ng-header .ng-header-actions { margin-left:auto; }
#ng-header .ng-menu a { font-size:14px; font-weight:400; letter-spacing:0; }
#ng-header .ng-icons { gap:16px; }
#ng-header .ng-icons__btn { width:40px; height:40px; align-items:center; justify-content:center; }
.ng-home-hero.ng-hero-slider.e-con { height:calc(100svh - 40px); min-height:620px !important; max-height:none; margin-top:40px !important; }
.ng-home-hero.ng-hero-slider .ng-hero-slide.e-con { padding:100px 16px 112px !important; justify-content:center; gap:0; background-position:center !important; }
.ng-hero-slider .ng-hero-slide::before { background-image:var(--ng-hero-shade) !important; background-color:transparent !important; opacity:1 !important; }
.ng-home-hero.ng-hero-slider .ng-hero-slide > .elementor-widget-heading:first-child { margin-bottom:32px; }
.ng-home-hero.ng-hero-slider .ng-hero-title { width:100%; max-width:896px; }
.ng-home-hero.ng-hero-slider .ng-hero-slide .ng-hero-title .elementor-heading-title { font-size:60px; line-height:1.25; }
.ng-home-hero.ng-hero-slider .ng-hero-actions.e-con { margin-top:56px; gap:16px; max-width:none; }
.ng-home-hero.ng-hero-slider .ng-hero-stats.e-con { margin-top:64px; gap:32px; }
.ng-home-hero.ng-hero-slider .ng-hero-stats > .e-con { width:120px; }
.ng-home-hero.ng-hero-slider .ng-hero-stats > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size:24px; line-height:1.3; }
.ng-home-hero.ng-hero-slider .ng-hero-stats > .e-con > .elementor-widget-heading:last-child .elementor-heading-title { font-size:12px; line-height:1.4; font-weight:400; }
.ng-home-hero.ng-hero-slider .elementor-widget-html { bottom:32px; }
.ng-slider-controls { gap:16px; padding:12px 24px; border-radius:999px; background:color-mix(in srgb,var(--ng-overlay) 20%,transparent); }
.ng-slider-progress { margin-top:12px; height:4px; width:192px; border-radius:999px; overflow:hidden; }
.admin-bar.ng-sticky-enabled #ng-header,.admin-bar.ng-sticky-enabled #ng-header.is-stuck { top:32px; }
@media(max-width:1279px) {
 #ng-header .ng-header-brand { position:static; transform:none; order:0; margin-right:auto; }
 #ng-header .ng-header-actions { order:1; margin-left:0; }
 #ng-header .ng-header-nav { order:2; margin-right:0; margin-left:8px; }
 #ng-header .ng-icons { gap:8px; }
}
@media(max-width:782px) { .admin-bar.ng-sticky-enabled #ng-header,.admin-bar.ng-sticky-enabled #ng-header.is-stuck { top:46px; } }
@media(max-width:767px) {
 #ng-header .ng-header-row.e-con { min-height:48px; padding:0 16px !important; }
 #ng-header .ng-icons { gap:4px; }
 #ng-header .ng-icons__btn { width:32px; height:32px; }
 #ng-header .ng-header-nav { margin-left:4px; }
 .ng-home-hero.ng-hero-slider.e-con { height:calc(100svh - 40px); min-height:610px !important; max-height:none; }
 .ng-home-hero.ng-hero-slider .ng-hero-slide.e-con { padding:64px 16px 112px !important; justify-content:center; background-position:60% center !important; }
 .ng-home-hero.ng-hero-slider .ng-hero-slide .ng-hero-title .elementor-heading-title { font-size:36px; line-height:1.12; }
 .ng-home-hero.ng-hero-slider .ng-hero-actions.e-con { margin-top:56px; flex-direction:column !important; }
 .ng-home-hero.ng-hero-slider .ng-hero-stats.e-con { margin-top:64px; gap:24px; width:100%; }
 .ng-home-hero.ng-hero-slider .ng-hero-stats > .e-con { width:calc((100% - 48px)/3); }
 .ng-home-hero.ng-hero-slider .ng-hero-stats > .e-con > .elementor-widget-heading:last-child .elementor-heading-title { font-size:11px; }
}

.ng-drawer.is-open .ng-drawer__panel { transform:translateX(0); }
.ng-drawer { color:var(--ng-text); }
.ng-home-hero.ng-hero-slider .ng-hero-actions .elementor-widget-button:last-child .elementor-button { border-color:var(--ng-primary); }

/* v8: compact sticky header (full height only before scrolling). */
#ng-header .ng-header-row.e-con { transition:min-height .3s,padding .3s,background .3s; }
#ng-header .ng-header-brand .ng-logo img { transition:width .3s,height .3s; }
#ng-header.is-stuck { box-shadow:0 4px 16px -8px rgba(0,0,0,.18); border-bottom:1px solid #e5e7eb; animation:none !important; }
#ng-header.is-stuck .ng-header-row.e-con { min-height:64px; padding:8px 16px !important; border-bottom:0; }
#ng-header.is-stuck .ng-header-brand .ng-logo img { width:44px !important; height:44px !important; max-height:44px !important; }
@media(max-width:767px) {
 #ng-header .ng-header-row.e-con { min-height:52px; padding:6px 16px !important; }
 #ng-header.is-stuck .ng-header-row.e-con { min-height:52px; padding:6px 16px !important; }
 #ng-header .ng-header-brand .ng-logo img,#ng-header.is-stuck .ng-header-brand .ng-logo img { width:36px !important; height:36px !important; max-height:36px !important; }
}

/* v8: rounded Must-Have cards with reference shadow, overlay and bag button. */
.ng-favourite.e-con { border-radius:8px !important; overflow:hidden !important; box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); }
.ng-favourite.e-con img { border-radius:0; }
.ng-favourite-info.e-con { background:linear-gradient(to top,color-mix(in srgb,var(--ng-primary) 90%,transparent),color-mix(in srgb,var(--ng-primary) 80%,transparent) 50%,transparent) !important; padding-right:64px !important; }
.ng-favourite-info.e-con::after { content:""; position:absolute; right:16px; bottom:16px; width:40px; height:40px; border-radius:8px; background:rgba(249,115,22,.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center/20px no-repeat; backdrop-filter:blur(4px); transition:background-color .2s; pointer-events:none; }
.ng-favourite.e-con:hover .ng-favourite-info.e-con::after { background-color:#f97316; }
.ng-favourite-info .elementor-widget-text-editor,.ng-favourite-info .elementor-widget-text-editor * { color:#fff !important; text-decoration:none !important; font-size:12px; font-weight:700; }
.ng-favourite-info .elementor-widget-text-editor del { opacity:.75; font-weight:400; margin-right:4px; text-decoration:line-through !important; }
.ng-favourite-info .elementor-heading-title,.ng-favourite-info .elementor-heading-title a { text-shadow:2px 2px 4px rgba(0,0,0,.5); }
@media(max-width:767px) {
 .ng-favourite-info.e-con { padding:24px 44px 6px 6px !important; }
 .ng-favourite-info.e-con::after { right:6px; bottom:6px; width:32px; height:32px; background-size:14px; }
 .ng-favourite-info .elementor-widget-text-editor,.ng-favourite-info .elementor-widget-text-editor * { font-size:10px; }
}
#ng-header.is-stuck .ng-header-row > .e-con-inner { padding-top:0 !important; padding-bottom:0 !important; }
@media(max-width:767px) { #ng-header .ng-header-row > .e-con-inner { padding-top:0 !important; padding-bottom:0 !important; } }

/* v9: plugin account/cart icons sit inside the theme header like native icons on every page. */
#ng-header .ng-icons { display:flex; align-items:center; flex-wrap:nowrap; }
#ng-header .ng-icons__plugin { display:flex; align-items:center; }
#ng-header .wcbpa-acc-icon { display:inline-flex !important; align-items:center; justify-content:center; width:40px; height:40px; padding:0 !important; margin:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; color:inherit !important; gap:0 !important; }
#ng-header .wcbpa-acc-text { display:none !important; }
#ng-header .wcbpa-acc-guest,#ng-header .wcbpa-acc-icon .wcbpa-acc-avatar,#ng-header .wcbpa-acc-icon img { width:22px !important; height:22px !important; background:transparent !important; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; margin:0 !important; padding:0 !important; color:inherit !important; }
#ng-header .wcbpa-acc-guest .dashicons { font-size:22px; width:22px; height:22px; color:inherit; }
#ng-header .scc-cart-icon { position:relative; display:inline-flex !important; align-items:center; justify-content:center; width:40px; height:40px; color:inherit !important; background:transparent !important; }
#ng-header .scc-cart-icon svg { width:22px; height:22px; }
#ng-header .scc-icon-count { position:absolute; top:2px; right:0; min-width:18px; height:18px; line-height:18px; font-size:11px; padding:0 5px; border-radius:999px; background:var(--ng-primary); color:#fff; }
.ng-transparent-header #ng-header:not(.is-stuck) .wcbpa-acc-icon,.ng-transparent-header #ng-header:not(.is-stuck) .scc-cart-icon { color:#fff !important; }
@media(max-width:767px) {
 #ng-header .ng-icons { gap:2px !important; }
 #ng-header .wcbpa-acc-icon,#ng-header .scc-cart-icon,#ng-header .ng-icons__btn { width:34px !important; height:34px !important; }
 #ng-header .wcbpa-acc-guest,#ng-header .wcbpa-acc-guest .dashicons,#ng-header .scc-cart-icon svg { width:19px !important; height:19px !important; font-size:19px; }
}

/* v9: footer like the reference — deep green, white text, round white social icons. */
.ng-footer--elementor,.ng-footer--elementor > .elementor > .e-con { background:#166534 !important; color:#fff !important; }
.ng-footer--elementor .elementor-widget-heading .elementor-heading-title { color:#fff !important; font-size:18px; font-weight:700; }
.ng-footer--elementor .elementor-widget-text-editor,.ng-footer--elementor .elementor-widget-text-editor *,.ng-footer--elementor .elementor-icon-list-text,.ng-footer--elementor .elementor-icon-list-item a,.ng-footer--elementor a { color:rgba(255,255,255,.85) !important; font-size:14px; }
.ng-footer--elementor a:hover,.ng-footer--elementor .elementor-icon-list-item a:hover .elementor-icon-list-text { color:#fff !important; }
.ng-footer--elementor .elementor-icon-list-icon i,.ng-footer--elementor .elementor-icon-list-icon svg { color:#fff !important; fill:#fff !important; }
.ng-footer--elementor .elementor-widget-image.ng-footer-logo img { background:#fff; padding:6px; }
.ng-footer--elementor .e-con { border-color:rgba(255,255,255,.15) !important; }
.ng-social { display:flex; gap:12px; flex-wrap:wrap; }
.ng-social__link,.ng-footer--elementor .ng-social__link { width:40px; height:40px; border-radius:50%; background:#fff !important; border:1px solid rgba(255,255,255,.3) !important; display:inline-flex; align-items:center; justify-content:center; transition:background .2s,transform .2s; }
.ng-social__link:hover { transform:translateY(-2px); }
.ng-social__icon { width:20px; height:20px; display:block; }
.ng-footer--elementor .ng-payments__item { background:#fff !important; color:var(--ng-primary) !important; border:0 !important; }

/* v10: no blank strip above the header on inner pages (admin bar offset only applies while fixed). */
.admin-bar.ng-sticky-enabled:not(.ng-transparent-header) #ng-header:not(.is-stuck) { top:auto !important; }
body:not(.ng-transparent-header) #ng-page > #ng-header { margin-top:0 !important; }
body:not(.ng-transparent-header) #ng-header .ng-header-row.e-con { min-height:76px; padding:10px 16px !important; }
@media(max-width:767px){ body:not(.ng-transparent-header) #ng-header .ng-header-row.e-con { min-height:56px; padding:6px 16px !important; } }
.ng-header-spacer { transition:none; }

/* v11: homepage image cards — hover photo and working cart button. */
.ng-favourite .ng-favourite-alt { position:absolute !important; inset:0; width:100%; height:100%; opacity:0; transition:opacity .45s ease; z-index:1; }
.ng-favourite .ng-favourite-alt a { display:block; height:100%; }
.ng-favourite .ng-favourite-alt img { width:100%; height:100%; object-fit:cover; }
.ng-favourite:hover .ng-favourite-alt { opacity:1; }
.ng-favourite-info { z-index:2; pointer-events:none; }
.ng-favourite-info a { pointer-events:auto; }
.ng-favourite-info::after, .ng-favourite::after { content:none !important; }
.ng-favourite > .elementor-widget-shortcode { position:absolute !important; right:14px; bottom:14px; z-index:3; width:auto !important; margin:0 !important; }
.ng-card-cart { width:40px; height:40px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:var(--ng-accent,#a08a3c); color:#fff !important; transition:transform .2s, background .2s; }
.ng-card-cart:hover { background:#fff; color:var(--ng-primary) !important; transform:translateY(-2px); }
.ng-card-cart.loading { opacity:.6; pointer-events:none; }
.ng-favourite-info.e-con { padding-right:66px !important; }
@media (hover:none) { .ng-favourite .ng-favourite-alt { display:none; } }
@media (max-width:767px) { .ng-favourite > .elementor-widget-shortcode { right:8px; bottom:8px; } .ng-card-cart { width:34px; height:34px; } .ng-favourite-info.e-con { padding-right:48px !important; } }
/* v16: header account/cart icons identical to reference (Lucide, 20px, no labels) */
.ng-icons{gap:20px}
.ng-icons__plugin .wcbpa-acc-icon,.ng-icons__plugin .scc-cart-icon{position:relative;display:inline-flex !important;align-items:center;justify-content:center;width:24px;height:24px;padding:0 !important;margin:0 !important;background:none !important;border:0 !important;box-shadow:none !important;color:inherit !important;text-decoration:none}
.ng-icons__plugin .wcbpa-acc-text{display:none !important}
.ng-icons__plugin .wcbpa-acc-guest{display:inline-flex;width:auto;height:auto;background:none !important;border:0 !important;border-radius:0;padding:0;color:inherit}
.ng-icons__plugin .wcbpa-acc-icon img{width:24px;height:24px;border-radius:50%}
.ng-icons__plugin svg,.ng-icons__btn svg{width:20px !important;height:20px !important;stroke-width:2;fill:none;stroke:currentColor}
.ng-icons__plugin .scc-icon-count{position:absolute;top:-8px;right:-9px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--ng-primary,#007d43) !important;color:#fff !important;font-size:10px;font-weight:700;line-height:17px;text-align:center;border:0 !important}
@media(max-width:767px){.ng-icons{gap:16px}.ng-icons__plugin svg,.ng-icons__btn svg{width:18px !important;height:18px !important}}
/* v17: dynamic overlay product cards widget */
.ng-fc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ng-fc{position:relative;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:#f3f4f6;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.ng-fc__media{position:absolute;inset:0;display:block}
.ng-fc__img{position:absolute;inset:0;width:100%;height:100% !important;object-fit:cover;transition:opacity .45s ease,transform .6s ease}
.ng-fc__img--alt{opacity:0}
.ng-fc:hover .ng-fc__img--alt{opacity:1}
.ng-fc:hover .ng-fc__img{transform:scale(1.03)}
.ng-fc__info{--ng-fc-overlay:var(--ng-primary,#007d43);position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px 64px 16px 16px;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--ng-fc-overlay) 92%,transparent),color-mix(in srgb,var(--ng-fc-overlay) 75%,transparent) 55%,transparent)}
.ng-fc__title{margin:0 0 4px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;line-height:1.35;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.4)}
.ng-fc__title a{color:inherit !important;text-decoration:none;pointer-events:auto}
.ng-fc__price,.ng-fc__price *{color:#fff !important;font-size:12px;font-weight:700;text-decoration:none}
.ng-fc__price del{opacity:.75;font-weight:400;margin-right:4px;text-decoration:line-through !important}
.ng-fc__price ins{background:none}
.ng-fc .ng-card-cart{position:absolute !important;right:14px;bottom:14px;z-index:3;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(201,162,92,.9);color:#fff !important;transition:background .2s}
.ng-fc:hover .ng-card-cart{background:#c9a25c}
.ng-fc__badge{position:absolute;top:10px;left:10px;z-index:3;background:var(--ng-primary,#007d43);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}
@media(max-width:1024px){.ng-fc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:767px){.ng-fc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ng-fc__info{padding:24px 44px 8px 8px}.ng-fc__title{font-size:12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.ng-fc__price,.ng-fc__price *{font-size:10px}.ng-fc .ng-card-cart{right:6px;bottom:6px;width:32px;height:32px}.ng-fc .ng-card-cart svg{width:16px;height:16px}}
.elementor-widget-naturglow-product-cards{height:auto !important;max-height:none !important;width:100% !important;flex:0 0 auto !important;overflow:visible !important}
.elementor-widget-naturglow-products{height:auto !important;max-height:none !important;width:100% !important}
.ng-card-cart.added{background:var(--ng-primary,#007d43) !important;color:#fff !important}

/* ===== v19: reference search drawer, live results, mobile menu, floating chat ===== */
.ng-search-panel { position:fixed; inset:0; z-index:100000; background:rgba(0,0,0,0); padding:0; display:block; transition:background .25s; }
.ng-search-panel.is-open { background:rgba(0,0,0,.5); }
.ng-search-panel__inner { position:absolute; top:0; right:0; bottom:0; width:min(420px,85vw); max-width:none; background:#fff; border-radius:0; padding:0; box-shadow:-10px 0 40px rgba(0,0,0,.15); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .3s ease; }
.ng-search-panel.is-open .ng-search-panel__inner { transform:none; }
.ng-search-panel__head { position:relative; padding:28px 16px 16px; background:linear-gradient(135deg,#f0f9f4,#e6f4ec); border-bottom:1px solid #e5e7eb; }
.ng-search-panel__head h3 { margin:0 0 16px; font-size:20px; font-weight:700; color:var(--ng-primary); line-height:1.3; }
.ng-search-panel .ng-search-close { position:absolute; top:14px; right:12px; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:6px; color:var(--ng-text); background:none; border:0; opacity:.7; }
.ng-search-panel .ng-search-close:hover { opacity:1; background:rgba(0,0,0,.05); }
.ng-search-panel .ng-search-close .ng-icon { width:16px; height:16px; }
.ng-live-search { position:relative; display:flex !important; align-items:center; margin:0; }
.ng-live-search input[type="search"] { width:100%; height:48px; padding:0 44px 0 46px; border:2px solid var(--ng-primary); border-radius:12px; background:#fff; font-size:16px; color:var(--ng-text); box-shadow:0 1px 2px rgba(0,0,0,.05); outline:none; -webkit-appearance:none; appearance:none; }
.ng-live-search input[type="search"]:focus { box-shadow:0 0 0 3px rgba(0,125,67,.15); }
.ng-live-search input::-webkit-search-cancel-button { display:none; }
.ng-live-search__ico { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#6b7280; display:flex; pointer-events:none; }
.ng-live-search__ico .ng-icon { width:18px; height:18px; }
.ng-live-search__spin, .ng-sr__spin { width:16px; height:16px; border:2px solid rgba(0,125,67,.25); border-top-color:var(--ng-primary); border-radius:50%; animation:ngspin .7s linear infinite; }
.ng-live-search__spin { position:absolute; right:16px; top:50%; margin-top:-8px; display:none; }
.ng-live-search.is-loading .ng-live-search__spin { display:block; }
@keyframes ngspin { to { transform:rotate(360deg); } }
.ng-search-results { flex:1; overflow-y:auto; padding:8px 16px 24px; -webkit-overflow-scrolling:touch; }
.ng-sr__state { display:flex; align-items:center; gap:8px; font-weight:600; font-size:14px; padding:14px 0; }
.ng-sr__skel { display:grid; grid-template-columns:64px 1fr; grid-template-rows:auto auto; column-gap:16px; row-gap:8px; padding:12px; align-items:center; }
.ng-sr__skel span { grid-row:span 2; width:64px; height:64px; border-radius:10px; background:#e5e7eb; animation:ngpulse 1.2s ease-in-out infinite; }
.ng-sr__skel i { display:block; height:14px; border-radius:4px; background:#e5e7eb; animation:ngpulse 1.2s ease-in-out infinite; }
.ng-sr__skel i + i { width:60%; }
@keyframes ngpulse { 50% { opacity:.5; } }
.ng-sr__count { font-size:13px; color:#6b7280; padding:12px 0 6px; }
.ng-sr__list { list-style:none; margin:0; padding:0; }
.ng-sr__item { position:relative; display:flex; gap:14px; align-items:center; padding:10px; border-radius:12px; color:var(--ng-text); text-decoration:none; transition:background .2s; }
.ng-sr__item:hover, .ng-sr__item:focus-visible { background:rgba(0,125,67,.06); }
.ng-sr__item img { width:64px; height:64px; object-fit:cover; border-radius:10px; background:#f3f4f6; flex:0 0 64px; }
.ng-sr__info { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ng-sr__title { font-weight:600; font-size:15px; line-height:1.3; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.ng-sr__cat { font-size:12px; color:#6b7280; }
.ng-sr__price { font-size:14px; font-weight:700; color:var(--ng-primary); }
.ng-sr__price del { color:#9ca3af; font-weight:400; margin-right:4px; }
.ng-sr__price ins { text-decoration:none; }
.ng-sr__sale { position:absolute; top:8px; left:8px; background:#dc2626; color:#fff; font-size:10px; font-weight:700; padding:2px 6px; border-radius:4px; }
.ng-sr__all { display:block; margin-top:12px; text-align:center; padding:12px; border-radius:10px; background:var(--ng-primary); color:#fff !important; font-weight:600; text-decoration:none; }
.ng-sr__all:hover { background:var(--ng-secondary); }
.ng-sr__empty { text-align:center; padding:40px 12px; display:flex; flex-direction:column; gap:6px; color:#6b7280; font-size:14px; }
.ng-sr__empty strong { color:var(--ng-text); font-size:16px; }

/* Mobile menu (reference layout) */
.ng-drawer__panel { width:288px; max-width:85vw; padding:0 16px 24px; background:#fff; box-shadow:-10px 0 30px rgba(0,0,0,.15); }
.ng-drawer__close { position:absolute; top:14px; right:12px; float:none; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:6px; opacity:.7; color:var(--ng-text); }
.ng-drawer__close:hover { opacity:1; background:rgba(0,0,0,.05); }
.ng-drawer__close .ng-icon { width:16px; height:16px; }
.ng-drawer__brand { padding:24px 0 16px; display:flex; justify-content:center; border-bottom:1px solid #e5e7eb; }
.ng-drawer .ng-drawer__brand .ng-logo { justify-content:center; margin:0; }
.ng-drawer .ng-drawer__brand .ng-logo img { width:80px; height:80px; max-height:80px; object-fit:contain; }
.ng-drawer__section { padding:16px 0; border-bottom:1px solid #e5e7eb; }
.ng-drawer__title { margin:0 0 12px; padding:0 12px; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:#6b7280; }
.ng-drawer .ng-mobile-menu { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.ng-drawer .ng-mobile-menu li { border:0; }
.ng-drawer .ng-mobile-menu a { display:block; padding:12px 16px; font-size:16px; font-weight:500; text-transform:uppercase; letter-spacing:.08em; color:var(--ng-text); border-radius:8px; border:0; transition:background .2s,color .2s; }
.ng-drawer .ng-mobile-menu a:hover, .ng-drawer .ng-mobile-menu .current-menu-item > a { background:rgba(0,125,67,.05); color:var(--ng-primary); }
.ng-drawer .ng-mobile-menu .sub-menu { list-style:none; padding:0 0 0 12px; margin:0; }
.ng-drawer .ng-mobile-menu .sub-menu a { font-size:14px; text-transform:none; letter-spacing:0; padding:9px 16px; }
.ng-drawer__account { display:flex; flex-direction:column; gap:6px; }
.ng-drawer__acc { display:flex; align-items:center; gap:12px; padding:8px 12px; border-radius:8px; font-size:14px; font-weight:500; color:var(--ng-text); text-decoration:none; }
.ng-drawer__acc:hover { background:rgba(0,125,67,.05); color:var(--ng-primary); }
.ng-drawer__acc-ico { width:32px; height:32px; border-radius:6px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,rgba(0,125,67,.1),rgba(0,125,67,.2)); color:var(--ng-primary); }
.ng-drawer__acc-ico .ng-icon { width:16px; height:16px; }
.ng-drawer__help { margin-top:16px; padding:16px; border-radius:12px; background:linear-gradient(135deg,rgba(0,125,67,.05),rgba(0,125,67,.1)); border:1px solid rgba(0,125,67,.2); text-align:center; }
.ng-drawer__help-ico { display:inline-flex; width:40px; height:40px; border-radius:50%; align-items:center; justify-content:center; background:var(--ng-primary); color:#fff; margin-bottom:8px; }
.ng-drawer__help strong { display:block; font-size:15px; }
.ng-drawer__help p { margin:4px 0 12px; font-size:13px; color:#6b7280; }
.ng-drawer__help-btn { display:block; padding:10px; border-radius:8px; background:var(--ng-primary); color:#fff !important; font-weight:600; font-size:14px; text-decoration:none; }
.ng-drawer__help-btn:hover { background:var(--ng-secondary); }

/* Floating chat (reference) */
.ng-chat { position:fixed; right:24px; bottom:24px; z-index:9991; display:flex; flex-direction:column; align-items:center; gap:12px; transition:bottom .3s; }
body.ng-has-sticky-buy .ng-chat { bottom:96px; }
@media (max-width:767px) { .ng-chat { right:20px; bottom:80px; } body.ng-has-sticky-buy .ng-chat { bottom:96px; } }
.ng-chat__list { display:flex; flex-direction:column; gap:12px; transform-origin:bottom; transition:opacity .3s, transform .3s; }
.ng-chat[data-open="false"] .ng-chat__list { opacity:0; transform:scale(.6) translateY(16px); pointer-events:none; visibility:hidden; }
.ng-chat__btn, .ng-chat__toggle { position:relative; width:56px; height:56px; border-radius:50%; border:0; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 15px -3px rgba(0,0,0,.2),0 4px 6px -4px rgba(0,0,0,.2); cursor:pointer; transition:transform .3s, background .3s, box-shadow .3s; text-decoration:none; }
.ng-chat__btn:hover, .ng-chat__toggle:hover { transform:scale(1.1); box-shadow:0 20px 25px -5px rgba(0,0,0,.25); }
.ng-chat__btn--call { background:#3b82f6; } .ng-chat__btn--call:hover { background:#2563eb; }
.ng-chat__btn--wa { background:#22c55e; } .ng-chat__btn--wa:hover { background:#16a34a; }
.ng-chat__btn--ms { background:#0084ff; }
.ng-chat__ping { position:absolute; inset:0; border-radius:50%; background:inherit; opacity:.2; animation:ngping 1.6s cubic-bezier(0,0,.2,1) infinite; }
@keyframes ngping { 75%,100% { transform:scale(1.6); opacity:0; } }
.ng-chat__dot { position:absolute; top:-4px; right:-4px; width:16px; height:16px; border-radius:50%; background:#4ade80; border:2px solid #fff; animation:ngpulse 2s ease-in-out infinite; }
.ng-chat__toggle { background:var(--ng-chat-color, var(--ng-primary)); }
.ng-chat.ng-chat--left { right:auto; left:24px; }
@media (max-width:767px) { .ng-chat.ng-chat--left { left:20px; } }
.ng-chat--left .ng-chat__tip { left:calc(100% + 12px); right:auto; }
.ng-chat__toggle .ng-chat__x { display:none; }
.ng-chat[data-open="true"] .ng-chat__toggle { background:#ef4444; }
.ng-chat[data-open="true"] .ng-chat__toggle:hover { background:#dc2626; }
.ng-chat[data-open="true"] .ng-chat__open, .ng-chat[data-open="true"] .ng-chat__badge { display:none; }
.ng-chat[data-open="true"] .ng-chat__x { display:block; }
.ng-chat__badge { position:absolute; top:-2px; right:-2px; width:14px; height:14px; border-radius:50%; background:var(--ng-accent); border:2px solid #fff; }
.ng-chat__tip { position:absolute; right:100%; margin-right:12px; top:50%; transform:translateY(-50%); background:#111827; color:#fff; font-size:13px; padding:7px 12px; border-radius:8px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s; }
.ng-chat__btn:hover .ng-chat__tip, .ng-chat__btn:focus-visible .ng-chat__tip { opacity:1; }
@media (prefers-reduced-motion:reduce) { .ng-chat__ping, .ng-chat__dot, .ng-sr__skel span, .ng-sr__skel i { animation:none; } }
.ng-drawer { z-index:100000; }
/* v25: review grid / slider with editable columns */
.ng-review-grid{grid-template-columns:repeat(var(--ngr-c,4),minmax(0,1fr)) !important;gap:var(--ngr-gap,20px) !important}
.ng-review-card{background:#fff;display:flex;flex-direction:column}
.ng-review-stars{color:#f5b301;margin-bottom:6px;line-height:1}
.ng-review-copy>a{color:var(--ng-primary,#007d43);font-weight:600;font-size:14px}
.ng-review-grid--slider{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.ng-review-grid--slider::-webkit-scrollbar{display:none}
.ng-review-grid--slider>.ng-review-card{flex:0 0 calc((100% - (var(--ngr-c) - 1)*var(--ngr-gap))/var(--ngr-c));scroll-snap-align:start}
.ngr-wrap{position:relative}
.ngr-nav{position:absolute;top:40%;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;color:var(--ng-primary,#007d43);font-size:22px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center}
.ngr-nav--prev{left:-12px}.ngr-nav--next{right:-12px}
.ngr-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.ngr-dots button{width:8px;height:8px;border-radius:8px;border:0;padding:0;background:#d1d5db;cursor:pointer;transition:width .3s}
.ngr-dots button.is-active{width:22px;background:var(--ng-primary,#007d43)}
@media(max-width:1024px){.ng-review-grid{grid-template-columns:repeat(var(--ngr-ct,2),minmax(0,1fr)) !important}.ng-review-grid--slider>.ng-review-card{flex-basis:calc((100% - (var(--ngr-ct) - 1)*var(--ngr-gap))/var(--ngr-ct))}}
@media(max-width:640px){.ng-review-grid{grid-template-columns:repeat(var(--ngr-cm,1),minmax(0,1fr)) !important}.ng-review-grid--slider>.ng-review-card{flex-basis:calc((100% - (var(--ngr-cm) - 1)*var(--ngr-gap))/var(--ngr-cm))}.ngr-nav{width:34px;height:34px}.ngr-nav--prev{left:-4px}.ngr-nav--next{right:-4px}}

.ng-fbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; width: 100%; }
.ng-fbar__copy, .ng-copyright { margin: 0; color: rgba(255,255,255,.75); font-size: .88rem; }
.ng-fbar__copy .ng-developed__link, .ng-copyright .ng-developed__link { margin-left: 4px; }
@media (max-width: 560px) { .ng-fbar { justify-content: center; text-align: center; } }
