/* Tokens from EcoSoap's native CSS/demo: coral, forest, warm cream, Jakarta Sans.
   Body #505050 is also used by its demo text widgets, improving cream contrast. */
.hh-ecosoap{--hh-coral:#ef5958;--hh-green:#31503c;--hh-cream:#fdf9f0;--hh-ink:#505050;background:var(--hh-cream);color:var(--hh-ink);font-family:"Plus Jakarta Sans",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7}
.hh-ecosoap h1,.hh-ecosoap h2,.hh-ecosoap h3{font-family:"Plus Jakarta Sans",Arial,sans-serif;color:var(--hh-green)}
.hh-shell{width:calc(100% - 80px);max-width:1440px;margin-left:auto;margin-right:auto}
.hh-header{position:relative;z-index:40;background:var(--hh-cream);border-bottom:1px solid #31503c18}
.hh-header-row{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:112px}
.hh-wordmark{font-size:36px;font-weight:800;letter-spacing:-2.1px;line-height:1.15;color:var(--hh-green)!important;white-space:nowrap}
.hh-wordmark-dot{color:var(--hh-coral)}
.hh-navigation{display:flex;align-items:center;gap:27px;margin-left:auto;margin-right:auto}
.hh-navigation a{font-size:13px;font-weight:700;color:var(--hh-green);line-height:1.5;padding:16px 0;white-space:nowrap}
.hh-navigation a[aria-current],.hh-navigation a:hover{box-shadow:inset 0 -2px var(--hh-coral)}
.hh-header-actions{display:flex;align-items:center;gap:8px}
.hh-icon{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;border:0!important;border-radius:50%;background:transparent!important;color:var(--hh-green)!important;position:relative;flex-shrink:0;cursor:pointer;box-shadow:none!important}
.hh-icon:hover{background:#31503c0b!important}.hh-menu-toggle{display:none!important}
.hh-cart-count{position:absolute;right:0;top:0;background:var(--hh-green);color:#fff;font-size:10px;line-height:18px;min-width:18px;height:18px;border-radius:50%;font-weight:600;text-align:center;padding:0 3px}
.hh-skip{position:absolute;top:-100px;left:15px;z-index:99999;background:var(--hh-green);color:white;padding:12px 24px}.hh-skip:focus{top:10px;color:white}
.hh-ecosoap :focus-visible{outline:2px solid var(--hh-green);outline-offset:5px}
.hh-home h1,.hh-home h2,.hh-home h3,.hh-home p{margin-top:0}
.hh-hero{padding-top:28px}.hh-hero-inner{display:grid;grid-template-columns:1fr 1fr;min-height:610px;overflow:hidden;border-radius:80px;background:#f2e5d6}
.hh-hero-copy{padding:68px 24px 70px 70px;position:relative;z-index:2}.hh-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--hh-green);margin-bottom:22px;line-height:1.6}
.hh-hero h1{font-size:clamp(52px,5.4vw,80px);line-height:1.08;letter-spacing:-3px;font-weight:800;margin-bottom:26px}.hh-hero h1 span{color:var(--hh-green)}
.hh-hero-description{font-size:17px;max-width:330px;line-height:1.8;margin-bottom:30px!important;color:var(--hh-green)}
.hh-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--hh-coral);color:#fff!important;font-size:19px;font-weight:700;line-height:1.4;padding:16px 25px;border:0;border-radius:30px;transition:background .2s;box-shadow:none;cursor:pointer}
.hh-button:hover{background:var(--hh-green)}.hh-button svg{width:21px;height:21px;flex-shrink:0}
.hh-hero-media{position:relative;min-height:600px;padding:42px 48px 60px 0;display:flex;align-items:center;justify-content:center}
.hh-hero-orbit{position:absolute;width:480px;height:480px;border-radius:50%;background:#f2e5d6;right:-5%;top:40px}
.hh-hero-main-photo{display:block;width:91%;position:relative;transform:rotate(-5deg);border-radius:48px;overflow:hidden;box-shadow:0 28px 48px #31503c12}
.hh-hero-main-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.hh-hero-small-photo{position:absolute;bottom:48px;right:32px;display:block;width:36%;border:7px solid var(--hh-cream);border-radius:24px;background:var(--hh-cream);box-shadow:0 12px 28px #31503c18;overflow:hidden;transform:rotate(6deg)}
.hh-hero-small-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.hh-hero-small-photo>span{font-size:10px;line-height:1.5;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 2px;color:var(--hh-green)}.hh-hero-small-photo svg{width:16px;height:16px;flex-shrink:0}
.hh-hero-note{position:absolute;bottom:21px;left:18px;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--hh-green)}
.hh-section{padding-top:100px;padding-bottom:100px}.hh-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:42px}.hh-section-heading .hh-eyebrow{margin-bottom:12px}
.hh-home h2{font-size:clamp(30px,3.2vw,46px);font-weight:700;line-height:1.25;letter-spacing:-1.7px;margin-bottom:0}.hh-section-heading>p{font-size:15px;margin-bottom:4px;max-width:340px}
.hh-categories{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #31503c30;border-bottom:1px solid #31503c30}
.hh-category{position:relative;display:flex;flex-direction:column;padding:25px 20px 28px;border-right:1px solid #31503c20;min-height:195px;color:var(--hh-green)}.hh-category:last-child{border-right:0}
.hh-category-number{font-size:12px;color:var(--hh-green);margin-bottom:28px}.hh-category h3{font-size:17px;line-height:1.35;letter-spacing:-.5px;margin-bottom:7px;font-weight:700}.hh-category>span:last-of-type{font-size:11px;line-height:1.6}.hh-category>svg{position:absolute;right:18px;top:22px;width:18px}.hh-category:hover{background:#f2e5d6;color:var(--hh-green)}
.hh-catalogue-section{padding:88px 0 100px;background:#f2e5d6}.hh-text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:700;color:var(--hh-green)!important;border-bottom:1px solid var(--hh-green);padding:6px 0}.hh-text-link:hover{gap:24px}
.hh-home-products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px!important;margin:0!important;padding:0!important}.hh-home-products ul.products:before,.hh-home-products ul.products:after{display:none!important}
.hh-home-products ul.products>li.product{width:100%!important;float:none!important;clear:none!important;margin:0!important;padding:0!important;min-width:0}.hh-home-products .product-block{background:transparent}
.hh-home-products .product-block .block-inner{border-radius:22px;overflow:hidden;background:#fff}.hh-home-products img{max-width:100%}.hh-home-products .product-block .name{font-size:15px;line-height:1.6}.hh-home-products .product-block .price{color:var(--hh-green)}
.hh-philosophy{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.hh-philosophy-photo{border-radius:70px 16px 70px 16px;overflow:hidden}.hh-philosophy-photo img{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover}
.hh-philosophy-copy h2{margin-bottom:28px}.hh-philosophy-copy p:not(.hh-eyebrow){font-size:16px;max-width:445px}.hh-philosophy-copy .hh-text-link{margin-top:15px}
.hh-closing{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f2e5d6;border-radius:55px;padding:55px 65px;margin-bottom:100px}.hh-closing .hh-eyebrow{margin-bottom:12px}.hh-closing h2{font-size:38px}
.hh-footer{background:#f2e5d6;padding-top:70px}.hh-footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:45px;padding-bottom:60px}.hh-footer-brand>p{font-size:26px;line-height:1.4;color:var(--hh-green);margin-top:22px;margin-bottom:18px;font-weight:600;letter-spacing:-.8px}.hh-footer-brand>span{font-size:12px}
.hh-footer nav h2{font-size:12px;text-transform:uppercase;letter-spacing:1px;margin:8px 0 24px;font-weight:700}.hh-footer nav a{display:block;color:var(--hh-green);font-size:13px;margin-bottom:10px}.hh-footer nav p{font-size:12px;margin-top:22px;line-height:1.8}.hh-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}
.hh-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #31503c28;padding:22px 0;font-size:11px}.hh-footer-bottom a{color:var(--hh-green)}
.hh-dialog{border:0;border-radius:28px;padding:50px 35px 35px;background:var(--hh-cream);color:var(--hh-ink);width:min(620px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;box-shadow:0 25px 80px #0003}.hh-dialog::backdrop{background:#182b2266}.hh-dialog h2{font-size:27px;letter-spacing:-1px;margin:0 0 26px}.hh-dialog-close{position:absolute;right:10px;top:10px}
.hh-search-form{display:flex;gap:12px}.hh-search-form input[type=search]{min-width:0;flex:1;background:#fff;border:1px solid #31503c4d;border-radius:25px;padding:12px 18px;color:var(--hh-green);height:auto;outline-offset:2px}.hh-search-form .hh-button{font-size:19px;padding:12px 22px;gap:10px}
.hh-cart-dialog{margin-right:16px;max-width:440px}.hh-cart-dialog .woocommerce-mini-cart{padding:0;list-style:none}.hh-cart-dialog .woocommerce-mini-cart-item{padding:15px 0;border-bottom:1px solid #31503c28;min-height:95px}.hh-cart-dialog .woocommerce-mini-cart-item img{width:64px;height:64px;object-fit:cover;float:right;margin-left:14px;border-radius:12px}.hh-cart-dialog .woocommerce-mini-cart-item a{font-size:14px;line-height:1.5;color:var(--hh-green)}.hh-cart-dialog .woocommerce-mini-cart-item .remove{font-size:21px;float:left;margin-right:10px}.hh-cart-dialog .quantity{display:block;font-size:13px}.hh-cart-dialog .total{padding:18px 0;color:var(--hh-green)}.hh-cart-dialog .buttons{display:flex;flex-wrap:wrap;gap:10px}.hh-cart-dialog .buttons a{background:var(--hh-green);color:white;padding:12px 20px;border-radius:25px;font-size:13px}.hh-cart-dialog .hh-text-link{margin-top:15px}
.hh-ecosoap #main-container.inner{padding-top:45px;padding-bottom:65px}.hh-ecosoap.woocommerce-page .woocommerce-info,.hh-ecosoap .woocommerce-message{border-top-color:var(--hh-green)}
@media(min-width:1440px){.hh-hero-inner{min-height:650px}.hh-hero-copy{padding-top:76px}.hh-hero-media{min-height:650px}}
@media(max-width:1199px){.hh-shell{width:calc(100% - 48px)}.hh-header-row{gap:16px;min-height:95px}.hh-wordmark{font-size:31px}.hh-navigation{gap:17px}.hh-navigation a{font-size:11px}.hh-hero-copy{padding:55px 15px 55px 45px}.hh-hero-inner{min-height:550px;border-radius:60px}.hh-hero-media{min-height:550px;padding-right:25px}.hh-hero-orbit{width:370px;height:370px;top:80px}.hh-hero h1{font-size:62px}.hh-category{padding-left:14px;padding-right:14px}.hh-category h3{font-size:15px}.hh-philosophy{gap:50px}.hh-home-products ul.products{gap:18px!important}}
@media(max-width:991px){.hh-header-row{min-height:86px}.hh-menu-toggle{display:inline-flex!important}.hh-navigation{display:none;position:absolute;left:0;top:100%;width:100%;padding:18px 24px;background:var(--hh-cream);border-bottom:1px solid #31503c30;box-shadow:0 16px 20px #31503c10}.hh-navigation.is-open{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.hh-navigation a{font-size:14px;padding:14px 0}.hh-wordmark{margin-right:auto}.hh-hero-inner{grid-template-columns:1fr 1fr;min-height:490px}.hh-hero-copy{padding:45px 10px 45px 32px}.hh-hero h1{font-size:54px}.hh-hero-description{font-size:15px}.hh-hero-media{min-height:490px}.hh-hero-small-photo{width:41%;right:15px;bottom:70px}.hh-hero-main-photo{width:100%}.hh-hero-orbit{width:300px;height:300px}.hh-hero-note{font-size:8px;letter-spacing:1px}.hh-hero .hh-button{font-size:19px;gap:14px;padding:15px 20px}.hh-section{padding-top:70px;padding-bottom:70px}.hh-section-heading{align-items:flex-start;gap:24px}.hh-section-heading>p{max-width:230px;font-size:13px}.hh-categories{grid-template-columns:repeat(3,1fr)}.hh-category{min-height:165px;border-bottom:1px solid #31503c20}.hh-category:nth-child(3n){border-right:0}.hh-category:nth-child(n+4){border-bottom:0}.hh-category-number{margin-bottom:20px}.hh-category h3{font-size:17px}.hh-home-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}.hh-catalogue-section{padding:65px 0}.hh-philosophy{gap:35px}.hh-philosophy-copy p:not(.hh-eyebrow){font-size:14px}.hh-closing{padding:40px;border-radius:40px;margin-bottom:70px}.hh-closing h2{font-size:32px}.hh-footer-top{grid-template-columns:1.5fr 1fr;gap:35px 55px}}
@media(max-width:575px){.hh-shell{width:calc(100% - 36px)}.hh-header-row{min-height:76px;gap:6px}.hh-header-row>.hh-wordmark{font-size:29px;letter-spacing:-1.8px}.hh-header-actions{gap:0}.hh-header-actions .hh-icon,.hh-menu-toggle{width:39px;height:44px}.hh-navigation.is-open{grid-template-columns:1fr;padding:12px 22px}.hh-navigation a{padding:12px 0}.hh-hero{padding-top:18px}.hh-hero-inner{grid-template-columns:1fr;border-radius:35px}.hh-hero-copy{padding:38px 30px 0}.hh-eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:18px}.hh-hero h1{font-size:58px;line-height:1.04;letter-spacing:-2.8px;margin-bottom:22px}.hh-hero-description{font-size:14px;max-width:270px;margin-bottom:24px!important}.hh-hero .hh-button{font-size:19px;padding:14px 22px}.hh-hero-media{min-height:355px;padding:28px 34px 45px 28px;align-items:flex-start}.hh-hero-main-photo{width:87%;border-radius:30px;transform:rotate(-4deg)}.hh-hero-orbit{width:290px;height:290px;right:-30px;top:15px}.hh-hero-small-photo{width:35%;right:22px;bottom:38px;border-width:5px;border-radius:18px}.hh-hero-small-photo>span{font-size:8px;padding:5px 0}.hh-hero-note{bottom:15px;left:31px;font-size:8px}.hh-section{padding-top:55px;padding-bottom:55px}.hh-section-heading{display:block;margin-bottom:28px}.hh-home h2{font-size:31px;line-height:1.25;letter-spacing:-1.3px}.hh-section-heading>p{margin-top:22px;font-size:13px;max-width:none}.hh-section-heading .hh-text-link{margin-top:20px}.hh-categories{grid-template-columns:repeat(2,1fr)}.hh-category{min-height:155px;padding:20px 14px}.hh-category:nth-child(3n){border-right:1px solid #31503c20}.hh-category:nth-child(2n){border-right:0}.hh-category:nth-child(n+4){border-bottom:1px solid #31503c20}.hh-category:nth-child(n+5){border-bottom:0}.hh-category-number{font-size:11px;margin-bottom:23px}.hh-category h3{font-size:17px}.hh-category>span:last-of-type{font-size:10px}.hh-category>svg{width:16px;right:14px;top:17px}.hh-home-products ul.products{gap:22px 13px!important}.hh-home-products .product-block .name{font-size:12px;line-height:1.6}.hh-home-products .product-block .price{font-size:13px}.hh-home-products .product-block .block-inner{border-radius:15px}.hh-catalogue-section{padding:50px 0}.hh-philosophy{grid-template-columns:1fr;gap:32px}.hh-philosophy-photo{border-radius:45px 12px 45px 12px}.hh-philosophy-copy p:not(.hh-eyebrow){font-size:14px}.hh-philosophy-copy h2{margin-bottom:22px}.hh-closing{flex-direction:column;align-items:flex-start;padding:32px 26px;gap:25px;border-radius:32px;margin-bottom:55px}.hh-closing h2{font-size:31px}.hh-closing .hh-button{font-size:19px;gap:12px;padding:15px 20px}.hh-footer{padding-top:45px}.hh-footer-top{grid-template-columns:1fr 1fr;gap:35px 25px;padding-bottom:35px}.hh-footer-brand{grid-column:1/-1}.hh-footer-brand>.hh-wordmark{font-size:36px}.hh-footer-brand>p{font-size:27px;margin-top:18px;margin-bottom:15px}.hh-footer nav h2{font-size:11px;margin-bottom:18px}.hh-footer nav a{font-size:12px}.hh-footer nav p{font-size:11px}.hh-footer-bottom{align-items:flex-start;font-size:10px;gap:20px;padding:20px 0}.hh-footer-bottom>span{max-width:235px}.hh-footer-bottom>a{white-space:nowrap}.hh-dialog{padding:50px 22px 28px;border-radius:22px}.hh-search-form{flex-direction:column}.hh-search-form .hh-button{align-self:flex-start}.hh-dialog h2{font-size:25px}.hh-cart-dialog{margin:auto;max-width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.hh-ecosoap *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.hh-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.hh-product-card{min-width:0}.hh-product-image{display:block;position:relative;background:#fff;border-radius:22px;overflow:hidden;margin-bottom:22px}.hh-product-image>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .25s}.hh-product-image>span{position:absolute;bottom:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;background:var(--hh-cream);color:var(--hh-green);padding:10px 16px;border-radius:25px;font-size:12px;font-weight:700;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}.hh-product-image:hover>span,.hh-product-image:focus-visible>span{opacity:1;transform:none}.hh-product-image:hover>img{transform:scale(1.03)}.hh-product-brand{color:var(--hh-ink);font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:7px!important}.hh-product-card h3{font-size:15px;line-height:1.6;font-weight:600;text-transform:none;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hh-product-card h3 a{color:var(--hh-green)}.hh-product-price{font-size:16px;font-weight:700;color:var(--hh-green)}.hh-product-price del{font-size:13px;opacity:.6;margin-right:7px}.hh-product-price ins{background:transparent;text-decoration:none}.hh-ecosoap .product-block .name{text-transform:none}
@media(max-width:991px){.hh-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}}
@media(max-width:575px){.hh-product-grid{gap:25px 14px}.hh-product-image{border-radius:16px;margin-bottom:16px}.hh-product-card h3{font-size:12px;line-height:1.65}.hh-product-price{font-size:14px}.hh-product-brand{font-size:9px;letter-spacing:.6px}.hh-product-image>span{display:none}}

.hh-explore-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;align-items:start}.hh-explore-groups details{border-bottom:1px solid #31503c40;padding:0 0 15px}.hh-explore-groups summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;color:var(--hh-green);font-weight:600;list-style:none;padding:10px 0}.hh-explore-groups summary::-webkit-details-marker{display:none}.hh-explore-groups summary:after{content:'+';font-size:22px;font-weight:400}.hh-explore-groups details[open]>summary:after{content:'−'}.hh-explore-groups details>div{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;max-height:230px;overflow-y:auto}.hh-explore-groups details a{font-size:11px;line-height:1.6;padding:7px 12px;border:1px solid #31503c40;border-radius:20px;color:var(--hh-green);background:var(--hh-cream)}.hh-explore-groups details a:hover{background:#f2e5d6}
@media(max-width:575px){.hh-explore-groups{grid-template-columns:1fr;gap:8px;margin-top:22px}.hh-explore-groups details{padding-bottom:8px}.hh-explore-groups summary{font-size:13px}.hh-explore-groups details>div{max-height:200px}}

/* Keep the existing wishlist available without its long label covering photos. */
.hh-ecosoap .product-block .yith-wcwl-add-to-wishlist-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--hh-cream);color:var(--hh-green)}
.hh-ecosoap .product-block .yith-wcwl-add-to-wishlist-button__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hh-ecosoap .product-block .yith-wcwl-icon{width:23px;height:23px}
.hh-ecosoap .product-block .name,.hh-ecosoap .product-block .name a{white-space:normal;height:auto;max-height:none;line-height:1.6}
.hh-ecosoap .product-block .name a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
@media(max-width:575px){.hh-ecosoap .product-block .name{font-size:13px}.hh-ecosoap .product-block .groups-button{right:8px;top:8px}.hh-ecosoap .product-block .yith-wcwl-add-to-wishlist-button{width:34px;height:34px}}
