/*Give box shadow to category and product thumbnails*/
 .product .wp-post-image, .woocommerce-product-gallery__image, .product-category img {
     box-shadow:10px 10px 50px rgba(67, 67, 67,0.25) !important;
}
 #gMap 
/*Give box shadow and grayscale to Google Map*/
 {
     filter: grayscale(100%) brightness(101%) contrast(120%);
     box-shadow:1.25rem 1.375rem 4.75rem 0rem rgba(0,0,0,0.22);
}
/*WooCommerce Page Heading style (Not for Desktop)*/
 .woocommerce-products-header h1 {
     font-size: 3em !important;
     line-height:1.4em;
     margin-bottom:20px;
     color: #000c30;
}

/* === GREEN382 GALLERY POLISH START === */
/* Consistent, refined look for every Elementor gallery across the site */
.elementor-widget-gallery .e-gallery-item,
.elementor-widget-gallery .elementor-gallery-item{
  border-radius:7px;overflow:hidden;
  box-shadow:0 4px 13px rgba(0,0,0,.10);
  transition:transform .22s ease, box-shadow .22s ease;
}
.elementor-widget-gallery .e-gallery-item:hover,
.elementor-widget-gallery .elementor-gallery-item:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(0,0,0,.17);
}
/* keep faces in frame on cropped gallery thumbnails */
.elementor-widget-gallery .e-gallery-image,
.elementor-widget-gallery .elementor-gallery-item__image{
  background-position:center top !important;
}
/* breathing room between gallery images */
.elementor-widget-gallery .elementor-gallery__container{
  gap:18px !important;
  grid-gap:18px !important;
}
/* === GREEN382 GALLERY POLISH END === */

/* === GREEN382 SUBPAGE POLISH START === */
/* (gallery columns + spacing handled via Elementor settings, not CSS, so the
    justified layout keeps computing correct widths) */
/* Nicer page title on gallery / favorite subpages (Astra default template) */
.ast-article-single .entry-title,
.single .entry-title,
.page .entry-title{
  font-size:36px !important;
  font-weight:600 !important;
  text-align:center !important;
  margin:6px auto 34px !important;
  padding-top:20px !important;
  line-height:1.2 !important;
}
/* More breathing room so content isn't cramped */
.ast-article-single,
.single-post .ast-article-single,
.ast-container .ast-article-single{ padding-top:18px !important; padding-bottom:40px !important; }
.ast-article-single .entry-content{ margin-top:0 !important; }
/* Content pages: keep galleries as wide as the rest, with side padding, never edge-to-edge */
.elementor-widget-gallery{max-width:1240px !important;margin-left:auto !important;margin-right:auto !important;padding-left:24px;padding-right:24px;box-sizing:border-box}
/* No white strip below the dark footer */
html{background-color:#0f1b2d}
/* Responsive content images on every subpage (favorites, galleries): never overflow */
.entry-content img,.ast-article-single img,.entry-content .elementor-widget-image img,.entry-content table{max-width:100% !important;height:auto}
.entry-content .elementor-widget-image{max-width:100%}
.entry-content{overflow-wrap:break-word}
/* keep subpage content within a comfortable width + side padding on small screens */
@media(max-width:600px){.ast-container{padding-left:16px !important;padding-right:16px !important}}
/* === GREEN382 SUBPAGE POLISH END === */

/* g382 gallery align */
.elementor-widget-gallery{padding-left:0 !important;padding-right:0 !important;}

/* g382 gallery touch overlay */
@media (hover: none){.e-gallery-item:hover .elementor-gallery-item__overlay,.e-gallery-item:focus .elementor-gallery-item__overlay{background-color:transparent !important;}}

/* g382 home styles */
.g382H{--acc:#4a9d80;--ink:#141414;--soft:#5a5a5a;font-size:17px;color:var(--ink)}
.g382H .band{width:100vw;margin-left:calc(50% - 50vw);padding:66px 0}
.g382H .band.white{background:#fff}
.g382H .band.tint{background:#eef4ee}
.g382H .wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.g382H .btn{display:inline-block;background:var(--acc);color:#fff;text-decoration:none;font-size:18px;font-weight:500;padding:15px 38px;border-radius:8px;box-shadow:0 6px 18px rgba(74,157,128,.28);transition:transform .15s,box-shadow .15s}
.g382H .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(74,157,128,.34)}
.g382H .kicker{text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--acc);font-weight:600;margin:0 0 10px}
.g382H h2{font-size:32px;font-weight:600;margin:0 0 10px}
.g382H .center{text-align:center}
.g382H .lead{color:var(--soft);font-size:18px;line-height:1.6;max-width:720px;margin:0 auto 34px}
.g382H .hero .row{display:flex;gap:36px;align-items:center;flex-wrap:wrap}
.g382H .hero .pic{flex:1 1 420px;min-width:300px;display:flex;justify-content:flex-end}
.g382H .hero .pic img{width:auto;height:auto;max-width:100%;max-height:60vh;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.22);display:block}
.g382H .hero .txt{flex:1 1 380px;min-width:300px}
.g382H .hero h1{font-size:46px;line-height:1.1;margin:0 0 18px;font-weight:600}
.g382H .hero p{font-size:20px;line-height:1.6;color:#333;margin:0 0 30px;max-width:520px}
.g382H .cats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}
.g382H .cat{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 8px 22px rgba(0,0,0,.14);text-decoration:none}
.g382H .cat img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .28s}
.g382H .cat:hover img{transform:scale(1.06)}
.g382H .cat .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-size:19px;font-weight:600;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0))}
.g382H .bcards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:30px 0 0;text-align:left}
.g382H .bcard{display:flex;gap:24px;align-items:center;background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 8px 20px rgba(0,0,0,.07);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.g382H a.bcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.13)}
.g382H a.bcard:hover h3{color:var(--acc)}
.g382H .bcard .bimg{flex:0 0 150px;width:150px;height:150px;border-radius:10px;overflow:hidden;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.g382H .bcard .bimg img{width:100%;height:100%;object-fit:cover;display:block}
.g382H .bcard .btxt{flex:1;min-width:0}
.g382H .bcard h3{font-size:19px;margin:0 0 7px;color:var(--ink)}
.g382H .bcard p{margin:0;color:#555;line-height:1.5;font-size:15px}
.g382H .bcard .bmore{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--acc);font-weight:600;font-size:14px;transition:gap .15s}
.g382H a.bcard:hover .bmore{gap:11px}
.g382H .masonry{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:26px}
.g382H .masonry a{display:block;height:280px;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,.12);cursor:zoom-in}
.g382H .masonry img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .25s}
.g382H .masonry a:hover img{transform:scale(1.05)}
.g382H .mission{max-width:820px;margin:0 auto;text-align:center;font-size:20px;line-height:1.7;color:#2b2b2b}
.g382H .mission .note{display:block;margin-top:20px;font-size:16px;color:#777}
.g382H .org{max-width:820px;margin:0 auto;text-align:center;font-size:17px;line-height:1.75;color:#3a3a3a}
.g382H .org a{color:var(--acc);text-decoration:none;border-bottom:1px solid rgba(74,157,128,.4)}
#g382-lb{position:fixed;inset:0;z-index:2147482000;background:rgba(12,12,14,.94);display:none;align-items:center;justify-content:center;padding:40px}
#g382-lb.open{display:flex}
#g382-lb img{max-width:88vw;max-height:86vh;border-radius:4px;box-shadow:0 24px 70px rgba(0,0,0,.6);user-select:none}
#g382-lb .lb-close{position:absolute;top:18px;right:26px;color:#fff;font-size:36px;line-height:1;cursor:pointer;opacity:.75;transition:opacity .15s}
#g382-lb .lb-close:hover{opacity:1}
#g382-lb .lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:52px;line-height:1;cursor:pointer;padding:8px 20px;opacity:.65;user-select:none;transition:opacity .15s}
#g382-lb .lb-nav:hover{opacity:1}
#g382-lb .lb-prev{left:8px}
#g382-lb .lb-next{right:8px}
@media(max-width:1024px){.g382H .cats{grid-template-columns:repeat(2,1fr)}.g382H .masonry{grid-template-columns:repeat(3,1fr)}.g382H .bcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g382H .cats,.g382H .bcards{grid-template-columns:1fr}.g382H .masonry{grid-template-columns:repeat(2,1fr)}.g382H .masonry a{height:220px}.g382H .masonry a:last-child{display:none}.g382H .hero h1{font-size:34px}.g382H .band{padding:44px 0}.g382H .hero .wrap{padding:0 16px}.g382H .hero .row{gap:22px}.g382H .hero .pic{justify-content:center}.g382H .hero .pic img{max-width:100%;max-height:none;border-radius:12px}.g382H .hero .txt{padding:0}}









/* g382 native home */

/* resets so only these rules decide the look */
.elementor-590 .elementor-widget-container{margin:0}
.elementor-590 .g382-kicker .elementor-heading-title,
.elementor-590 .g382-h2 .elementor-heading-title,
.elementor-590 .g382-h1 .elementor-heading-title,
.elementor-590 .g382-btitle .elementor-heading-title,
.elementor-590 .g382-cap .elementor-heading-title,
.elementor-590 .g382-bmore .elementor-heading-title{margin:0;padding:0}

/* full-width bands: drop the theme container padding on this page instead of using 100vw
   (100vw includes the scrollbar and caused a horizontal scrollbar / white strip) */
.page-id-590 .ast-container{padding-left:0!important;padding-right:0!important;max-width:100%!important}
.elementor-element-g382heroband,.elementor-element-g382catband,.elementor-element-g382benband,
.elementor-element-g382samband,.elementor-element-g382misband{width:100%!important;max-width:100%!important;margin-left:0!important}

/* wraps: max-width 1240 + 0 24px padding, exactly like the original .wrap */
.elementor-element-g382herorow,.elementor-element-g382catwrap,.elementor-element-g382benwrap,
.elementor-element-g382samwrap,.elementor-element-g382miswrap{max-width:1240px!important;width:100%;margin-left:auto!important;margin-right:auto!important;padding-left:24px!important;padding-right:24px!important}

/* section wraps are centered like the original .wrap.center */
.elementor-element-g382catwrap,.elementor-element-g382benwrap,
.elementor-element-g382samwrap,.elementor-element-g382miswrap{text-align:center}

/* kicker / h2 / lead */
.elementor-590 .g382-kicker{margin:0 0 10px!important;max-width:none!important;width:100%}
.elementor-590 .g382-kicker .elementor-heading-title{text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#4a9d80;font-weight:600;line-height:1.3}
.elementor-590 .g382-h2{margin:0 0 10px!important;max-width:none!important;width:100%}
.elementor-590 .g382-h2 .elementor-heading-title{font-size:32px;font-weight:600;color:#141414;line-height:1.2}
.elementor-590 .g382-lead{max-width:720px!important;margin:0 auto 34px!important;width:100%}
.elementor-590 .g382-lead p{color:#5a5a5a;font-size:18px;line-height:1.6;margin:0}

/* buttons */
.elementor-590 .g382-btn .elementor-button{background:#4a9d80;color:#fff;font-size:18px;font-weight:500;padding:15px 38px;border-radius:8px;box-shadow:0 6px 18px rgba(74,157,128,.28);transition:transform .15s,box-shadow .15s;fill:#fff}
.elementor-590 .g382-btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(74,157,128,.34);color:#fff}

/* ---------- HERO ---------- */
.elementor-element-g382herorow,.elementor-element-g382herorow > .e-con-inner{--gap:36px!important;gap:36px!important;align-items:center;flex-wrap:wrap}
.elementor-element-g382heropic{flex:1 1 420px!important;min-width:300px;display:flex;justify-content:flex-end}
.elementor-element-g382heropic .elementor-widget-image{width:100%;display:flex;justify-content:flex-end}
.elementor-element-g382herotxt{flex:1 1 380px!important;min-width:300px}
.elementor-590 .g382-hero-img img{width:auto;height:auto;max-width:100%;max-height:60vh;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.22);display:block}
.elementor-590 .g382-h1{margin:0 0 18px!important;max-width:none!important;width:100%}
.elementor-590 .g382-h1 .elementor-heading-title{font-size:46px;line-height:1.1;font-weight:600;color:#141414}
.elementor-590 .g382-heropara{margin:0 0 30px!important;max-width:520px!important}
.elementor-590 .g382-heropara p{font-size:20px;line-height:1.6;color:#333;margin:0}

/* ---------- CATEGORIES ---------- */
.elementor-element-g382catgrid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px!important;--gap:22px!important;margin-top:30px!important;width:100%;max-width:none!important}
.elementor-element-g382catgrid > .e-con{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 8px 22px rgba(0,0,0,.14);text-decoration:none!important;display:block;cursor:pointer}
.elementor-element-g382catgrid > .e-con > .e-con-inner{display:block;height:100%;padding:0}
.elementor-element-g382catgrid .elementor-widget-image,
.elementor-element-g382catgrid .elementor-widget-image .elementor-widget-container,
.elementor-element-g382catgrid .elementor-widget-image img{height:100%!important;width:100%!important;margin:0;display:block}
.elementor-element-g382catgrid .elementor-widget-image img{object-fit:cover;object-position:center top;transition:transform .28s}
.elementor-element-g382catgrid > .e-con:hover .elementor-widget-image img{transform:scale(1.06)}
.elementor-590 .g382-cap{position:absolute!important;left:0;right:0;bottom:0;width:100%;margin:0!important;padding:34px 16px 14px!important;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0));z-index:2;text-align:left}
.elementor-590 .g382-cap .elementor-heading-title{color:#fff;font-size:19px;font-weight:600;line-height:1.3}

/* ---------- BENEFITS ---------- */
.elementor-element-g382bengrid{display:grid!important;grid-template-columns:repeat(2,1fr);gap:24px!important;--gap:24px!important;margin:30px 0 0!important;width:100%;max-width:none!important;text-align:left}
.elementor-element-g382bengrid > .e-con{background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 8px 20px rgba(0,0,0,.07);transition:transform .15s,box-shadow .15s;text-decoration:none!important;color:inherit;cursor:pointer}
.elementor-element-g382bengrid > .e-con{display:flex!important;flex-direction:row!important;align-items:center!important;gap:24px!important;--gap:24px!important;flex-wrap:nowrap!important}
.elementor-element-g382bengrid > .e-con:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.13)}
.elementor-element-g382bengrid > .e-con:hover .g382-btitle .elementor-heading-title{color:#4a9d80}
.elementor-590 .g382-bimg{flex:0 0 150px!important;width:150px!important;max-width:150px!important;margin:0!important}
.elementor-590 .g382-bimg img{width:150px;height:150px;object-fit:cover;border-radius:10px;box-shadow:0 5px 14px rgba(0,0,0,.16);display:block}
.elementor-element-g382bengrid > .e-con > .e-con{flex:1 1 0%!important;min-width:0!important;width:auto!important;padding:0}
.elementor-590 .g382-btitle{margin:0 0 7px!important;max-width:none!important}
.elementor-590 .g382-btitle .elementor-heading-title{font-size:19px;color:#141414;font-weight:600;line-height:1.3;transition:color .15s}
.elementor-590 .g382-bp{margin:0!important;max-width:none!important}
.elementor-590 .g382-bp p{margin:0;color:#555;line-height:1.5;font-size:15px}
.elementor-590 .g382-bmore{margin:12px 0 0!important;max-width:none!important}
.elementor-590 .g382-bmore .elementor-heading-title{color:#4a9d80;font-weight:600;font-size:14px;line-height:1.3}

/* ---------- SAMPLES GALLERY ---------- */
.elementor-element-g382gal{margin-top:26px!important;max-width:none!important;width:100%}
.elementor-element-g382gal .e-gallery-item{border-radius:10px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,.12);cursor:zoom-in;padding-bottom:0!important;height:280px!important}
.elementor-element-g382gal .e-gallery-image{height:100%!important;width:100%!important;background-position:center top!important;background-size:cover!important;transition:transform .25s}
.elementor-element-g382gal .e-gallery-item:hover .e-gallery-image{transform:scale(1.05)}
.elementor-element-g382gal .elementor-gallery-item__overlay{display:none!important}
.elementor-element-g382samwrap .elementor-widget-button{margin-top:26px!important}

/* ---------- MISSION ---------- */
.elementor-590 .g382-mission{max-width:820px!important;margin:0 auto!important;width:100%}
.elementor-590 .g382-mission p{font-size:20px;line-height:1.7;color:#2b2b2b;margin:0}
.elementor-590 .g382-mission p + p{margin-top:20px}

/* ---------- RESPONSIVE (original breakpoints) ---------- */
@media(min-width:1025px){.elementor-element-g382gal .e-gallery-container{--columns:5!important}}
@media(min-width:641px) and (max-width:1024px){
  .elementor-element-g382catgrid{grid-template-columns:repeat(2,1fr)}
  .elementor-element-g382gal .e-gallery-container{--columns:3!important}
}
@media(max-width:640px){
  .elementor-element-g382catgrid,.elementor-element-g382bengrid{grid-template-columns:1fr}
  .elementor-element-g382gal .e-gallery-container{--columns:2!important}
  .elementor-element-g382gal .e-gallery-item{height:220px!important}
  .elementor-element-g382gal .e-gallery-item:last-child{display:none}
  .elementor-590 .g382-h1 .elementor-heading-title{font-size:34px}
  .elementor-element-g382heroband,.elementor-element-g382catband,.elementor-element-g382benband,
  .elementor-element-g382samband,.elementor-element-g382misband{padding-top:44px!important;padding-bottom:44px!important}
  .elementor-element-g382herorow{padding-left:16px!important;padding-right:16px!important}
  .elementor-element-g382herorow,.elementor-element-g382herorow > .e-con-inner{--gap:22px!important;gap:22px!important}
  .elementor-element-g382heropic{justify-content:center}
  .elementor-element-g382heropic .elementor-widget-image{justify-content:center}
  .elementor-590 .g382-hero-img img{max-width:100%;max-height:none;border-radius:12px}
}


/* g382 images page */

.elementor-element-gniintro{text-align:center}
.gni-kick{margin:6px 0 10px!important;max-width:none!important;width:100%}
.gni-kick .elementor-heading-title{text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#4a9d80;font-weight:600;line-height:1.3}
.gni-title{margin:0 0 34px!important;max-width:none!important;width:100%}
.gni-title .elementor-heading-title{font-size:34px;font-weight:600;color:#141414;line-height:1.15}

.elementor-element-gnigrid{max-width:1240px!important;margin:0 auto!important;padding:14px 20px 10px!important;width:100%}
.elementor-element-gnigrid > .e-con-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:54px 60px!important;--gap:54px 60px!important;width:100%}
[class*="elementor-element-gniblk"]{display:flex!important;flex-direction:row!important;--gap:28px!important;gap:28px!important;align-items:flex-start!important;min-width:0}

/* image box: stacked images that cross-fade on hover (was a JS rotator) */
[class*="elementor-element-gnibox"]{flex:0 0 280px!important;position:relative;width:280px!important;height:280px;border-radius:9px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.14);display:block!important}
[class*="elementor-element-gnibox"] .elementor-widget-image{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;margin:0}
[class*="elementor-element-gnibox"] .elementor-widget-image:first-child{opacity:1}
[class*="elementor-element-gnibox"] .elementor-widget-container,[class*="elementor-element-gnibox"] figure{height:100%;margin:0}
[class*="elementor-element-gnibox"] img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
[class*="elementor-element-gnibox"]:hover .elementor-widget-image{animation-iteration-count:infinite;animation-timing-function:linear}
[class*="elementor-element-gnibox"]:hover .elementor-widget-image:nth-child(2){animation-delay:1.6s}
[class*="elementor-element-gnibox"]:hover .elementor-widget-image:nth-child(3){animation-delay:3.2s}
[class*="elementor-element-gnibox"]:hover .elementor-widget-image:nth-child(4){animation-delay:4.8s}
[class*="elementor-element-gnibox"]:hover .elementor-widget-image:nth-child(5){animation-delay:6.4s}
[class*="gnibox"][class*="n2"]:hover .elementor-widget-image{animation-name:gniN2;animation-duration:3.2s}
[class*="gnibox"][class*="n3"]:hover .elementor-widget-image{animation-name:gniN3;animation-duration:4.8s}
[class*="gnibox"][class*="n4"]:hover .elementor-widget-image{animation-name:gniN4;animation-duration:6.4s}
[class*="gnibox"][class*="n5"]:hover .elementor-widget-image{animation-name:gniN5;animation-duration:8s}
@keyframes gniN2{0%,44%{opacity:1}50%,100%{opacity:0}}
@keyframes gniN3{0%,28%{opacity:1}33.3%,100%{opacity:0}}
@keyframes gniN4{0%,21%{opacity:1}25%,100%{opacity:0}}
@keyframes gniN5{0%,16%{opacity:1}20%,100%{opacity:0}}

/* category body */
[class*="elementor-element-gnibody"]{min-width:0;flex:1 1 auto!important}
.gni-h3{margin:4px 0 14px!important;max-width:none!important;width:100%}
.gni-h3 .elementor-heading-title{font-size:25px;font-weight:600;color:#0f0f0f;line-height:1.2}
.gni-links{margin:0!important;max-width:none!important;width:100%}
.gni-links ul,.gni-links ul.gni-list{list-style:none!important;margin:0!important;padding:0!important}
.gni-links li{margin:0 0 10px!important}
.gni-links a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#2c6e59;font-size:17px;font-weight:500;border-bottom:1px solid rgba(63,157,128,.35);padding-bottom:2px;transition:color .15s,border-color .15s}
.gni-links a::before{content:"\203A";color:#4a9d80;font-size:19px;line-height:1;transition:transform .15s}
.gni-links a:hover{color:#0f0f0f;border-bottom-color:#3f9d80}
.gni-links a:hover::before{transform:translateX(3px)}

@media(max-width:1180px){
  .elementor-element-gnigrid > .e-con-inner{grid-template-columns:1fr;gap:40px 0!important;--gap:40px 0!important}
}
@media(max-width:600px){
  [class*="elementor-element-gniblk"]{flex-direction:column!important;--gap:16px!important;gap:16px!important}
  [class*="elementor-element-gnibox"]{flex:0 0 auto!important;width:100%!important;height:auto;aspect-ratio:1/1}
}


/* g382 favorites page */

.elementor-element-gnfhead{max-width:820px!important;text-align:center;margin:6px auto 34px!important;padding:0 20px!important}
.elementor-element-gnfwrap{max-width:1120px!important;margin:0 auto 46px!important;padding:0 24px!important;width:100%}
.elementor-element-gnfgrid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:30px 26px!important;--gap:30px 26px!important;width:100%}
.elementor-element-gnfgrid > .e-con{display:block!important;text-decoration:none!important;color:#1a1a1a;cursor:pointer}
.gnf-thumb{margin:0!important;max-width:none!important;display:block;height:250px;overflow:hidden;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.10)}
.gnf-thumb .elementor-widget-container,.gnf-thumb figure{height:100%}
.gnf-thumb img{width:100%;height:250px;object-fit:cover;object-position:center top;display:block;transition:transform .3s ease}
.elementor-element-gnfgrid > .e-con:hover .gnf-thumb{box-shadow:0 12px 26px rgba(0,0,0,.17)}
.elementor-element-gnfgrid > .e-con:hover .gnf-thumb img{transform:scale(1.04)}
.gnf-name{margin:11px 0 0!important;max-width:none!important;display:block;text-align:center}
.gnf-name .elementor-heading-title{font-size:16px;font-weight:500;line-height:1.3;color:#1a1a1a}
@media(max-width:900px){.elementor-element-gnfgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.elementor-element-gnfgrid{grid-template-columns:repeat(2,1fr)}}



/* g382 benefit pages */

[class*="gnb"] .elementor-heading-title{margin:0;padding:0}

/* the white band spans the full viewport, like the original .g382B .band (was 100vw).
   Done by dropping the theme container limits on these pages, so no scrollbar overflow. */
.page-id-9652 .ast-container,.page-id-9653 .ast-container,.page-id-9654 .ast-container,
.page-id-9655 .ast-container,.page-id-9656 .ast-container,.page-id-9657 .ast-container,
.page-id-9658 .ast-container{padding-left:0!important;padding-right:0!important;max-width:100%!important}
[class*="elementor-element-gnb"][class*="sec"]{width:100%!important;max-width:100%!important;margin-left:0!important}
.gnb-kick{margin:0 0 10px!important;max-width:none!important;width:100%}
.gnb-kick .elementor-heading-title{text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#4a9d80;font-weight:600;line-height:1.3}
.gnb-h1{margin:0!important;max-width:none!important;width:100%}
.gnb-h1 .elementor-heading-title{font-size:44px;font-weight:600;line-height:1.08;color:#141414}
.gnb-capt,.gnb-capm,.gnb-capa{margin:0!important;max-width:none!important;width:100%}
.gnb-capt p{font-style:italic;font-size:19px;color:#2b2b2b;margin:0;line-height:1.5}
.gnb-capm p,.gnb-capa p{font-size:15px;color:#5a5a5a;margin:0;line-height:1.5}
.gnb-fig{margin:0!important;max-width:none!important;width:100%}
.gnb-fig img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 18px 46px rgba(0,0,0,.2);display:inline-block}
.gnb-bh{margin:0 0 18px!important;max-width:none!important;width:100%}
.gnb-bh .elementor-heading-title{font-size:28px;font-weight:600;color:#141414;line-height:1.2}
.gnb-bp{margin:0!important;max-width:none!important;width:100%}
.gnb-bp p{font-size:19px;line-height:1.7;color:#333;margin:0}

/* section head / caption / body blocks */
[class*="elementor-element-gnb"][class*="cap"]{text-align:center;margin:0 0 22px!important}
[class*="elementor-element-gnb"][class*="head"]{text-align:center;margin:0 0 24px!important}
[class*="elementor-element-gnb"][class*="body"]{text-align:center;max-width:760px!important;margin:36px auto 0!important}
[class*="elementor-element-gnb"][class*="wrap"]{max-width:1000px!important;margin:0 auto!important;padding:0 24px!important;width:100%}

/* prev / next navigation */
[class*="elementor-element-gnb"][class*="nav"]{max-width:760px!important;margin:44px auto 0!important;border-top:1px solid #ececec;padding-top:26px!important;width:100%}
[class*="elementor-element-gnb"][class*="nav"],[class*="elementor-element-gnb"][class*="nav"] > .e-con-inner{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;--gap:14px!important;gap:14px!important}
[class*="elementor-element-gnb"][class*="prev"],[class*="elementor-element-gnb"][class*="next"]{flex:1 1 240px!important;display:flex!important;flex-direction:column!important;--gap:3px!important;gap:3px!important;text-decoration:none!important;padding:14px 18px!important;border-radius:10px;border:1px solid #e6e6e6;transition:border-color .15s,background .15s,transform .15s;cursor:pointer}
[class*="elementor-element-gnb"][class*="prev"]:hover,[class*="elementor-element-gnb"][class*="next"]:hover{border-color:#4a9d80;background:#f6faf8;transform:translateY(-2px)}
[class*="elementor-element-gnb"][class*="next"]{align-items:flex-end;text-align:right}
[class*="elementor-element-gnb"][class*="empty"]{flex:1 1 240px!important;border:none;background:none;pointer-events:none}
.gnb-dir{margin:0!important;max-width:none!important}
.gnb-dir .elementor-heading-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#4a9d80;font-weight:600}
.gnb-nm{margin:0!important;max-width:none!important}
.gnb-nm .elementor-heading-title{font-size:18px;font-weight:600;color:#141414}

@media(max-width:640px){
  [class*="elementor-element-gnb"][class*="sec"]{padding-top:26px!important;padding-bottom:44px!important}
  .gnb-h1 .elementor-heading-title{font-size:33px}
  .gnb-bp p{font-size:17px}
  [class*="elementor-element-gnb"][class*="prev"],[class*="elementor-element-gnb"][class*="next"],[class*="elementor-element-gnb"][class*="empty"]{flex:1 1 100%!important}
  [class*="elementor-element-gnb"][class*="next"]{align-items:flex-start;text-align:left}
}


/* g382 native pages */

/* shared intro typography (was .g382-intro / .g382-chead / .g382P .intro) */
.gnp-kick{margin:0 0 10px!important;max-width:none!important;width:100%}
.gnp-kick .elementor-heading-title{text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#4a9d80;font-weight:600;line-height:1.3}
.gnp-title{margin:0 0 10px!important;max-width:none!important;width:100%}
.gnp-title .elementor-heading-title{font-size:34px;font-weight:600;color:#141414;line-height:1.15}
.gnp-title-12{margin:0 0 12px!important}
.gnp-title-33 .elementor-heading-title{font-size:33px}
.gnp-lead{margin:0!important;max-width:none!important;width:100%}
.gnp-lead p{color:#666;font-size:18px;line-height:1.55;margin:0}
.gnp-lead-16 p{line-height:1.6}
.gnp-lead-555 p{color:#555;line-height:1.6}
.gnp-small{margin:14px 0 0!important;max-width:none!important}
.gnp-small p{font-size:15px;color:#8a8a8a;margin:0;line-height:1.55}

/* Elementor boxed width is unreliable, so pin each wrap to the original max-width */
.elementor-element-gnpnewintro{max-width:900px!important}
.elementor-element-gnpwallintro{max-width:1120px!important}
.elementor-element-gnpchead{max-width:640px!important}
.elementor-element-gnppintro{max-width:820px!important}
.elementor-element-gnpcrow{max-width:940px!important}
.elementor-element-gnppwrap{max-width:1100px!important;margin-left:auto!important;margin-right:auto!important}

/* intro blocks are centered and padded like the original .g382-intro */
.elementor-element-gnpnewintro,.elementor-element-gnpwallintro{text-align:center;padding:18px 20px 40px!important;margin:0 auto!important}
.elementor-element-gnpwallintro{padding-bottom:6px!important}
.elementor-element-gnpchead{text-align:center;padding:0 20px!important;margin:0 auto 40px!important}
.elementor-element-gnppintro{text-align:center;padding:18px 20px 4px!important;margin:0 auto!important}

/* ---------- CONTACT ---------- */
.elementor-element-gnpcrow,.elementor-element-gnpcrow > .e-con-inner{--gap:52px!important;gap:52px!important;align-items:center;justify-content:center;flex-wrap:wrap}
.elementor-element-gnpcrow{padding:8px 0!important;margin:0 auto!important}
.elementor-element-gnpcimg{flex:0 0 360px!important;max-width:100%;display:flex;justify-content:center}
.elementor-element-gnpctxt{flex:1 1 320px!important;min-width:280px}
.gnp-cardimg img{width:100%;height:auto;display:block}
.gnp-cbody{margin:0!important;max-width:none!important}
.gnp-cbody p{font-size:19px;line-height:1.7;margin:0 0 22px;color:#2b2b2b}
.gnp-cbody p:last-child{margin-bottom:0}
.gnp-cmail{margin:8px 0 0!important;max-width:none!important}
.gnp-cmail p{margin:0}
a.gnp-email{display:inline-block;font-size:24px;font-weight:600;color:#0f0f0f;text-decoration:none;border-bottom:2px solid #3f9d80;padding-bottom:4px}
a.gnp-email:hover{border-bottom-color:#0f0f0f}

/* ---------- PURCHASE ---------- */
.elementor-element-gnppwrap,.elementor-element-gnppwrap > .e-con-inner{--gap:0px!important;gap:0!important}
.elementor-element-gnppcards{display:grid!important;grid-template-columns:repeat(3,1fr);gap:22px!important;--gap:22px!important;max-width:1060px;margin:40px auto 0!important;padding:0 20px!important;width:100%}
.elementor-element-gnppcards > .e-con{background:#fff;border-radius:14px;padding:28px 26px!important;box-shadow:0 8px 20px rgba(0,0,0,.07);text-align:center}
.gnp-cardh{margin:0 0 10px!important;max-width:none!important}
.gnp-cardh .elementor-heading-title{font-size:21px;color:#141414;font-weight:600;line-height:1.3}
.gnp-cardp{margin:0!important;max-width:none!important}
.gnp-cardp p{margin:0;color:#555;line-height:1.55;font-size:15.5px}
.elementor-element-gnppcta{text-align:center;margin:44px auto 8px!important;align-items:center}
.gnp-shopbtn .elementor-button{background:#4a9d80;color:#fff;font-size:19px;font-weight:600;padding:16px 44px!important;border-radius:8px;box-shadow:0 8px 22px rgba(74,157,128,.3);transition:transform .15s,box-shadow .15s}
.gnp-shopbtn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(74,157,128,.38);color:#fff}
.gnp-ctasmall{margin:16px 0 0!important;max-width:none!important}
.gnp-ctasmall p{margin:0;color:#888;font-size:14px}
.gnp-ctasmall a{color:#4a9d80;text-decoration:none;border-bottom:1px solid rgba(74,157,128,.4)}
.elementor-element-gnppre{text-align:center;max-width:920px!important;margin:58px auto 90px!important;padding:0 24px!important}
.gnp-preh{margin:0 0 8px!important;max-width:none!important}
.gnp-preh .elementor-heading-title{font-size:23px;font-weight:600;color:#141414;line-height:1.3}
.gnp-presub{margin:0 0 22px!important;max-width:none!important}
.gnp-presub p{margin:0;color:#666;font-size:16px}
.gnp-preimg{margin:0!important;max-width:none!important}
.gnp-preimg a{display:block;border-radius:12px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.16);transition:transform .2s,box-shadow .2s;border:1px solid #ececec}
.gnp-preimg a:hover{transform:translateY(-3px);box-shadow:0 18px 46px rgba(0,0,0,.22)}
.gnp-preimg img{width:100%;display:block}

@media(max-width:820px){.elementor-element-gnppcards{grid-template-columns:1fr}}
@media(max-width:760px){
  .elementor-element-gnpcrow,.elementor-element-gnpcrow > .e-con-inner{--gap:24px!important;gap:24px!important}
  .elementor-element-gnpcrow{padding:8px 16px!important}
  .elementor-element-gnpcimg{flex:0 0 300px!important}
}

