/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0.20260909084414
*/

/*************** ADD CUSTOM CSS HERE.   ***************/


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}

/* === HVT FLATSOME DESIGN IMPORTER: START === */
/* ==================================================
   00. DESIGN TOKENS
================================================== */
:root {
  --hvt-pink: #ec0a72;
  --hvt-pink-deep: #d70866;
  --hvt-pink-soft: #fff3f8;
  --hvt-green: #74b93f;
  --hvt-green-soft: #f2faeb;
  --hvt-ink: #162033;
  --hvt-muted: #6f7785;
  --hvt-line: #ececf1;
  --hvt-card: #ffffff;
  --hvt-radius: 12px;
  --hvt-shadow: 0 8px 30px rgba(30, 42, 64, .06);
}

body {
  color: var(--hvt-ink);
  font-family: Arial, Helvetica, sans-serif;
}

a { transition: .2s ease; }

/* ==================================================
   01. HEADER
================================================== */
#header .header-main {
  background: rgba(255,255,255,.98);
}

#logo a {
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1;
  font-style: italic;
  font-weight: 700;
  letter-spacing: -1.6px;
  background: linear-gradient(90deg, var(--hvt-pink) 0 52%, var(--hvt-green) 52% 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


.header-main .searchform {
  min-width: 360px;
}

.header-main .search-field {
  border-radius: 999px !important;
  background: #f8f9fb !important;
  border-color: #e6e8ed !important;
  box-shadow: none !important;
  font-size: 13px;
}

.header-bottom {
  border-top: 1px solid #f1f1f3;
  border-bottom: 1px solid #f1f1f3;
}

.header-bottom-nav > li > a {
  font-size: 12px;
  font-weight: 600;
  color: #273044;
}

.header-bottom-nav > li > a:hover,
.header-bottom-nav > li.active > a {
  color: var(--hvt-pink);
}

/* ==================================================
   10. HOME - HERO
================================================== */
.hvt-home-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 20%, rgba(255,255,255,.95) 0 5%, transparent 15%),
    radial-gradient(circle at 90% 14%, rgba(255,255,255,.65) 0 4%, transparent 18%),
    linear-gradient(110deg, #fff6fa 0%, #ffe8f1 58%, #f5ffe9 100%);
}

.hvt-home-hero:before,
.hvt-home-hero:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(1px);
  pointer-events: none;
}

.hvt-home-hero:before {
  width: 230px;
  height: 230px;
  right: -55px;
  top: -80px;
  background: rgba(116,185,63,.12);
}

.hvt-home-hero:after {
  width: 180px;
  height: 180px;
  left: -60px;
  bottom: -95px;
  background: rgba(236,10,114,.09);
}

.hvt-eyebrow {
  margin-bottom: 12px;
  color: var(--hvt-pink);
  font-size: 12px;
  letter-spacing: .16em;
  font-weight: 700;
}

.hvt-hero-copy h1 {
  margin: 0 0 16px;
  color: var(--hvt-pink);
  font-size: 46px;
  line-height: 1.06;
  letter-spacing: -.035em;
}

.hvt-hero-copy h1 span {
  color: var(--hvt-ink);
}

.hvt-hero-desc {
  max-width: 500px;
  color: #4f596a;
  font-size: 16px;
}

.hvt-btn-main {
  box-shadow: 0 8px 20px rgba(236,10,114,.2);
}

.hvt-btn-link {
  color: var(--hvt-pink) !important;
}

.hvt-hero-product-wrap {
  position: relative;
  text-align: center;
}

.hvt-hero-product-wrap:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 330px;
  height: 330px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255,255,255,.62);
  box-shadow: 0 20px 70px rgba(236,10,114,.10);
}

.hvt-hero-product {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

/* ==================================================
   11. TRUST STRIP
================================================== */
.hvt-trust-strip {
  background: #fff;
  border-bottom: 1px solid var(--hvt-line);
}

.hvt-trust-row .col {
  border-right: 1px solid #f0f0f3;
}

.hvt-trust-row .col:last-child {
  border-right: 0;
}

.hvt-trust-item {
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
}

.hvt-trust-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--hvt-pink);
  background: var(--hvt-pink-soft);
  font-size: 18px;
  font-weight: 700;
}

.hvt-trust-item strong {
  display: block;
  font-size: 13px;
}

.hvt-trust-item small {
  display: block;
  color: var(--hvt-muted);
  font-size: 11px;
  margin-top: 2px;
}

/* ==================================================
   12. COMMON SECTION TITLES
================================================== */
.hvt-home-section {
  background: #fff;
}

.hvt-section-title .section-title-main,
.hvt-section-title .section-title-main span {
  color: var(--hvt-ink);
  font-weight: 700;
}

.hvt-section-title .section-title-main:before {
  content: "●";
  color: var(--hvt-green);
  margin-right: 8px;
  font-size: .8em;
}

/* ==================================================
   13. CATEGORY CARDS
================================================== */
.hvt-category-row > .col {
  padding-bottom: 12px;
}

.hvt-cat-card {
  min-height: 142px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px;
  border: 1px solid #eeeef2;
  border-radius: var(--hvt-radius);
  background: linear-gradient(145deg,#fff 0%,#fff8fb 100%);
  box-shadow: 0 5px 18px rgba(20,30,50,.035);
  color: var(--hvt-ink);
}

.hvt-cat-card:hover {
  transform: translateY(-3px);
  border-color: #f3b5d0;
  box-shadow: var(--hvt-shadow);
  color: var(--hvt-ink);
}

.hvt-cat-dot {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin-bottom: auto;
  border-radius: 50%;
  color: #fff;
  background: var(--hvt-pink);
  font-size: 11px;
  font-weight: 700;
}

.hvt-cat-card strong {
  margin-top: 18px;
  font-size: 13px;
  line-height: 1.35;
}

.hvt-cat-card small {
  margin-top: 6px;
  color: var(--hvt-pink);
  font-size: 11px;
  font-weight: 600;
}

.hvt-cat-kenso { background: linear-gradient(145deg,#f1f7ff,#fff); }
.hvt-cat-placenta { background: linear-gradient(145deg,#fff0f6,#fff); }
.hvt-cat-drink { background: linear-gradient(145deg,#fff5f8,#fff9ec); }
.hvt-cat-beauty { background: linear-gradient(145deg,#fff5fa,#fff); }
.hvt-cat-auth { background: linear-gradient(145deg,#f1faec,#fff); }
.hvt-cat-combo { background: linear-gradient(145deg,#fff2f7,#f6ffe9); }
.hvt-cat-auth .hvt-cat-dot,
.hvt-cat-combo .hvt-cat-dot { background: var(--hvt-green); }

/* ==================================================
   14. PRODUCT CARDS
================================================== */
.hvt-featured-products .product-small .col-inner,
.hvt-related-section .product-small .col-inner {
  height: 100%;
  border: 1px solid #ececf1;
  border-radius: var(--hvt-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 14px rgba(22,32,51,.035);
  transition: .2s ease;
}

.hvt-featured-products .product-small .col-inner:hover,
.hvt-related-section .product-small .col-inner:hover {
  transform: translateY(-3px);
  box-shadow: var(--hvt-shadow);
}

.hvt-featured-products .box-image,
.hvt-related-section .box-image {
  background: linear-gradient(180deg,#fbfbfc,#fff);
}

.hvt-featured-products .box-text,
.hvt-related-section .box-text {
  padding: 12px 14px 14px !important;
  text-align: left;
}

.hvt-featured-products .product-title a,
.hvt-related-section .product-title a {
  color: var(--hvt-ink);
  font-weight: 700;
}

.hvt-featured-products .add-to-cart-button a,
.hvt-related-section .add-to-cart-button a {
  width: 100%;
  border-radius: 6px;
  background: var(--hvt-pink) !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 11px;
}

/* ==================================================
   15. BLOG CARDS
================================================== */
.hvt-blog-grid .post-item .col-inner {
  overflow: hidden;
  border: 1px solid #ececf1;
  border-radius: var(--hvt-radius);
  background: #fff;
}

.hvt-blog-grid .box-text {
  padding: 14px !important;
}

.hvt-blog-grid .post-title {
  color: var(--hvt-ink);
  font-weight: 700;
}

/* ==================================================
   20. SINGLE PRODUCT
================================================== */
.hvt-product-page {
  background: #fff;
}

.hvt-product-top > .col > .col-inner {
  height: 100%;
}

.hvt-product-gallery-card > .col-inner {
  padding: 18px;
  border: 1px solid #ececf1;
  border-radius: 12px;
  background: linear-gradient(145deg,#fafafa,#fff);
}

.hvt-product-info-card > .col-inner {
  padding: 2px 6px 10px 18px;
}

.hvt-product-info-card .product-title {
  color: #13203a;
  font-size: 30px;
  line-height: 1.15;
}

.hvt-product-badges {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.hvt-product-badges span {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 6px;
  background: var(--hvt-green-soft);
  color: #548d29;
  font-size: 11px;
  font-weight: 600;
}

.hvt-product-badges span + span {
  background: #fff6f9;
  color: #8a6776;
}

.hvt-product-facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1px;
  margin: 16px 0;
  overflow: hidden;
  border: 1px solid #ececf1;
  border-radius: 10px;
  background: #ececf1;
}

.hvt-product-facts > div {
  min-height: 66px;
  padding: 12px 14px;
  background: #fafafa;
}

.hvt-product-facts small,
.hvt-product-facts strong {
  display: block;
}

.hvt-product-facts small {
  color: var(--hvt-muted);
  font-size: 10px;
  margin-bottom: 4px;
}

.hvt-product-facts strong {
  color: var(--hvt-ink);
  font-size: 12px;
}

.hvt-product-info-card .single_add_to_cart_button {
  min-width: 250px;
  border-radius: 6px !important;
  background: var(--hvt-pink) !important;
}

.hvt-consult-btn {
  margin-left: 8px;
  color: var(--hvt-pink) !important;
  border-color: var(--hvt-pink) !important;
}

.hvt-product-detail-section .product-tabs,
.hvt-product-detail-section .product-footer {
  border: 1px solid #ececf1;
  border-radius: 12px;
  padding: 0 18px 18px;
}

.hvt-related-section {
  background: #fff;
}

/* ==================================================
   50. SIMPLE PAGES
================================================== */
.hvt-simple-page {
  min-height: 420px;
  background: linear-gradient(180deg,#fff9fb,#fff);
}

.hvt-simple-page .col-inner {
  padding: 32px;
  border: 1px solid #f0e5ea;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
}

/* ==================================================
   60. FOOTER
================================================== */
.hvt-footer-main {
  background: linear-gradient(180deg,#fffafb,#fff5f7);
  border-top: 1px solid #f1e8ec;
}

.hvt-footer-wordmark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 700;
  font-style: italic;
  letter-spacing: -2px;
  color: var(--hvt-pink);
}

.hvt-footer-wordmark span {
  color: var(--hvt-green);
}

.hvt-footer-tagline,
.hvt-footer-main p,
.hvt-footer-main a {
  color: #69717e;
  font-size: 12px;
}

.hvt-footer-main h4 {
  color: #273044;
  font-size: 13px;
  margin-bottom: 10px;
}

.hvt-footer-main a:hover,
.hvt-footer-contact {
  color: var(--hvt-pink);
}

.hvt-copyright {
  margin: 0;
  font-size: 11px !important;
}

/* ==================================================
   90. RESPONSIVE
================================================== */
@media (max-width: 849px) {
  .header-main .searchform { min-width: 0; }
  .hvt-hero-copy h1 { font-size: 38px; }
  .hvt-product-info-card > .col-inner { padding-left: 0; padding-top: 20px; }
}

@media (max-width: 549px) {
  .hvt-home-hero { text-align: center; }
  .hvt-hero-copy h1 { font-size: 34px; }
  .hvt-hero-desc { margin-left: auto; margin-right: auto; }
  .hvt-hero-product { width: 66% !important; }
  .hvt-trust-row .col { border-bottom: 1px solid #f0f0f3; }
  .hvt-trust-item { min-height: 66px; padding: 11px 10px; }
  .hvt-category-row .col { padding-left: 5px; padding-right: 5px; }
  .hvt-cat-card { min-height: 130px; padding: 14px; }
  .hvt-product-facts { grid-template-columns: 1fr; }
  .hvt-consult-btn { margin-left: 0; margin-top: 8px; }
}
/* === HVT FLATSOME DESIGN IMPORTER: END === */

/* === HVT FDI innopha-base: START === */
/* ==================================================
   00. DESIGN TOKENS
================================================== */
:root{
  --hvt-pink:#ec0a72;
  --hvt-pink-deep:#d70866;
  --hvt-pink-soft:#fff2f7;
  --hvt-green:#74b93f;
  --hvt-green-soft:#f2faeb;
  --hvt-ink:#162033;
  --hvt-muted:#6e7582;
  --hvt-line:#ececf1;
  --hvt-radius:10px;
  --hvt-shadow:0 8px 28px rgba(30,42,64,.07);
}

/* ==================================================
   01. GLOBAL / FLATSOME
================================================== */
body{color:var(--hvt-ink);}
#main,#wrapper{background:#fff;}
.button.primary,
.single_add_to_cart_button{background:var(--hvt-pink)!important;border-color:var(--hvt-pink)!important;}
a:hover{color:var(--hvt-pink-deep);}

/* ==================================================
   02. HEADER
================================================== */
.header-main{background:#fff!important;border-bottom:1px solid #f0f0f2;}
#logo img{max-height:48px!important;width:auto!important;}
.header-main .searchform{min-width:320px;}
.header-main .search-field{
  border:1px solid #e7e8ec!important;
  background:#fafbfc!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-size:13px;
}
.header-bottom{background:#fff!important;border-bottom:1px solid #f0f0f2;}
.header-bottom-nav>li>a{font-size:12px;font-weight:500;color:#273044;}
.header-bottom-nav>li>a:hover{color:var(--hvt-pink);}

/* ==================================================
   10. HOME - BANNER
================================================== */
.hvt-home-banner{margin:0;}
.hvt-home-banner .bg{background-size:cover!important;}

/* ==================================================
   11. TRUST STRIP
================================================== */
.hvt-trust-strip{background:#fff;border-bottom:1px solid var(--hvt-line);}
.hvt-trust-row>.col{border-right:1px solid #f0f0f2;}
.hvt-trust-row>.col:last-child{border-right:0;}
.hvt-trust-box{padding:14px 16px;min-height:72px;align-items:center;}
.hvt-trust-box .icon-box-img{margin-right:12px!important;}
.hvt-trust-box h4{margin:0 0 3px;font-size:13px;color:var(--hvt-ink);}
.hvt-trust-box p{margin:0;color:var(--hvt-muted);font-size:11px;}

/* ==================================================
   12. SECTION HEADINGS
================================================== */
.hvt-home-section{background:#fff;}
.hvt-section-heading{
  display:flex;align-items:center;justify-content:space-between;
  margin:0 0 14px;
}
.hvt-section-heading h2{
  margin:0;font-size:21px;line-height:1.2;color:var(--hvt-ink);font-weight:700;
}
.hvt-section-heading h2:before{
  content:"";display:inline-block;width:8px;height:18px;margin-right:8px;
  border-radius:8px;background:var(--hvt-green);transform:skew(-18deg);
}
.hvt-section-heading a{font-size:12px;color:var(--hvt-pink);font-weight:500;}

/* ==================================================
   13. CATEGORY CARDS
================================================== */
.hvt-category-row>.col{padding-bottom:12px;}
.hvt-category-card{
  height:100%;min-height:142px;padding:14px;
  border:1px solid #ececf1;border-radius:var(--hvt-radius);
  background:linear-gradient(145deg,#fff8fb,#fff);
  box-shadow:0 4px 14px rgba(22,32,51,.035);
  transition:.2s ease;
}
.hvt-category-card:hover{transform:translateY(-3px);box-shadow:var(--hvt-shadow);border-color:#f3bad2;}
.hvt-category-card .icon-box-img{margin-bottom:10px!important;}
.hvt-category-card h4{margin:0 0 7px;font-size:13px;line-height:1.35;color:var(--hvt-ink);}
.hvt-category-card p{margin:0;color:var(--hvt-pink);font-size:11px;font-weight:500;}

/* ==================================================
   14. PRODUCT CARDS
================================================== */
.hvt-featured-products .product-small .col-inner,
.hvt-related-section .product-small .col-inner{
  height:100%;overflow:hidden;border:1px solid #ececf1;
  border-radius:var(--hvt-radius);background:#fff;
  box-shadow:0 4px 14px rgba(22,32,51,.035);transition:.2s ease;
}
.hvt-featured-products .product-small .col-inner:hover,
.hvt-related-section .product-small .col-inner:hover{transform:translateY(-3px);box-shadow:var(--hvt-shadow);}
.hvt-featured-products .box-image,.hvt-related-section .box-image{background:linear-gradient(#fbfbfc,#fff);}
.hvt-featured-products .box-text,.hvt-related-section .box-text{padding:12px 14px 14px!important;text-align:left;}
.hvt-featured-products .product-title a,.hvt-related-section .product-title a{font-weight:600;color:var(--hvt-ink);}
.hvt-featured-products .add-to-cart-button a,.hvt-related-section .add-to-cart-button a{
  width:100%;border:0!important;border-radius:6px!important;background:var(--hvt-pink)!important;color:#fff!important;font-size:11px;
}

/* ==================================================
   15. BLOG
================================================== */
.hvt-blog-grid .post-item .col-inner{overflow:hidden;border:1px solid #ececf1;border-radius:var(--hvt-radius);background:#fff;}
.hvt-blog-grid .box-text{padding:13px!important;}
.hvt-blog-grid .post-title{font-size:14px;font-weight:600;color:var(--hvt-ink);}

/* ==================================================
   20. SINGLE PRODUCT
================================================== */
.hvt-product-gallery-card>.col-inner{
  padding:18px;border:1px solid #ececf1;border-radius:12px;background:linear-gradient(145deg,#fafafa,#fff);
}
.hvt-product-info-card>.col-inner{padding-left:18px;}
.hvt-product-info-card .product-title{font-size:30px;line-height:1.15;color:#13203a;}
.hvt-product-badges{display:flex;gap:8px;margin:0 0 12px;}
.hvt-product-badges span{padding:5px 9px;border-radius:6px;background:var(--hvt-green-soft);color:#548d29;font-size:11px;font-weight:500;}
.hvt-product-badges span+span{background:#fff5f8;color:#8a6776;}
.hvt-product-facts{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;
  margin:16px 0;border:1px solid #ececf1;border-radius:10px;background:#ececf1;
}
.hvt-product-facts>div{padding:12px 14px;background:#fafafa;}
.hvt-product-facts small,.hvt-product-facts strong{display:block;}
.hvt-product-facts small{font-size:10px;color:var(--hvt-muted);margin-bottom:3px;}
.hvt-product-facts strong{font-size:12px;color:var(--hvt-ink);}
.hvt-product-info-card .single_add_to_cart_button{min-width:250px;border-radius:6px!important;}
.hvt-consult-btn{color:var(--hvt-pink)!important;border-color:var(--hvt-pink)!important;}
.hvt-product-detail-section .product-tabs{border:1px solid #ececf1;border-radius:12px;padding:0 18px 18px;}

/* ==================================================
   50. SIMPLE PAGES
================================================== */
.hvt-simple-page{min-height:380px;background:linear-gradient(180deg,#fff8fb,#fff);}
.hvt-simple-page .col-inner{padding:30px;border:1px solid #f1e7eb;border-radius:14px;background:#fff;}

/* ==================================================
   60. FOOTER UX BLOCK
================================================== */
.hvt-footer-main{background:linear-gradient(180deg,#fffafb,#fff4f7);border-top:1px solid #f0e7eb;}
.hvt-footer-logo img{max-width:175px!important;}
.hvt-footer-main h4{margin:0 0 10px;font-size:13px;color:#273044;}
.hvt-footer-main p,.hvt-footer-main a{font-size:12px;color:#6c7380;}
.hvt-footer-main a:hover{color:var(--hvt-pink);}
.hvt-footer-tagline{margin-top:8px!important;}
.hvt-copyright{margin:0;font-size:11px!important;}

/* ==================================================
   90. RESPONSIVE
================================================== */
@media(max-width:849px){
  .header-main .searchform{min-width:0;}
  .hvt-product-info-card>.col-inner{padding-left:0;padding-top:18px;}
}
@media(max-width:549px){
  .hvt-home-banner{height:230px!important;}
  .hvt-trust-row>.col{border-bottom:1px solid #f0f0f2;}
  .hvt-trust-box{padding:10px;min-height:64px;}
  .hvt-category-row>.col{padding-left:5px;padding-right:5px;}
  .hvt-category-card{min-height:132px;padding:12px;}
  .hvt-section-heading h2{font-size:18px;}
  .hvt-product-facts{grid-template-columns:1fr;}
}
/* === HVT FDI innopha-base: END === */

/* === HVT FDI innopha-design-2026: START === */
/* ================================================================
   INNOPHA / HVT FLATSOME DESIGN PACKAGE v1.4.0
   package_key: innopha-design-2026
   Native Flatsome/WooCommerce UI; runtime does not depend on importer.
================================================================ */

:root {
  --hvt-pink: #478019;
  --hvt-pink-dark: #376614;
  --hvt-pink-soft: #F8FFF2;
  --hvt-pink-soft-2: #fff8fb;
  --hvt-green: #E6007E;
  --hvt-green-dark: #C6006D;
  --hvt-ink: #17213a;
  --hvt-text: #4d5565;
  --hvt-muted: #9299a7;
  --hvt-border: #e7e9ee;
  --hvt-site-max: 1200px;
  --hvt-radius: 12px;
  --hvt-shadow: 0 12px 30px rgba(25, 36, 58, .10);
}

/* 01. GLOBAL ------------------------------------------------------------- */
html { scroll-behavior: smooth; }
body {
  color: var(--hvt-text);
  background: #fff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
body, button, input, textarea, select { -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6 { color: var(--hvt-ink); letter-spacing: -.015em; }
a { transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.button,button,input[type="submit"] { border-radius: 8px; font-weight: 700; text-transform: none; letter-spacing: 0; }
/* Site width is set by Flatsome theme_mod site_width=1200; do not override .container/.row max-width here. */

/* 02. HEADER / SEARCH ---------------------------------------------------- */
.header-wrapper { background: #fff; box-shadow: 0 1px 0 rgba(20,29,45,.07); }
.header-main { border-bottom: 1px solid #f0f0f3; }
.header-main .header-inner,
.header-main .header-nav-main { align-items: center; }
#logo { align-self: center; }
#logo img { display:block; object-fit:contain; }

.header-main .hide-for-medium.flex-left { min-width:0; align-self:stretch; display:flex; align-items:center; }
.header-main .header-nav-main.nav-left { width:auto; min-width:0; display:flex; align-items:center; }
.header-main .header-search-form {
  flex: 0 1 520px;
  width: 520px !important;
  max-width: 520px;
  min-width: 300px;
  margin: 0 16px 0 24px;
}
.header-main .header-search-form-wrapper,
.header-main .header-search-form-wrapper form.searchform { width:100%; min-width:0 !important; margin:0; }
.header-search-form-wrapper form.searchform > .flex-row {
  height: 42px;
  align-items:center;
  overflow:hidden;
  border:1px solid #e2e5ea;
  border-radius:999px;
  background:#fafbfc;
  box-shadow:0 1px 3px rgba(23,33,58,.025);
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.header-search-form-wrapper form.searchform:focus-within > .flex-row {
  border-color:#CCFFA3;
  background:#fff;
  box-shadow:0 0 0 3px rgba(71,128,25,.08);
}
.header-search-form-wrapper .search-field {
  height:40px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 8px 0 17px;
  font-size:13px;
}
.header-search-form-wrapper .ux-search-submit {
  width:44px;
  min-width:44px;
  height:40px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#344057 !important;
  box-shadow:none !important;
}
.header-search-form-wrapper .ux-search-submit:hover { color:var(--hvt-pink) !important; transform:none; }
.header-search-form-wrapper .live-search-results {
  margin-top:8px;
  overflow:hidden;
  border:1px solid #ececf1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 32px rgba(23,33,58,.13);
}

.header-main .hide-for-medium.flex-right { align-self:stretch; display:flex; align-items:center; }
.header-main .header-nav-main.nav-right { align-items:center; }
.header-main .header-nav-main.nav-right > li { margin-left:14px; }
.header-main .account-item > a,
.header-main .cart-item > a {
  min-height:42px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#30384b;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.header-main .account-item > a::after { content:"Tài khoản"; display:inline-block; font-size:12px; font-weight:600; }
.header-main .account-item i,
.header-main .account-item .icon-user { font-size:17px; }
.header-main .account-item > a:hover,
.header-main .cart-item > a:hover { color:var(--hvt-pink); }
.header-main .cart-item .header-cart-link { flex-direction:row-reverse; }
.header-main .cart-item .header-cart-title { margin:0; font-weight:600; }
.header-main .cart-item .cart-price { display:none !important; }
.header-main .cart-item i,
.header-main .cart-item .cart-icon { margin:0 !important; }

#wide-nav { border-bottom:1px solid #ececf0; box-shadow:none; background:#fff; }
#wide-nav .flex-row { align-items:center; }
#wide-nav .nav { min-height:44px; align-items:center; }
#wide-nav .nav > li { margin:0 14px; }
#wide-nav .nav > li > a { min-height:44px; display:inline-flex; align-items:center; color:#20283b; font-size:13px; font-weight:700; }
#wide-nav .nav > li > a:hover,
#wide-nav .nav > li.active > a { color:var(--hvt-pink); }
#wide-nav .nav > li > a .icon-angle-down { margin-left:5px; font-size:11px; opacity:.65; }

/* Desktop multi-level menu: undo Flatsome's narrow column behaviour and use fly-outs. */
@media (min-width:850px) {
  #wide-nav .nav > li.has-dropdown { position:relative; }
  #wide-nav .nav > li > .nav-dropdown {
    width:280px !important;
    min-width:280px !important;
    max-width:280px !important;
    padding:8px !important;
    border:1px solid #E7F0E0 !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 16px 38px rgba(22,32,53,.13) !important;
  }
  #wide-nav .nav-dropdown > li,
  #wide-nav .nav-dropdown > li.nav-dropdown-col,
  #wide-nav .nav-dropdown .nav-column > li {
    position:relative;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    float:none !important;
    margin:0 !important;
  }
  #wide-nav .nav-dropdown li > a {
    min-height:40px;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:9px 11px !important;
    border:0 !important;
    border-radius:8px;
    color:#283247 !important;
    font-size:13px;
    line-height:1.35;
    font-weight:600;
    text-transform:none !important;
    white-space:normal;
    transition:background-color .18s ease,color .18s ease,padding-left .18s ease;
  }
  #wide-nav .nav-dropdown li > a:hover,
  #wide-nav .nav-dropdown li:hover > a {
    padding-left:14px !important;
    background:#F8FFF2 !important;
    color:var(--hvt-pink) !important;
  }
  #wide-nav .nav-dropdown li.nav-dropdown-col > a::after,
  #wide-nav .nav-dropdown .nav-column li.menu-item-has-children > a::after {
    content:"›";
    flex:0 0 auto;
    margin-left:10px;
    color:#a5acb8;
    font-size:18px;
    line-height:1;
  }
  #wide-nav .nav-dropdown li.nav-dropdown-col:hover > a::after,
  #wide-nav .nav-dropdown .nav-column li.menu-item-has-children:hover > a::after { color:var(--hvt-pink); }
  #wide-nav .nav-dropdown li.nav-dropdown-col > .nav-column,
  #wide-nav .nav-dropdown .nav-column li.menu-item-has-children > .nav-column {
    position:absolute !important;
    z-index:99;
    top:-8px;
    left:100%;
    width:280px !important;
    min-width:280px !important;
    max-width:280px !important;
    margin:0 0 0 8px !important;
    padding:8px !important;
    border:1px solid #E7F0E0;
    border-radius:12px;
    background:#fff;
    box-shadow:0 16px 38px rgba(22,32,53,.13);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(6px);
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
  }
  #wide-nav .nav-dropdown li.nav-dropdown-col:hover > .nav-column,
  #wide-nav .nav-dropdown .nav-column li.menu-item-has-children:hover > .nav-column {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
  }
  #wide-nav .nav-dropdown li.nav-dropdown-col::after,
  #wide-nav .nav-dropdown .nav-column li.menu-item-has-children::after {
    content:"";
    position:absolute;
    top:0;
    right:-10px;
    width:12px;
    height:100%;
  }
}

/* 04. TRUST STRIP ------------------------------------------------------- */
.hvt-trust-strip { background:#fff; border-bottom:1px solid #ededf1; }
.hvt-trust-row { min-height:82px; align-items:stretch; }
.hvt-trust-row > .col { display:flex; align-items:stretch; }
.hvt-trust-row > .col + .col { border-left:1px solid #f0f0f3; }
.hvt-trust-row > .col > .col-inner { width:100%; display:flex; align-items:stretch; }
.hvt-trust-item { width:100%; min-height:82px; display:flex; align-items:center; gap:12px; padding:16px 12px; }
.hvt-trust-item .img { width:36px !important; min-width:36px; margin:0; }
.hvt-trust-copy strong { display:block; color:#30394c; font-size:12px; line-height:1.25; }
.hvt-trust-copy span { display:block; color:#8a91a0; font-size:10px; margin-top:3px; }

/* 05. HOME SECTIONS / CATEGORY CARDS ----------------------------------- */
.hvt-home-section { background:#fff; }
.hvt-cat-section { padding-top:28px !important; padding-bottom:14px !important; }
.hvt-products-section { padding-top:18px !important; padding-bottom:18px !important; }
.hvt-blog-section { padding-top:18px !important; padding-bottom:30px !important; }
.hvt-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 14px; }
.hvt-section-heading h2 { position:relative; margin:0; padding-left:26px; font-size:22px; line-height:1.25; font-weight:800; }
.hvt-section-heading h2::before { content:""; position:absolute; left:3px; top:6px; width:12px; height:19px; border-radius:100% 0 100% 0; background:linear-gradient(135deg,#C9438C,var(--hvt-green)); transform:rotate(24deg); }
.hvt-section-heading a { color:var(--hvt-pink); font-size:12px; font-weight:700; white-space:nowrap; }

.hvt-home-category-grid { align-items:stretch; }
.hvt-home-category-grid > .col { display:flex; align-items:stretch; }
.hvt-home-category-grid > .col > .col-inner { width:100%; display:flex; }
.hvt-category-card {
  width:100%; min-height:100%; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--hvt-border); border-radius:11px; background:#fff;
  box-shadow:0 2px 8px rgba(31,39,58,.025); color:inherit !important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.hvt-category-card:hover { border-color:#E0FFC8; transform:translateY(-3px); box-shadow:var(--hvt-shadow); }
.hvt-category-card .img { width:100% !important; margin:0; background:linear-gradient(140deg,#fff7fa,#F1FFE5); }
.hvt-category-card .img-inner { height:128px; overflow:hidden; }
.hvt-category-card .img img { width:100%; height:100%; object-fit:cover; transform:scale(1); transition:transform .22s ease; }
.hvt-category-card:hover .img img { transform:scale(1.035); }
.hvt-category-card-body { flex:1 1 auto; display:flex; flex-direction:column; min-height:72px; padding:11px 12px 12px; }
.hvt-category-card-body strong { color:#20283a; font-size:12px; line-height:1.35; font-weight:800; text-transform:uppercase; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:2.7em; }
.hvt-category-card-body span { margin-top:auto; padding-top:5px; color:var(--hvt-pink); font-size:10px; font-weight:700; }

/* 06. PRODUCT CARDS ----------------------------------------------------- */
.products.row { align-items:stretch; }
.products.row > .product-small { display:flex; align-items:stretch; }
.products.row > .product-small > .col-inner { width:100%; display:flex; align-items:stretch; }
.products .product-small .box,
.related-products-wrapper .product-small .box {
  width:100%; height:100%; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--hvt-border); border-radius:12px; background:#fff;
  box-shadow:0 2px 10px rgba(31,39,58,.025);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.products .product-small .box:hover,
.related-products-wrapper .product-small .box:hover { border-color:#E1FFC9; box-shadow:var(--hvt-shadow); transform:translateY(-3px); }

/* Remove unused image actions / default UX hover layers. */
.product-small .box-image .image-tools,
.product-small .box-image .wishlist-button,
.product-small .box-image .quick-view,
.product-small .box-image .grid-tools,
.product-small .back-image { display:none !important; }
.product-small .show-on-hover { opacity:0 !important; transform:none !important; }

.products .product-small .box-image,
.related-products-wrapper .product-small .box-image { width:100%; aspect-ratio:1.16 / 1; flex:0 0 auto; overflow:hidden; background:#fff; }
.products .product-small .box-image > div,
.related-products-wrapper .product-small .box-image > div { width:100%; height:100% !important; padding-top:0 !important; position:relative; }
.products .product-small .box-image img,
.related-products-wrapper .product-small .box-image img { position:absolute; inset:0; width:100%; height:100%; margin:auto; padding:15px; object-fit:contain; object-position:center; transform:scale(.91) !important; transition:transform .22s ease !important; }
.products .product-small .box:hover .box-image img,
.related-products-wrapper .product-small .box:hover .box-image img { transform:scale(.96) !important; }

.products .product-small .box-text,
.related-products-wrapper .product-small .box-text { flex:1 1 auto; display:flex; flex-direction:column; padding:12px 13px 14px; }
.products .product-small .box-text-products,
.related-products-wrapper .product-small .box-text-products { height:100%; display:flex; flex-direction:column; }
.product-small .title-wrapper { min-height:42px; }
.product-small .product-title { margin:0 0 5px; }
.product-small .product-title a { color:#222b40; font-size:14px; line-height:1.42; font-weight:700; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:2.84em; }
.product-small .box-excerpt,
.product-small .woocommerce-product-details__short-description { display:none !important; }
.product-small .price-wrapper { min-height:24px; margin:1px 0 0; }
.product-small .price-wrapper .price { color:#20283b; font-size:15px; line-height:1.4; font-weight:800; }
.product-small .price-wrapper .price del { margin-right:5px; color:#a4aab4 !important; font-size:.88em; font-weight:400; opacity:1 !important; }
.product-small .price-wrapper .price ins { color:#20283b; text-decoration:none; font-weight:800; }
.product-small .star-rating { margin:3px 0 4px; }
.product-small .star-rating span::before,
.woocommerce-product-rating .star-rating span::before { color:#ffb000; }
.product-small .add-to-cart-button { margin-top:11px; padding-top:0; }
.product-small .add-to-cart-button a,
.product-small .button,
.woocommerce .products .product-small .button { width:100%; min-height:38px; display:inline-flex; align-items:center; justify-content:center; margin:0 !important; border:0; border-radius:7px; background:var(--hvt-pink) !important; color:#fff !important; font-size:12px; font-weight:700; box-shadow:none !important; }
.product-small .add-to-cart-button a:hover,
.product-small .button:hover { background:var(--hvt-pink-dark) !important; }

/* Unified native Woo sale badge. */
.badge-container { top:12px !important; left:12px !important; margin:0 !important; }
.badge-container .badge,
.badge-container .badge-circle { width:auto !important; height:auto !important; }
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner { min-width:0 !important; min-height:0 !important; width:auto !important; height:auto !important; padding:7px 11px !important; border:0 !important; border-radius:999px !important; background:linear-gradient(135deg,#8BFF2E,#82EE2B) !important; color:#fff !important; font-size:12px !important; line-height:1.15 !important; font-weight:800 !important; text-transform:none !important; box-shadow:0 5px 14px rgba(130,238,43,.20); }

/* 07. BLOG CARDS -------------------------------------------------------- */
.hvt-blog-section .row { align-items:stretch; }
.hvt-blog-section .post-item { display:flex; align-items:stretch; }
.hvt-blog-section .post-item .col-inner { width:100%; display:flex; align-items:stretch; }
.hvt-blog-section .post-item .box { width:100%; height:100%; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--hvt-border); border-radius:11px; background:#fff; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.hvt-blog-section .post-item .box:hover { border-color:#E1FFC9; box-shadow:var(--hvt-shadow); transform:translateY(-2px); }
.hvt-blog-section .post-item .box-image { display:block !important; flex:0 0 auto; width:100%; overflow:hidden; background:#f8f8fa; }
.hvt-blog-section .post-item .box-image .image-cover { padding-top:56.25% !important; }
.hvt-blog-section .post-item .box-image img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .22s ease; }
.hvt-blog-section .post-item .box:hover .box-image img { transform:scale(1.025); }
.hvt-blog-section .post-item .box-text { flex:1 1 auto; display:flex; flex-direction:column; padding:11px 13px 13px; text-align:left; }
.hvt-blog-section .post-title { min-height:2.9em; margin:0 0 5px; font-size:14px; line-height:1.45; font-weight:700; color:#222b40; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.hvt-blog-section .post-meta { margin:0 0 7px; color:#969da9; font-size:11px; }
.hvt-blog-section .is-divider { display:none; }
.hvt-blog-section .from_the_blog_excerpt { min-height:2.8em; margin:0; color:#7d8593; font-size:12px; line-height:1.4; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }

/* 08. SINGLE PRODUCT ---------------------------------------------------- */
.single-product .product-page-title { margin:0; padding:0; background:linear-gradient(90deg,#fff9fb,#F9FFF4); border-bottom:1px solid #EBF3E4; }
.single-product .product-page-title .page-title-inner { min-height:0 !important; padding-top:12px; padding-bottom:12px; display:flex; align-items:center; }
.single-product .product-page-title .page-title-inner > * { margin-top:0; margin-bottom:0; }
.single-product .woocommerce-breadcrumb { margin:0 !important; color:#818998; font-size:12px; line-height:1.45; }
.single-product .woocommerce-breadcrumb a { color:#566173; }
.single-product .woocommerce-breadcrumb a:hover { color:var(--hvt-pink); }
.single-product .woocommerce-breadcrumb .divider { color:#b5bac3; }

.single-product .product-main { padding:28px 0 18px; }
.single-product .product-main > .row { align-items:flex-start; }
.single-product .product-main .product-gallery { padding-right:24px; }
.single-product .product-main .product-gallery .product-images,
.single-product .product-main .product-gallery .product-gallery-slider { border-radius:12px; background:#f8f8fa; }
.single-product .product-main .product-gallery .woocommerce-product-gallery__image img { width:100%; object-fit:contain; }
.single-product .product-main .product-thumbnails a { overflow:hidden; border:1px solid #ececf0; border-radius:7px; background:#fff; }
.single-product .product-main .product-thumbnails .is-nav-selected a { border-color:var(--hvt-pink); }

.single-product .product-main .product-info { padding:4px 10px 0 26px; }
.single-product .product-main .product-info .is-divider { display:none; }
.single-product .product-main .product-info > .product-title { color:#17213a; font-size:clamp(28px,2.3vw,38px); font-weight:800; line-height:1.18; margin:8px 0; }
.single-product .product-main .product-info > .woocommerce-product-rating { margin:2px 0 13px; }
.single-product .product-main .product-info > .price-wrapper { margin:0 0 12px; }
.single-product .product-main .product-info > .price-wrapper .price { color:#1d273c; font-size:23px; line-height:1.3; font-weight:800; }
.single-product .product-main .product-info > .price-wrapper .price del { color:#a8adb6 !important; font-size:.78em; font-weight:400; opacity:1 !important; margin-right:7px; }
.single-product .product-main .product-info > .price-wrapper .price ins { color:#1d273c; font-weight:800; text-decoration:none; }
.single-product .product-main .product-info > .product-short-description { color:#596274; font-size:14px; margin-bottom:16px; }
.single-product .product-main .product-info > .product-short-description p:last-child { margin-bottom:0; }

.single-product .product-main .product-info form.cart { display:flex; flex-wrap:wrap; align-items:stretch; gap:10px; margin-top:16px; }
.single-product .product-main .product-info form.cart .quantity { margin:0 !important; }
.single-product .product-main .product-info .quantity { display:inline-flex; min-height:46px; border:1px solid #dfe1e6; border-radius:8px; overflow:hidden; background:#fff; }
.single-product .product-main .product-info .quantity input[type="button"],
.single-product .product-main .product-info .quantity input[type="number"] { height:44px; border:0 !important; box-shadow:none !important; background:#fff; }
.single-product .product-main .product-info form.cart .single_add_to_cart_button {
  flex:0 1 320px;
  width:auto !important;
  min-width:270px;
  max-width:320px;
  min-height:46px;
  margin:0 !important;
  padding:0 24px !important;
  background:var(--hvt-pink) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-weight:800;
  box-shadow:0 6px 16px rgba(71,128,25,.16);
}
.single-product .product-main .product-info form.cart .single_add_to_cart_button:hover { background:var(--hvt-pink-dark) !important; }

/* Zoom / lightbox button: supports legacy Flatsome and current WooCommerce markup. */
.single-product .product-gallery .zoom-button,
.single-product .product-gallery .woocommerce-product-gallery__trigger {
  width:42px !important; height:42px !important; min-width:42px !important; min-height:42px !important;
  display:flex !important; align-items:center; justify-content:center;
  border:1px solid #DEF1CF !important; border-radius:12px !important;
  background:rgba(255,255,255,.96) !important; color:var(--hvt-pink) !important;
  box-shadow:0 8px 22px rgba(31,39,58,.10) !important;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease !important;
}
.single-product .product-gallery .zoom-button:hover,
.single-product .product-gallery .woocommerce-product-gallery__trigger:hover { transform:translateY(-2px) scale(1.03); background:var(--hvt-pink) !important; color:#fff !important; box-shadow:0 12px 26px rgba(71,128,25,.22) !important; }
.single-product .product-gallery .zoom-button i { transition:transform .2s ease; }
.single-product .product-gallery .zoom-button:hover i { transform:scale(1.08); }

.hvt-product-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0 4px; }
.hvt-product-benefit { display:flex; align-items:center; gap:9px; min-height:58px; padding:9px 11px; border:1px solid #ececf0; border-radius:9px; background:#fafafd; }
.hvt-product-benefit b { display:block; color:#30384a; font-size:12px; line-height:1.15; }
.hvt-product-benefit small { display:block; color:#8e95a1; font-size:10px; margin-top:2px; }
.hvt-benefit-icon { width:30px; height:30px; min-width:30px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#F7FFF1; color:var(--hvt-pink); font-size:16px; font-weight:800; }
.hvt-product-benefit:last-child .hvt-benefit-icon { background:#F9E8F1; color:var(--hvt-green); }

.single-product .product-footer { padding-top:6px; }
.single-product .woocommerce-tabs { overflow:hidden; margin-top:10px; border:1px solid #e7e7ec; border-radius:12px; background:#fff; }
.single-product .woocommerce-tabs .tabs { margin:0; padding:0 18px; background:linear-gradient(#fafafd,#f6f6f8); border-bottom:1px solid #e7e7ec; }
.single-product .woocommerce-tabs .tabs li { margin:0 10px 0 0; }
.single-product .woocommerce-tabs .tabs li a { min-height:48px; display:inline-flex; align-items:center; font-size:13px; font-weight:700; color:#4b5465; }
.single-product .woocommerce-tabs .tabs li.active a { color:var(--hvt-pink); }
.single-product .woocommerce-tabs .tabs li.active a::before { background:var(--hvt-pink); }
.single-product .woocommerce-tabs .tab-panels { padding:20px 22px 22px; font-size:14px; }
.single-product .related-products-wrapper { padding-top:24px; }
.single-product .related-products-wrapper .product-section-title { color:#20283c; font-size:24px; font-weight:800; border:0; text-transform:none; }
/* Explicit parent-child scope prevents main product price styles leaking into related cards. */
.single-product .related-products-wrapper .product-small .price-wrapper .price { color:#20283b; font-size:15px !important; line-height:1.4; font-weight:800; }
.single-product .related-products-wrapper .product-small .price-wrapper .price del { color:#a4aab4 !important; font-size:.88em !important; font-weight:400; }
.single-product .related-products-wrapper .product-small .price-wrapper .price ins { color:#20283b; font-size:1em !important; text-decoration:none; }

/* 09. FOOTER / SOCIAL --------------------------------------------------- */
.hvt-footer-main { border-top:1px solid #EBF1E6; background:linear-gradient(110deg,#fff,#fff8fb); }
.hvt-footer-logo { width:46% !important; max-width:175px !important; margin:0 0 8px; }
.hvt-footer-logo .img-inner,
.hvt-footer-logo img { width:100% !important; max-width:175px !important; height:auto !important; object-fit:contain; }
.hvt-footer-main .hvt-footer-brand p { color:#808897; font-size:12px; }
.hvt-footer-main h4 { margin:0 0 10px; font-size:13px; color:#273046; font-weight:800; }
.hvt-footer-main p { margin-bottom:7px; font-size:12px; color:#6f7786; }
.hvt-footer-social { display:flex; gap:9px; margin-top:10px; }
.hvt-footer-social span { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #e1e3e8; border-radius:50%; background:#fff; color:var(--hvt-pink); font-size:15px; line-height:1; font-weight:800; box-shadow:0 2px 8px rgba(31,39,58,.04); cursor:default; transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease; }
.hvt-footer-social span:hover { transform:translateY(-2px); background:var(--hvt-pink); border-color:var(--hvt-pink); color:#fff; box-shadow:0 7px 16px rgba(71,128,25,.18); }
.hvt-footer-bottom { padding-top:14px; margin-top:8px; border-top:1px solid #eeeef2; color:#959ba7; font-size:11px; }
.absolute-footer { background:#fff !important; color:#9097a3; }

/* Back to top - rounded square instead of the default circle. */
.back-to-top,
#top-link {
  width:46px !important; height:46px !important; min-width:46px !important; min-height:46px !important;
  display:flex !important; align-items:center; justify-content:center;
  border:1px solid #DCF1CB !important; border-radius:14px !important;
  background:rgba(255,255,255,.96) !important; color:var(--hvt-pink) !important;
  box-shadow:0 9px 24px rgba(31,39,58,.12) !important;
  transition:transform .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease,border-color .22s ease !important;
}
.back-to-top:hover,
#top-link:hover { transform:translateY(-4px); background:var(--hvt-pink) !important; border-color:var(--hvt-pink) !important; color:#fff !important; box-shadow:0 13px 28px rgba(71,128,25,.23) !important; }
.back-to-top i,
#top-link i { transition:transform .22s ease; }
.back-to-top:hover i,
#top-link:hover i { transform:translateY(-3px); }

/* 10. RESPONSIVE -------------------------------------------------------- */
@media (max-width:1100px) and (min-width:850px) {
  .header-main .header-search-form { flex-basis:450px; width:450px !important; max-width:450px; min-width:260px; margin-left:16px; }
  .header-main .header-nav-main.nav-right > li { margin-left:10px; }
  #wide-nav .nav > li { margin-left:10px; margin-right:10px; }
  #wide-nav .nav > li > a { font-size:12px; }
}

@media (max-width:849px) {
  .header-main .header-inner { min-height:64px; }
  #logo img { max-height:42px; }
  .header-main .mobile-nav { min-height:64px; align-items:center; }
  .header-main .mobile-nav > li > a { min-height:44px; display:inline-flex; align-items:center; }

  #wide-nav { padding:8px 0 10px; border-top:1px solid #f2f2f4; }
  #wide-nav .flex-row { min-height:0; }
  #wide-nav .show-for-medium.flex-grow,
  #wide-nav .mobile-nav,
  #wide-nav .header-search-form { width:100% !important; max-width:none; min-width:0; margin:0; }
  #wide-nav .mobile-nav { min-height:42px; margin:0; }
  #wide-nav .header-search-form-wrapper { width:100%; }
  #wide-nav .header-search-form-wrapper form.searchform > .flex-row { height:40px; }
  #wide-nav .header-search-form-wrapper .search-field,
  #wide-nav .header-search-form-wrapper .ux-search-submit { height:38px !important; }

  .hvt-trust-row > .col { min-height:72px; }
  .hvt-trust-row > .col:nth-child(3) { border-left:0; border-top:1px solid #f0f0f3; }
  .hvt-trust-row > .col:nth-child(4) { border-top:1px solid #f0f0f3; }
  .hvt-trust-item { min-height:72px; padding:12px 8px; }
  .hvt-trust-item .img { width:32px !important; min-width:32px; }

  .hvt-category-card .img-inner { height:120px; }
  .products .product-small .box-image,
  .related-products-wrapper .product-small .box-image { aspect-ratio:1.10 / 1; }
  .products .product-small .box-image img,
  .related-products-wrapper .product-small .box-image img { padding:12px; transform:scale(.92) !important; }
  .products .product-small .box:hover .box-image img,
  .related-products-wrapper .product-small .box:hover .box-image img { transform:scale(.96) !important; }

  .single-product .product-main .product-gallery { padding-right:15px; }
  .single-product .product-main .product-info { padding:22px 15px 0; }
  .single-product .product-main .product-info > .product-title { font-size:28px; }
}

@media (max-width:549px) {
  .hvt-cat-section { padding-top:20px !important; padding-bottom:10px !important; }
  .hvt-products-section,.hvt-blog-section { padding-top:14px !important; padding-bottom:18px !important; }
  .hvt-section-heading { margin-bottom:12px; }
  .hvt-section-heading h2 { font-size:19px; padding-left:24px; }
  .hvt-section-heading h2::before { top:5px; }
  .hvt-section-heading a { display:none; }

  .hvt-trust-copy strong { font-size:11px; }
  .hvt-trust-copy span { font-size:9px; }
  .hvt-category-card .img-inner { height:102px; }
  .hvt-category-card-body { min-height:65px; padding:9px 10px 10px; }
  .hvt-category-card-body strong { font-size:11px; }

  .products .product-small .box,
  .related-products-wrapper .product-small .box { border-radius:10px; }
  .products .product-small .box-text,
  .related-products-wrapper .product-small .box-text { padding:9px 10px 11px; }
  .product-small .product-title a { font-size:13px; }
  .product-small .title-wrapper { min-height:39px; }
  .product-small .price-wrapper .price { font-size:13px; }
  .product-small .add-to-cart-button { margin-top:8px; }
  .product-small .add-to-cart-button a,
  .product-small .button,
  .woocommerce .products .product-small .button { min-height:36px; font-size:11px; padding-left:7px; padding-right:7px; }

  .hvt-blog-section .post-item .box-text { padding:10px 11px 12px; }
  .hvt-blog-section .post-title { font-size:13px; }

  .single-product .product-page-title .page-title-inner { padding-top:10px; padding-bottom:10px; }
  .single-product .product-main .product-info form.cart { display:grid; grid-template-columns:108px minmax(0,1fr); }
  .single-product .product-main .product-info form.cart .single_add_to_cart_button { width:100% !important; min-width:0; max-width:none; padding-left:12px !important; padding-right:12px !important; }
  .hvt-product-benefits { grid-template-columns:1fr; }
  .single-product .woocommerce-tabs .tabs { overflow-x:auto; white-space:nowrap; }

  .hvt-footer-logo { width:50% !important; max-width:160px !important; }
  .hvt-footer-social span { width:36px; height:36px; font-size:14px; }
  .back-to-top,#top-link { width:44px !important; height:44px !important; min-width:44px !important; min-height:44px !important; border-radius:13px !important; }
}

@media (max-width:380px) {
  .product-small .product-title a { font-size:12px; }
}

/* =======================================================================
   v1.3.0 REFINEMENTS
   - Restore native 5-column Flatsome product categories.
   - Home blog: image left (38%) / copy right via native vertical box style.
   - Larger readable body copy.
   - Single-product CTA pair scoped to the actual cart wrapper.
======================================================================= */

/* A. NATIVE PRODUCT CATEGORY BOXES ------------------------------------- */
.hvt-cat-section .row .product-category {
  display:flex;
  align-items:stretch;
}
.hvt-cat-section .product-category > .col-inner {
  width:100%;
  display:flex;
  align-items:stretch;
}
.hvt-cat-section .product-category .box-category {
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--hvt-border);
  border-radius:11px;
  background:#fff;
  box-shadow:0 2px 8px rgba(31,39,58,.025);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.hvt-cat-section .product-category .box-category:hover {
  border-color:#E0FFC8;
  transform:translateY(-3px);
  box-shadow:var(--hvt-shadow);
}
.hvt-cat-section .product-category .box-category .box-image {
  width:100%;
  height:136px;
  flex:0 0 136px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(140deg,#fff8fb,#F3FFE9);
}
.hvt-cat-section .product-category .box-category .box-image > div {
  width:100%;
  height:100% !important;
  padding-top:0 !important;
}
.hvt-cat-section .product-category .box-category .box-image img {
  width:100%;
  height:100%;
  padding:9px;
  object-fit:contain;
  object-position:center;
  transform:scale(.95) !important;
  transition:transform .22s ease !important;
}
.hvt-cat-section .product-category .box-category:hover .box-image img {
  transform:scale(.99) !important;
}
.hvt-cat-section .product-category .box-category .box-text {
  min-height:82px;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:11px 12px 12px;
  text-align:left !important;
}
.hvt-cat-section .product-category .box-category .box-text .header-title,
.hvt-cat-section .product-category .box-category .box-text h5 {
  min-height:2.7em;
  margin:0;
  color:#20283a;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.hvt-cat-section .product-category .box-category .box-text::after {
  content:"Xem ngay →";
  margin-top:auto;
  padding-top:5px;
  color:var(--hvt-pink);
  font-size:11px;
  line-height:1.25;
  font-weight:700;
}
.hvt-cat-section .product-category .count { display:none !important; }

/* B. HOME BLOG — NATIVE VERTICAL BOX = IMAGE LEFT / TEXT RIGHT ---------- */
.hvt-blog-section .post-item {
  display:flex;
  align-items:stretch;
}
.hvt-blog-section .post-item > .col-inner {
  width:100%;
  display:flex;
}
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  width:100%;
  min-height:164px;
  height:100%;
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--hvt-border);
  border-radius:11px;
  background:#fff;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  display:block !important;
  width:38% !important;
  max-width:38% !important;
  flex:0 0 38% !important;
  align-self:stretch;
  margin:0 !important;
  overflow:hidden;
  background:#f7f7f9;
}
.hvt-blog-section .post-item .box-image .image-cover {
  width:100%;
  height:100% !important;
  min-height:164px;
  padding-top:0 !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:62% !important;
  max-width:62% !important;
  flex:1 1 62% !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px 14px 13px !important;
  text-align:left !important;
}
.hvt-blog-section .post-title {
  min-height:2.8em;
  margin:0 0 6px;
  color:#222b40;
  font-size:14.5px;
  line-height:1.4;
  font-weight:750;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.hvt-blog-section .post-meta {
  margin:0 0 7px;
  color:#979eaa;
  font-size:12px;
  line-height:1.35;
}
.hvt-blog-section .is-divider { display:none !important; }
.hvt-blog-section .from_the_blog_excerpt {
  min-height:2.9em;
  margin:0;
  color:#747d8c;
  font-size:13.5px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* C. TYPOGRAPHY READABILITY --------------------------------------------- */
.single-product .product-main .product-info > .product-short-description {
  font-size:15.5px;
  line-height:1.6;
}
.single-product .woocommerce-tabs .tab-panels {
  font-size:15.5px;
  line-height:1.65;
}
.hvt-footer-main .hvt-footer-brand p,
.hvt-footer-main p {
  font-size:14px;
  line-height:1.55;
}
.hvt-footer-main h4 { font-size:14px; }
.hvt-footer-bottom { font-size:12px; }
.single-product .woocommerce-breadcrumb { font-size:13px; }

/* D. SINGLE PRODUCT CART ACTIONS ----------------------------------------
   User child-theme code outputs:
   .quantity-row + .custom-btn-wrapper containing MUA NGAY then ADD TO CART.
   These selectors intentionally beat generic/legacy button CSS.
------------------------------------------------------------------------ */
.single-product .product-main .product-info form.cart {
  display:block !important;
  margin-top:16px;
}
.single-product .product-main .product-info form.cart .quantity-row {
  width:100%;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:10px;
  margin:0 0 11px !important;
}
.single-product .product-main .product-info form.cart .qty-label {
  margin:0 !important;
  padding:0 8px 0 0 !important;
  font-size:15px !important;
  line-height:46px !important;
  font-weight:700;
}
.single-product .product-main .product-info form.cart .quantity.buttons_added.form-normal,
.single-product .product-main .product-info form.cart .quantity {
  width:auto !important;
  margin:0 !important;
}
.single-product .product-main .product-info form.cart .custom-btn-wrapper {
  width:100%;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start;
  gap:10px;
  margin:0 !important;
}
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .button,
.single-product .product-main .product-info form.cart .custom-btn-wrapper > button {
  min-height:46px !important;
  height:46px !important;
  margin:0 !important;
  border-radius:8px !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
}
/* MUA NGAY: primary pink */
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .custom-red-outline-btn.custom-ajax-add-and-redirect,
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .buy_now_button,
.single-product .product-main .product-info form.cart .custom-ajax-add-and-redirect {
  flex:0 0 180px !important;
  width:180px !important;
  min-width:160px !important;
  max-width:190px !important;
  padding:0 20px !important;
  background:var(--hvt-pink) !important;
  border:1.5px solid var(--hvt-pink) !important;
  color:#fff !important;
}
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .custom-red-outline-btn.custom-ajax-add-and-redirect:hover,
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .buy_now_button:hover,
.single-product .product-main .product-info form.cart .custom-ajax-add-and-redirect:hover {
  background:var(--hvt-pink-dark) !important;
  border-color:var(--hvt-pink-dark) !important;
  color:#fff !important;
  transform:translateY(-1px);
}
/* ADD TO CART: secondary white outline */
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .single_add_to_cart_button.button,
.single-product .product-main .product-info form.cart .single_add_to_cart_button.button.alt {
  flex:0 1 235px !important;
  width:235px !important;
  min-width:205px !important;
  max-width:245px !important;
  padding:0 20px !important;
  background:#fff !important;
  border:1.5px solid var(--hvt-pink) !important;
  color:var(--hvt-pink) !important;
  box-shadow:none !important;
}
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .single_add_to_cart_button.button:hover,
.single-product .product-main .product-info form.cart .single_add_to_cart_button.button.alt:hover {
  background:var(--hvt-pink-soft) !important;
  border-color:var(--hvt-pink-dark) !important;
  color:var(--hvt-pink-dark) !important;
  transform:translateY(-1px);
}

@media (max-width:849px) {
  .hvt-cat-section .product-category .box-category .box-image {
    height:124px;
    flex-basis:124px;
  }
  .hvt-blog-section .post-item .box,
  .hvt-blog-section .post-item .box.box-vertical,
  .hvt-blog-section .post-item .box-image .image-cover {
    min-height:158px;
  }
  .hvt-blog-section .post-item .box-image,
  .hvt-blog-section .post-item .box.box-vertical .box-image {
    width:36% !important;
    max-width:36% !important;
    flex-basis:36% !important;
  }
  .hvt-blog-section .post-item .box-text,
  .hvt-blog-section .post-item .box.box-vertical .box-text {
    width:64% !important;
    max-width:64% !important;
    flex-basis:64% !important;
  }
}

@media (max-width:549px) {
  body { font-size:15.5px; line-height:1.6; }
  .hvt-cat-section .product-category .box-category .box-image {
    height:108px;
    flex-basis:108px;
  }
  .hvt-cat-section .product-category .box-category .box-text {
    min-height:76px;
    padding:9px 10px 10px;
  }
  .hvt-cat-section .product-category .box-category .box-text .header-title,
  .hvt-cat-section .product-category .box-category .box-text h5 { font-size:12px; }
  .hvt-cat-section .product-category .box-category .box-text::after { font-size:10px; }

  .hvt-blog-section .post-item .box,
  .hvt-blog-section .post-item .box.box-vertical,
  .hvt-blog-section .post-item .box-image .image-cover {
    min-height:142px;
  }
  .hvt-blog-section .post-item .box-image,
  .hvt-blog-section .post-item .box.box-vertical .box-image {
    width:35% !important;
    max-width:35% !important;
    flex-basis:35% !important;
  }
  .hvt-blog-section .post-item .box-text,
  .hvt-blog-section .post-item .box.box-vertical .box-text {
    width:65% !important;
    max-width:65% !important;
    flex-basis:65% !important;
    padding:10px 10px 9px !important;
  }
  .hvt-blog-section .post-title { font-size:13.5px; margin-bottom:4px; }
  .hvt-blog-section .post-meta { font-size:11px; margin-bottom:5px; }
  .hvt-blog-section .from_the_blog_excerpt { font-size:12.5px; }

  .single-product .product-main .product-info form.cart {
    display:block !important;
  }
  .single-product .product-main .product-info form.cart .custom-btn-wrapper {
    width:100%;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);
    gap:8px;
  }
  .single-product .product-main .product-info form.cart .custom-btn-wrapper > .custom-red-outline-btn.custom-ajax-add-and-redirect,
  .single-product .product-main .product-info form.cart .custom-btn-wrapper > .buy_now_button,
  .single-product .product-main .product-info form.cart .custom-ajax-add-and-redirect,
  .single-product .product-main .product-info form.cart .custom-btn-wrapper > .single_add_to_cart_button.button,
  .single-product .product-main .product-info form.cart .single_add_to_cart_button.button.alt {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    padding-left:9px !important;
    padding-right:9px !important;
    font-size:12.5px !important;
  }
}

/* =======================================================================
   v1.4.0 HEADER / MOBILE / SITE ICON / CTA POLISH
   Native Flatsome settings are applied in design.json; these rules only
   refine presentation and explicitly prevent old dark-header CSS cascades.
======================================================================= */

/* A. HEADER MAIN: force readable dark content on white ------------------ */
.header:not(.transparent) .header-main,
.header:not(.transparent) .header-main .header-inner {
  color:var(--hvt-ink) !important;
}
.header:not(.transparent) .header-main .header-nav-main > li > a,
.header:not(.transparent) .header-main .account-item > a,
.header:not(.transparent) .header-main .cart-item > a,
.header:not(.transparent) .header-main .menu-item > a,
.header:not(.transparent) .header-main .header-button > a {
  color:var(--hvt-ink) !important;
}
.header:not(.transparent) .header-main .header-nav-main > li > a:hover,
.header:not(.transparent) .header-main .account-item > a:hover,
.header:not(.transparent) .header-main .cart-item > a:hover,
.header:not(.transparent) .header-main .menu-item > a:hover {
  color:var(--hvt-pink) !important;
}
.header-main .account-item > a::after {
  content:"Tài khoản";
  display:inline-block;
  margin-left:6px;
  color:inherit;
  font-size:13px;
  line-height:1;
  font-weight:650;
}
.header-main .cart-item .header-cart-title {
  color:inherit !important;
  font-size:13px;
  font-weight:650;
}
.header-main .cart-item .cart-icon strong {
  border-color:var(--hvt-pink) !important;
  background:var(--hvt-pink) !important;
  color:#fff !important;
}
.header-main .cart-item .cart-icon strong::after { border-top-color:var(--hvt-pink) !important; }

/* B. HD LOGO: never stretch beyond the native width -------------------- */
#logo,
#logo a { display:flex; align-items:center; }
#logo img {
  width:auto !important;
  height:auto !important;
  max-width:150px !important;
  max-height:54px !important;
  object-fit:contain !important;
  image-rendering:auto;
  transform:none !important;
  filter:none !important;
}
.stuck #logo img { max-height:48px !important; }

/* C. SEARCH FORM: readable field + visible submit icon ----------------- */
.header-main .header-search-form {
  flex:0 0 520px !important;
  width:520px !important;
  max-width:520px !important;
  min-width:320px !important;
  margin:0 18px 0 24px !important;
}
.header-search-form-wrapper form.searchform,
.header-search-form-wrapper form.searchform > .flex-row {
  width:100% !important;
}
.header-search-form-wrapper form.searchform > .flex-row {
  height:42px !important;
  overflow:hidden;
  border:1px solid #dfe3e9 !important;
  border-radius:999px !important;
  background:#fbfcfd !important;
  box-shadow:0 1px 3px rgba(23,33,58,.03) !important;
}
.header-search-form-wrapper form.searchform:focus-within > .flex-row {
  border-color:#C7FF9A !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(71,128,25,.08) !important;
}
.header-search-form-wrapper .search-field {
  height:40px !important;
  margin:0 !important;
  padding:0 10px 0 18px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#3f4756 !important;
  -webkit-text-fill-color:#3f4756 !important;
  caret-color:var(--hvt-pink) !important;
  font-size:14px !important;
  line-height:40px !important;
  opacity:1 !important;
}
.header-search-form-wrapper .search-field::placeholder {
  color:#858d9b !important;
  -webkit-text-fill-color:#858d9b !important;
  opacity:1 !important;
}
.header-search-form-wrapper .ux-search-submit {
  width:46px !important;
  min-width:46px !important;
  height:40px !important;
  min-height:40px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#4d586c !important;
  box-shadow:none !important;
  opacity:1 !important;
}
.header-search-form-wrapper .ux-search-submit i,
.header-search-form-wrapper .ux-search-submit svg {
  color:#4d586c !important;
  fill:currentColor !important;
  opacity:1 !important;
  font-size:17px !important;
}
.header-search-form-wrapper .ux-search-submit:hover,
.header-search-form-wrapper .ux-search-submit:hover i,
.header-search-form-wrapper .ux-search-submit:hover svg {
  color:var(--hvt-pink) !important;
}

/* Desktop bottom menu remains a clean dark-on-white navigation bar. */
#wide-nav,
.header-bottom { background:#fff !important; }
#wide-nav .nav > li > a,
.header-bottom .nav > li > a { color:var(--hvt-ink) !important; }
#wide-nav .nav > li > a:hover,
#wide-nav .nav > li.active > a,
.header-bottom .nav > li > a:hover { color:var(--hvt-pink) !important; }

/* D. SINGLE PRODUCT CTA SPACING ---------------------------------------- */
.single-product .product-main .product-info form.cart .quantity-row {
  margin-bottom:15px !important;
}
.single-product .product-main .product-info form.cart .custom-btn-wrapper {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:14px !important;
  margin:0 !important;
}
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .single_add_to_cart_button.button,
.single-product .product-main .product-info form.cart .single_add_to_cart_button.button.alt {
  order:1 !important;
  flex:0 1 235px !important;
  width:235px !important;
  min-width:205px !important;
  max-width:245px !important;
  margin:0 !important;
  background:#fff !important;
  border:1.5px solid var(--hvt-pink) !important;
  color:var(--hvt-pink) !important;
}
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .custom-red-outline-btn.custom-ajax-add-and-redirect,
.single-product .product-main .product-info form.cart .custom-btn-wrapper > .buy_now_button,
.single-product .product-main .product-info form.cart .custom-ajax-add-and-redirect {
  order:2 !important;
  flex:0 0 180px !important;
  width:180px !important;
  min-width:165px !important;
  max-width:195px !important;
  margin:0 !important;
  background:var(--hvt-pink) !important;
  border:1.5px solid var(--hvt-pink) !important;
  color:#fff !important;
}

/* E. MOBILE HEADER + SEARCH + OFF-CANVAS MENU -------------------------- */
@media (max-width:849px) {
  .header-main { height:62px !important; }
  .header-main .header-inner { min-height:62px !important; height:62px !important; }
  #logo img {
    max-width:122px !important;
    max-height:40px !important;
  }
  .header-main .mobile-nav {
    min-height:62px !important;
    height:62px !important;
    align-items:center !important;
  }
  .header-main .mobile-nav > li { margin:0 3px !important; }
  .header-main .mobile-nav > li > a {
    min-width:40px;
    min-height:40px !important;
    height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px;
    color:var(--hvt-ink) !important;
  }
  .header-main .mobile-nav .nav-icon > a,
  .header-main .mobile-nav .menu-item > a {
    color:var(--hvt-ink) !important;
  }
  .header-main .mobile-nav .nav-icon > a:hover { color:var(--hvt-pink) !important; }
  .header-main .mobile-nav .header-cart-title,
  .header-main .mobile-nav .cart-price { display:none !important; }
  .header-main .mobile-nav .cart-item .cart-icon { margin:0 !important; }

  /* Mobile search sits on its own balanced row under the 62px main bar. */
  #wide-nav {
    padding:8px 12px 10px !important;
    border-top:1px solid #f1f2f5 !important;
    border-bottom:1px solid #eceef2 !important;
    background:#fff !important;
  }
  #wide-nav .flex-row,
  #wide-nav .show-for-medium.flex-grow,
  #wide-nav .mobile-nav,
  #wide-nav .header-search-form {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
  #wide-nav .header-search-form-wrapper form.searchform > .flex-row {
    height:42px !important;
    border-radius:999px !important;
    background:#f8f9fb !important;
  }
  #wide-nav .header-search-form-wrapper .search-field {
    height:40px !important;
    font-size:14px !important;
  }
  #wide-nav .header-search-form-wrapper .ux-search-submit {
    height:40px !important;
  }

  /* Flatsome off-canvas shell. */
  #main-menu.mobile-sidebar {
    width:86vw !important;
    max-width:360px !important;
    background:#fff !important;
  }
  #main-menu .sidebar-menu {
    min-height:100%;
    padding:20px 16px 26px !important;
    background:#fff !important;
    color:var(--hvt-ink) !important;
  }
  #main-menu .nav-sidebar.nav-vertical {
    margin:0 !important;
    padding:0 !important;
    text-transform:none !important;
  }
  #main-menu .nav-sidebar.nav-vertical > li {
    position:relative;
    margin:0 !important;
    border:0 !important;
    border-bottom:1px solid #f0f1f4 !important;
    background:transparent !important;
  }
  #main-menu .nav-sidebar.nav-vertical > li > a {
    min-height:48px;
    display:flex !important;
    align-items:center;
    padding:12px 4px !important;
    color:#252f43 !important;
    font-size:15.5px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }
  #main-menu .nav-sidebar.nav-vertical > li > a:hover,
  #main-menu .nav-sidebar.nav-vertical > li.current-menu-item > a,
  #main-menu .nav-sidebar.nav-vertical > li.current-menu-ancestor > a {
    color:var(--hvt-pink) !important;
  }
  #main-menu .nav-sidebar .children,
  #main-menu .nav-sidebar .nav-sidebar-ul {
    margin:0 0 8px 8px !important;
    padding:4px 0 5px 12px !important;
    border-left:2px solid #F0FFE3 !important;
    background:transparent !important;
  }
  #main-menu .nav-sidebar .children li,
  #main-menu .nav-sidebar .nav-sidebar-ul li {
    margin:0 !important;
    border:0 !important;
  }
  #main-menu .nav-sidebar .children li > a,
  #main-menu .nav-sidebar .nav-sidebar-ul li > a {
    display:block !important;
    padding:9px 6px !important;
    color:#596274 !important;
    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:550 !important;
    text-transform:none !important;
  }
  #main-menu .nav-sidebar .children li > a:hover,
  #main-menu .nav-sidebar .nav-sidebar-ul li > a:hover {
    color:var(--hvt-pink) !important;
  }
  #main-menu .account-item {
    margin-top:14px !important;
    padding:0 12px !important;
    border:1px solid #EAFFD8 !important;
    border-radius:11px !important;
    background:var(--hvt-pink-soft) !important;
  }
  #main-menu .account-item > a {
    min-height:46px;
    display:flex !important;
    align-items:center;
    color:var(--hvt-pink) !important;
    font-size:14.5px !important;
    font-weight:750 !important;
    text-transform:none !important;
  }
  #main-menu .account-item > a::after {
    content:"Tài khoản";
    margin-left:8px;
  }

  /* Keep product CTAs separated on tablet widths too. */
  .single-product .product-main .product-info form.cart .custom-btn-wrapper {
    gap:12px !important;
  }
}

@media (max-width:549px) {
  /* Mobile product CTA: vertical, full width, and clearly separated. */
  .single-product .product-main .product-info form.cart .quantity-row {
    margin-bottom:15px !important;
  }
  .single-product .product-main .product-info form.cart .custom-btn-wrapper {
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:12px !important;
    margin:0 !important;
  }
  .single-product .product-main .product-info form.cart .custom-btn-wrapper > .single_add_to_cart_button.button,
  .single-product .product-main .product-info form.cart .single_add_to_cart_button.button.alt,
  .single-product .product-main .product-info form.cart .custom-btn-wrapper > .custom-red-outline-btn.custom-ajax-add-and-redirect,
  .single-product .product-main .product-info form.cart .custom-btn-wrapper > .buy_now_button,
  .single-product .product-main .product-info form.cart .custom-ajax-add-and-redirect {
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:48px !important;
    height:48px !important;
    margin:0 !important;
    padding:0 14px !important;
    font-size:14px !important;
  }
}



/* =======================================================================
   v1.5.0 MERCHANDISING HOMEPAGE
   Full homepage redesign while retaining native Flatsome/WooCommerce cards.
   Content remains inside the 1200px site container; only the hero itself is
   visually full-width as established in earlier versions.
======================================================================= */

/* A. Section rhythm ----------------------------------------------------- */
.hvt-featured-products { padding-top:22px !important; padding-bottom:34px !important; }
.hvt-merch-section { padding:20px 0 28px !important; }
.hvt-why-section { padding:30px 0 26px !important; }
.hvt-testimonial-section { padding:28px 0 30px !important; }
.hvt-heading-with-note > div,
.hvt-heading-centered > div { display:block; }
.hvt-heading-eyebrow {
  display:block; margin:0 0 5px 27px; color:#89A672; font-size:10px;
  line-height:1.2; font-weight:800; letter-spacing:.11em;
}
.hvt-heading-with-note h2,
.hvt-heading-centered h2 { margin-top:0; }
.hvt-heading-centered { justify-content:center; text-align:center; margin-bottom:18px; }
.hvt-heading-centered h2 { padding-left:0; }
.hvt-heading-centered h2::before { display:none; }
.hvt-heading-centered .hvt-heading-eyebrow { margin-left:0; }

/* B. Merchandising shells ---------------------------------------------- */
.hvt-merch-shell {
  overflow:hidden; margin-left:0 !important; margin-right:0 !important;
  border:1px solid #ececf1; border-radius:18px; background:#fff;
  box-shadow:0 8px 28px rgba(31,39,58,.045);
}
.hvt-merch-shell > .col { padding-bottom:0; }
.hvt-merch-promo-col,
.hvt-merch-copy-col { display:flex; align-items:stretch; }
.hvt-merch-promo-col > .col-inner,
.hvt-merch-copy-col > .col-inner { width:100%; display:flex; }
.hvt-merch-promo,
.hvt-merch-copy {
  width:100%; min-height:100%; display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; padding:30px 28px;
}
.hvt-promo-pink { background:linear-gradient(145deg,#fff6fa 0%,#F2FFE7 100%); }
.hvt-promo-soft { background:linear-gradient(145deg,#fff 0%,#F9FFF4 100%); }
.hvt-merch-label {
  display:inline-flex; align-items:center; min-height:25px; margin-bottom:12px; padding:5px 9px;
  border-radius:999px; background:rgba(71,128,25,.09); color:var(--hvt-pink);
  font-size:10px; font-weight:850; letter-spacing:.08em;
}
.hvt-label-green { background:rgba(181,58,125,.12); color:#9E2969; }
.hvt-merch-promo h2,
.hvt-merch-copy h2 {
  max-width:460px; margin:0 0 11px; color:#182137; font-size:27px; line-height:1.22; font-weight:850;
}
.hvt-merch-promo p,
.hvt-merch-copy p {
  max-width:480px; margin:0 0 13px; color:#697284; font-size:14.5px; line-height:1.62;
}
.hvt-merch-art { width:100%; max-width:270px; margin:2px auto 10px; align-self:center; }
.hvt-merch-art .img-inner { background:transparent !important; }
.hvt-merch-art img { width:100%; height:auto; object-fit:contain; }
.hvt-merch-art-small { max-width:205px; }
.hvt-merch-link {
  display:inline-flex; align-items:center; min-height:40px; margin-top:4px; padding:0 15px;
  border:1px solid rgba(71,128,25,.32); border-radius:999px; color:var(--hvt-pink) !important;
  background:#fff; font-size:12px; font-weight:800;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.hvt-merch-link:hover { background:var(--hvt-pink); border-color:var(--hvt-pink); color:#fff !important; transform:translateY(-1px); }
.hvt-merch-link-green { color:#8F255F !important; border-color:rgba(171,53,118,.38); }
.hvt-merch-link-green:hover { background:#AD3175; border-color:#AD3175; color:#fff !important; }

/* C. Product areas nested inside showcase ------------------------------ */
.hvt-merch-products { padding:24px 22px 12px !important; background:#fff; }
.hvt-merch-inline-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 13px; }
.hvt-merch-inline-heading h3 { margin:0; color:#222b40; font-size:17px; line-height:1.3; font-weight:800; }
.hvt-merch-inline-heading a { color:var(--hvt-pink); font-size:11px; font-weight:750; }
.hvt-merch-products .products.row { margin-left:-6px !important; margin-right:-6px !important; }
.hvt-merch-products .products.row > .product-small { padding-left:6px !important; padding-right:6px !important; padding-bottom:12px !important; }
.hvt-merch-products .product-small .box { border-radius:11px; box-shadow:none; }
.hvt-merch-products .product-small .box-image { aspect-ratio:1.35 / 1; }
.hvt-merch-products .product-small .box-image img { padding:10px; transform:scale(.9) !important; }
.hvt-merch-products .product-small .box:hover .box-image img { transform:scale(.95) !important; }
.hvt-merch-products .product-small .box-text { padding:9px 10px 10px; }
.hvt-merch-products .product-small .product-title a { font-size:12.5px; }
.hvt-merch-products .product-small .title-wrapper { min-height:37px; }
.hvt-merch-products .product-small .price-wrapper .price { font-size:13.5px; }
.hvt-merch-products .product-small .add-to-cart-button { margin-top:7px; }
.hvt-merch-products .product-small .add-to-cart-button a,
.hvt-merch-products .product-small .button { min-height:34px; font-size:10.5px; border-radius:7px; }

/* D. Full-width-row variants kept inside the 1200px row ---------------- */
.hvt-merch-panel { padding:0 !important; }
.hvt-panel-pink { background:linear-gradient(110deg,#fff7fa 0%,#fff 64%); border-color:#E7F3DE; }
.hvt-panel-green { background:linear-gradient(110deg,#fff 25%,#f6fbf2 100%); border-color:#EDD6E3; }
.hvt-merch-panel .hvt-merch-copy { padding:28px 26px; }
.hvt-merch-panel .hvt-merch-products { background:transparent; }

/* E. Collagen drink benefit ribbon ------------------------------------- */
.hvt-mini-benefits {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:hidden;
  margin-top:14px; border:1px solid #ececf1; border-radius:14px; background:#fbfbfc;
}
.hvt-mini-benefits > div { position:relative; min-height:78px; padding:14px 13px 12px 50px; }
.hvt-mini-benefits > div + div { border-left:1px solid #e9e9ee; }
.hvt-mini-benefits > div > span {
  position:absolute; left:13px; top:15px; display:flex; width:27px; height:27px; align-items:center;
  justify-content:center; border-radius:9px; background:#F7FFF1; color:var(--hvt-pink); font-size:10px; font-weight:850;
}
.hvt-mini-benefits strong { display:block; margin-bottom:3px; color:#283146; font-size:12px; line-height:1.3; }
.hvt-mini-benefits small { display:block; color:#89909c; font-size:10.5px; line-height:1.35; }

/* F. Why InnoPha -------------------------------------------------------- */
.hvt-why-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.hvt-why-card {
  min-height:164px; padding:22px 18px; border:1px solid #ececf1; border-radius:15px; background:#fff;
  text-align:center; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.hvt-why-card:hover { transform:translateY(-3px); border-color:#E4FFCD; box-shadow:0 10px 24px rgba(31,39,58,.07); }
.hvt-why-card .img { width:42px !important; margin:0 auto 12px; }
.hvt-why-card strong { display:block; margin:0 0 7px; color:#252e43; font-size:14px; line-height:1.35; }
.hvt-why-card > span { display:block; color:#7a8291; font-size:12.5px; line-height:1.5; }

/* G. Customer review placeholders (deliberately not fabricated) -------- */
.hvt-testimonial-section .row > .col > .col-inner {
  padding:25px 24px 24px; border-radius:18px; background:linear-gradient(145deg,#fff8fb,#fff);
  border:1px solid #E7F1DF;
}
.hvt-testimonial-note {
  max-width:780px; margin:-5px auto 16px; color:#9399a5; font-size:11px; line-height:1.5; text-align:center;
}
.hvt-testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.hvt-testimonial-card {
  position:relative; min-height:195px; overflow:hidden; padding:23px 20px 18px; border:1px solid #ececf1;
  border-radius:14px; background:#fff; box-shadow:0 5px 16px rgba(31,39,58,.035);
}
.hvt-quote { position:absolute; right:15px; top:2px; color:#EBFFDB; font-family:Georgia,serif; font-size:72px; line-height:1; }
.hvt-testimonial-card > strong { position:relative; display:block; margin-bottom:11px; color:#252e43; font-size:15px; }
.hvt-testimonial-card > p { position:relative; min-height:63px; margin:0 0 15px; color:#70798a; font-size:13.5px; line-height:1.58; }
.hvt-review-meta { padding-top:12px; border-top:1px solid #eeeef2; }
.hvt-review-meta span { display:block; color:#313a4d; font-size:12px; font-weight:750; }
.hvt-review-meta small { display:block; margin-top:2px; color:#9aa0aa; font-size:10.5px; }

/* H. Homepage blog gets more breathing room after the review section --- */
.hvt-testimonial-section + .hvt-blog-section { padding-top:24px !important; }

/* I. Tablet ------------------------------------------------------------- */
@media (max-width:849px) {
  .hvt-featured-products { padding-bottom:26px !important; }
  .hvt-merch-section { padding:15px 0 20px !important; }
  .hvt-merch-shell { border-radius:15px; }
  .hvt-merch-promo,
  .hvt-merch-copy { padding:23px 20px; }
  .hvt-merch-promo h2,
  .hvt-merch-copy h2 { font-size:22px; }
  .hvt-merch-promo p,
  .hvt-merch-copy p { font-size:13.5px; }
  .hvt-merch-art { max-width:225px; }
  .hvt-merch-products { padding:18px 15px 8px !important; }
  .hvt-merch-products .product-small .box-image { aspect-ratio:1.22 / 1; }
  .hvt-mini-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hvt-mini-benefits > div:nth-child(3) { border-left:0; border-top:1px solid #e9e9ee; }
  .hvt-mini-benefits > div:nth-child(4) { border-top:1px solid #e9e9ee; }
  .hvt-why-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hvt-testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hvt-testimonial-card:last-child { grid-column:1 / -1; min-height:160px; }
}

/* J. Mobile ------------------------------------------------------------- */
@media (max-width:549px) {
  .hvt-featured-products { padding-top:17px !important; padding-bottom:20px !important; }
  .hvt-merch-section { padding:11px 0 16px !important; }
  .hvt-heading-eyebrow { margin-left:23px; font-size:9px; }
  .hvt-heading-centered .hvt-heading-eyebrow { margin-left:0; }
  .hvt-merch-shell { border-radius:13px; }
  .hvt-merch-split { display:flex !important; flex-direction:column; }
  .hvt-merch-reverse .hvt-merch-products { order:2; }
  .hvt-merch-reverse .hvt-merch-promo-col { order:1; }
  .hvt-order-mobile-1 { order:1; }
  .hvt-order-mobile-2 { order:2; }
  .hvt-merch-promo,
  .hvt-merch-copy { padding:20px 17px; min-height:0; }
  .hvt-merch-promo h2,
  .hvt-merch-copy h2 { font-size:20px; }
  .hvt-merch-promo p,
  .hvt-merch-copy p { font-size:13px; line-height:1.55; }
  .hvt-merch-art { max-width:180px; margin-top:2px; margin-bottom:8px; }
  .hvt-merch-art-small { max-width:150px; }
  .hvt-merch-link { min-height:38px; font-size:11px; }
  .hvt-merch-products { padding:15px 10px 5px !important; }
  .hvt-merch-inline-heading { padding:0 2px; }
  .hvt-merch-inline-heading h3 { font-size:15px; }
  .hvt-merch-products .products.row { margin-left:-4px !important; margin-right:-4px !important; }
  .hvt-merch-products .products.row > .product-small {
    width:50% !important; max-width:50% !important; flex-basis:50% !important;
    padding-left:4px !important; padding-right:4px !important; padding-bottom:8px !important;
  }
  .hvt-merch-products .product-small .box-image { aspect-ratio:1.04 / 1; }
  .hvt-merch-products .product-small .box-image img { padding:8px; }
  .hvt-merch-products .product-small .box-text { padding:8px 8px 9px; }
  .hvt-merch-products .product-small .product-title a { font-size:11.5px; }
  .hvt-merch-products .product-small .price-wrapper .price { font-size:12px; }
  .hvt-merch-products .product-small .add-to-cart-button a,
  .hvt-merch-products .product-small .button { min-height:33px; padding-left:5px; padding-right:5px; font-size:9.5px; }
  .hvt-mini-benefits { grid-template-columns:1fr 1fr; margin-top:10px; border-radius:11px; }
  .hvt-mini-benefits > div { min-height:72px; padding:12px 9px 10px 42px; }
  .hvt-mini-benefits > div > span { left:9px; top:12px; width:25px; height:25px; }
  .hvt-mini-benefits strong { font-size:11px; }
  .hvt-mini-benefits small { font-size:9.5px; }
  .hvt-why-section { padding:21px 0 18px !important; }
  .hvt-why-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .hvt-why-card { min-height:150px; padding:17px 11px; border-radius:12px; }
  .hvt-why-card .img { width:36px !important; margin-bottom:9px; }
  .hvt-why-card strong { font-size:12px; }
  .hvt-why-card > span { font-size:10.5px; line-height:1.45; }
  .hvt-testimonial-section { padding:20px 0 22px !important; }
  .hvt-testimonial-section .row > .col > .col-inner { padding:19px 12px 14px; border-radius:14px; }
  .hvt-testimonial-note { padding:0 5px; font-size:10px; }
  .hvt-testimonial-grid { grid-template-columns:1fr; gap:9px; }
  .hvt-testimonial-card,
  .hvt-testimonial-card:last-child { grid-column:auto; min-height:0; padding:19px 16px 15px; }
  .hvt-testimonial-card > p { min-height:0; font-size:12.5px; }
  .hvt-testimonial-card > strong { font-size:13.5px; }
  .hvt-quote { font-size:58px; }
}

/* =======================================================================
   v1.7.0 — NATIVE UX BUILDER SLIDERS + ARCHIVES + PAGES + CF7
   IMPORTANT:
   - Category carousel uses Flatsome Product Categories slider. Do not force
     product-category widths/flex-basis in custom CSS.
   - Testimonials use Flatsome UX Slider + Testimonial elements. CSS only
     styles the native cells; Flickity/drag/swipe stays owned by Flatsome.
======================================================================= */

/* 1) HOME PRODUCT CATEGORIES — native slider, equal native columns ------- */
.hvt-cat-section .row-slider,
.hvt-cat-section .flickity-viewport,
.hvt-cat-section .flickity-slider { min-width:0; }
.hvt-cat-section .flickity-viewport { overflow:hidden; }
.hvt-cat-section .product-category { min-width:0; }
.hvt-cat-section .product-category > .col-inner,
.hvt-cat-section .product-category .box-category { width:100%; min-width:0; }
.hvt-cat-section .flickity-page-dots { bottom:-18px; }
@media (max-width:849px){
  .hvt-cat-section { overflow:hidden; }
}

/* 2) NATIVE FLATSOME TESTIMONIAL SLIDER ---------------------------------- */
.hvt-testimonial-section .row > .col > .col-inner {
  padding:28px 26px 30px;
  border:1px solid #EAF0E5;
  border-radius:18px;
  background:linear-gradient(135deg,#fffafa,#F9FFF4);
  overflow:hidden;
}
.hvt-testimonials-native { margin:6px -7px 0; }
.hvt-testimonials-native .testimonial-box {
  box-sizing:border-box;
  width:380px;
  max-width:380px;
  min-height:220px;
  margin:0 7px 8px;
  padding:24px 22px 20px;
  border:1px solid #E4EADF;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 20px rgba(24,34,54,.045);
}
.hvt-testimonials-native .testimonial-box .testimonial-image { margin-bottom:10px; }
.hvt-testimonials-native .testimonial-box .testimonial-image img { width:52px; height:52px; object-fit:cover; }
.hvt-testimonials-native .testimonial-box .testimonial-text {
  min-height:0;
  padding:0 !important;
  color:#5f687a;
  font-size:15px;
  line-height:1.62;
  font-style:normal;
}
.hvt-testimonials-native .testimonial-box .testimonial-text p { margin-bottom:12px; }
.hvt-testimonials-native .testimonial-box .testimonial-meta {
  margin-top:14px;
  padding:12px 0 0;
  border-top:1px solid #f1e8eb;
  color:#1e293b;
  font-size:13px;
  font-style:normal;
}
.hvt-testimonials-native .testimonial-box .testimonial-company { color:#8b93a3; }
.hvt-review-stars { color:#ffb400; letter-spacing:2px; font-size:15px; font-weight:800; }
.hvt-testimonials-native .flickity-page-dots { bottom:-18px; }
.hvt-testimonials-native .flickity-page-dots .dot.is-selected { background:var(--hvt-pink); border-color:var(--hvt-pink); }
@media (max-width:849px){
  .hvt-testimonials-native .testimonial-box { width:calc(50vw - 34px) !important; max-width:calc(50vw - 34px) !important; }
}
@media (max-width:549px){
  .hvt-testimonial-section .row > .col > .col-inner { padding:22px 14px 27px; }
  .hvt-testimonials-native { margin-left:-5px; margin-right:-5px; }
  .hvt-testimonials-native .testimonial-box {
    width:calc(100vw - 64px) !important;
    max-width:calc(100vw - 64px) !important;
    min-height:205px;
    margin-left:5px;
    margin-right:5px;
    padding:21px 18px 18px;
  }
  .hvt-testimonials-native .testimonial-box .testimonial-text { font-size:14px; }
}

/* 3) FOOTER — four equal columns, contact information added -------------- */
.hvt-footer-main a { color:inherit; }
.hvt-footer-main a:hover { color:var(--hvt-pink); }
.hvt-footer-contact .hvt-contact-list,
.hvt-contact-list { margin:0; padding:0; list-style:none; }
.hvt-contact-list li { display:flex; flex-direction:column; gap:2px; margin:0 0 11px; }
.hvt-contact-list li strong { color:#293246; font-size:13px; font-weight:750; }
.hvt-contact-list li span { color:#778093; font-size:13px; line-height:1.45; }
.hvt-footer-edit-note { max-width:250px; margin-top:14px !important; color:#a0a6b2 !important; font-size:11px !important; line-height:1.45 !important; }
@media (max-width:849px){ .hvt-footer-main .col { margin-bottom:8px; } }

/* 4) GENERAL UX-BUILDER CONTENT PAGES ------------------------------------ */
.hvt-page-hero { border-bottom:1px solid #f1e8eb; }
.hvt-page-hero-pink { background:linear-gradient(135deg,#fff9fb,#F6FFEF); }
.hvt-page-hero-neutral { background:linear-gradient(135deg,#fbfbfc,#fff7f9); }
.hvt-page-hero .row,
.hvt-page-section .row { max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; }
.hvt-page-kicker {
  display:inline-block; margin-bottom:10px; color:var(--hvt-pink); font-size:12px; line-height:1.2;
  font-weight:800; letter-spacing:.085em; text-transform:uppercase;
}
.hvt-page-hero h1 { max-width:820px; margin:0 0 14px; color:#18243a; font-size:42px; line-height:1.12; letter-spacing:-.025em; }
.hvt-page-hero p { max-width:780px; margin:0; color:#657084; font-size:17px; line-height:1.7; }
.hvt-page-section { background:#fff; }
.hvt-page-soft { background:#fff8fa; }
.hvt-page-section h2 { color:#1d293d; font-size:28px; line-height:1.25; }
.hvt-page-section p { color:#657084; font-size:16px; line-height:1.72; }
.hvt-page-feature-image .img-inner { overflow:hidden; border-radius:18px; background:#fff7fa; }
.hvt-page-feature-image img { width:100%; height:auto; }
.hvt-check-list { display:grid; gap:10px; margin:22px 0 0; }
.hvt-check-list span { position:relative; padding-left:25px; color:#465167; font-size:15px; }
.hvt-check-list span:before { content:'✓'; position:absolute; left:0; top:0; color:var(--hvt-pink); font-weight:900; }
.hvt-value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.hvt-value-grid > div,
.hvt-info-card { height:100%; padding:24px; border:1px solid #ebe7ea; border-radius:14px; background:#fff; box-shadow:0 6px 20px rgba(26,34,52,.035); }
.hvt-value-grid strong,.hvt-info-card strong { display:block; margin-bottom:8px; color:#202b40; font-size:17px; }
.hvt-value-grid p,.hvt-info-card p { margin:0; font-size:14.5px; }
.hvt-page-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 34px; border-radius:18px; background:linear-gradient(135deg,#F7FFF1,#fff8fa); }
.hvt-page-cta h2 { margin-bottom:7px; }
.hvt-page-cta p { margin:0; }
.hvt-page-cta-actions { display:flex; gap:10px; flex:0 0 auto; }
.hvt-primary-link,.hvt-outline-link {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border-radius:999px;
  font-size:14px; font-weight:750; text-decoration:none !important; transition:.2s ease;
}
.hvt-primary-link { border:1px solid var(--hvt-pink); background:var(--hvt-pink); color:#fff !important; }
.hvt-primary-link:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(133,244,44,.18); }
.hvt-outline-link { border:1px solid #CFF5B0; background:#fff; color:var(--hvt-pink) !important; }
.hvt-outline-link:hover { background:#F8FFF3; }
@media (max-width:849px){
  .hvt-page-hero h1 { font-size:36px; }
  .hvt-value-grid { grid-template-columns:1fr; }
  .hvt-page-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width:549px){
  .hvt-page-hero { padding-top:36px !important; padding-bottom:34px !important; }
  .hvt-page-hero h1 { font-size:30px; }
  .hvt-page-hero p { font-size:15px; }
  .hvt-page-section { padding-top:36px !important; padding-bottom:40px !important; }
  .hvt-page-section h2 { font-size:24px; }
  .hvt-page-section p { font-size:15px; }
  .hvt-page-cta { padding:24px 20px; }
  .hvt-page-cta-actions { width:100%; flex-direction:column; }
  .hvt-page-cta-actions a { width:100%; }
}

/* 5) CONTACT FORM 7 ------------------------------------------------------ */
.hvt-contact-panel,.hvt-contact-form-card {
  height:100%; padding:30px; border:1px solid #ece5e8; border-radius:17px; background:#fff;
  box-shadow:0 7px 25px rgba(26,34,52,.04);
}
.hvt-contact-panel { background:linear-gradient(145deg,#fff7fa,#fff); }
.hvt-contact-form-card h2,.hvt-contact-panel h2 { margin-bottom:7px; }
.hvt-contact-list-page { margin-top:25px; }
.hvt-contact-list-page li { padding:13px 0; border-bottom:1px solid #eee8eb; }
.hvt-contact-list-page li:last-child { border-bottom:0; }
.hvt-contact-list-page li strong { font-size:14px; }
.hvt-contact-list-page li span { font-size:15px; }
.hvt-contact-tip { margin-top:18px; padding:12px 14px; border-radius:10px; background:#fff; color:#8b93a3; font-size:12px; line-height:1.5; }
.hvt-contact-form .hvt-cf7-fields { display:grid; gap:16px; }
.hvt-contact-form .hvt-cf7-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hvt-contact-form label { display:block; margin:0; color:#283247; font-size:14px; font-weight:700; }
.hvt-contact-form label small { color:#9ba2ae; font-size:11px; font-weight:500; }
.hvt-contact-form .hvt-required { color:var(--hvt-pink); }
.hvt-contact-form .wpcf7-form-control-wrap { display:block; margin-top:7px; }
.hvt-contact-form input[type='text'],
.hvt-contact-form input[type='tel'],
.hvt-contact-form input[type='email'],
.hvt-contact-form textarea {
  width:100%; margin:0; border:1px solid #dfe3e9; border-radius:10px; background:#fff; color:#253047;
  font-size:15px; font-weight:400; box-shadow:none; transition:border-color .2s ease,box-shadow .2s ease;
}
.hvt-contact-form input[type='text'],.hvt-contact-form input[type='tel'],.hvt-contact-form input[type='email'] { height:46px; padding:0 13px; }
.hvt-contact-form textarea { min-height:132px; padding:12px 13px; resize:vertical; }
.hvt-contact-form input:focus,.hvt-contact-form textarea:focus { border-color:#BFF593; box-shadow:0 0 0 3px rgba(133,244,44,.07); }
.hvt-contact-form .hvt-cf7-actions { margin-top:2px; }
.hvt-contact-form input[type='submit'].hvt-cf7-submit {
  min-width:150px; height:46px; margin:0; border:1px solid var(--hvt-pink); border-radius:10px;
  background:var(--hvt-pink); color:#fff; font-size:14px; font-weight:750; text-transform:none;
}
.hvt-contact-form input[type='submit'].hvt-cf7-submit:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(133,244,44,.16); }
.hvt-contact-form .wpcf7-not-valid-tip { margin-top:5px; font-size:12px; }
.hvt-contact-form .wpcf7-response-output { margin:14px 0 0 !important; padding:10px 12px !important; border-radius:9px; font-size:13px; }
@media(max-width:549px){
  .hvt-contact-panel,.hvt-contact-form-card { padding:23px 18px; }
  .hvt-contact-form .hvt-cf7-row { grid-template-columns:1fr; }
  .hvt-contact-form input[type='submit'].hvt-cf7-submit { width:100%; }
}

/* 6) WORDPRESS BLOG ARCHIVES / CATEGORY / TAG / SEARCH ------------------ */
.blog-archive.page-wrapper { padding-top:34px; padding-bottom:58px; }
.blog-archive .row,
.archive.category .blog-wrapper > .row,
.archive.tag .blog-wrapper > .row { max-width:1200px !important; }
.blog-archive .archive-page-header { margin-bottom:24px; padding:22px 24px; border-radius:14px; background:#fff7fa; }
.blog-archive .archive-page-header h1 { margin:0; color:#1d293d; font-size:30px; line-height:1.2; }
.blog-archive .post-item { display:flex; align-items:stretch; margin-bottom:24px; }
.blog-archive .post-item > .col-inner { width:100%; }
.blog-archive .post-item .box {
  height:100%; overflow:hidden; border:1px solid #e7e7eb; border-radius:14px; background:#fff;
  box-shadow:0 5px 18px rgba(28,36,54,.03); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.blog-archive .post-item .box:hover { transform:translateY(-3px); border-color:#D8F3C1; box-shadow:0 10px 28px rgba(28,36,54,.07); }
.blog-archive .post-item .box-image { overflow:hidden; background:#f8f8fa; }
.blog-archive .post-item .box-image img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.blog-archive .post-item .box-text { padding:17px 18px 20px; }
.blog-archive .post-item .post-title { min-height:2.75em; margin-bottom:8px; color:#1f2a3f; font-size:17px; line-height:1.38; font-weight:750; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.blog-archive .post-item .post-meta { color:#9aa1ad; font-size:12px; }
.blog-archive .post-item .from_the_blog_excerpt { margin-top:9px; color:#687285; font-size:14.5px; line-height:1.58; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.blog-archive .page-numbers li > a,.blog-archive .page-numbers li > span { border-radius:8px; }
.blog-archive .page-numbers .current { border-color:var(--hvt-pink); background:var(--hvt-pink); color:#fff; }
@media(max-width:549px){
  .blog-archive.page-wrapper { padding-top:24px; padding-bottom:42px; }
  .blog-archive .archive-page-header { padding:18px; }
  .blog-archive .archive-page-header h1 { font-size:25px; }
  .blog-archive .post-item .post-title { font-size:16px; }
}

/* 7) SINGLE BLOG POST ---------------------------------------------------- */
.single-post .blog-wrapper { padding-top:34px; padding-bottom:58px; }
.single-post .blog-wrapper > .row { max-width:940px !important; }
.single-post .article-inner { border:0; background:#fff; }
.single-post .entry-header { margin-bottom:24px; text-align:left; }
.single-post .entry-header .entry-title { margin-bottom:12px; color:#17243a; font-size:38px; line-height:1.18; letter-spacing:-.022em; }
.single-post .entry-header .entry-meta { color:#9aa1ad; font-size:13px; }
.single-post .entry-image img { width:100%; border-radius:16px; }
.single-post .entry-content { color:#344056; font-size:17px; line-height:1.78; }
.single-post .entry-content > p { margin-bottom:1.22em; }
.single-post .entry-content h2 { margin:1.55em 0 .62em; color:#18243a; font-size:28px; line-height:1.3; }
.single-post .entry-content h3 { margin:1.4em 0 .55em; color:#202c42; font-size:23px; line-height:1.35; }
.single-post .entry-content ul,.single-post .entry-content ol { margin:0 0 1.25em 1.2em; }
.single-post .entry-content li { margin-bottom:.42em; }
.single-post .entry-content blockquote { margin:1.5em 0; padding:18px 22px; border-left:4px solid var(--hvt-pink); border-radius:0 10px 10px 0; background:#fff6f9; color:#536075; font-size:16px; }
.single-post .entry-content img { height:auto; border-radius:12px; }
.single-post .entry-content .wp-caption-text { color:#8e96a4; font-size:12.5px; line-height:1.5; }
.single-post .entry-content a { color:var(--hvt-pink); text-decoration:underline; text-underline-offset:2px; }
.single-post .blog-share { margin-top:26px; padding-top:20px; border-top:1px solid #eee9ec; }
.hvt-post-after-cta { margin-top:30px; }
.hvt-post-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:27px 30px; border:1px solid #E5F1DB; border-radius:16px; background:linear-gradient(135deg,#F8FFF3,#fff9fb); }
.hvt-post-cta-inner h3 { margin:3px 0 7px; color:#1c283d; font-size:22px; }
.hvt-post-cta-inner p { margin:0; color:#6b7485; font-size:14.5px; }
@media(max-width:549px){
  .single-post .blog-wrapper { padding-top:24px; padding-bottom:42px; }
  .single-post .entry-header .entry-title { font-size:29px; }
  .single-post .entry-content { font-size:16px; line-height:1.72; }
  .single-post .entry-content h2 { font-size:24px; }
  .single-post .entry-content h3 { font-size:20px; }
  .hvt-post-cta-inner { flex-direction:column; align-items:flex-start; padding:22px 19px; }
}

/* 8) PRODUCT CATEGORY / SHOP TAXONOMIES --------------------------------- */
.post-type-archive-product .shop-page-title,
.tax-product_cat .shop-page-title,
.tax-product_tag .shop-page-title { color:#19253b; font-size:30px !important; line-height:1.22; }
.post-type-archive-product .shop-page-title + .is-small,
.tax-product_cat .shop-page-title + .is-small { color:#8c94a2; }
.post-type-archive-product .category-page-row,
.tax-product_cat .category-page-row,
.tax-product_tag .category-page-row { max-width:1200px !important; padding-top:26px; padding-bottom:52px; }
.tax-product_cat .term-description,
.tax-product_tag .term-description { max-width:900px; margin:0 0 24px; color:#697386; font-size:15px; line-height:1.65; }
.woocommerce-ordering select { min-height:40px; border:1px solid #dde1e7; border-radius:9px; background:#fff; color:#465167; box-shadow:none; font-size:13px; }
.woocommerce-result-count { color:#89919f; font-size:13px; }
.category-page-row .product-small .box { height:100%; }
.category-page-row .product-small .box-text { padding-bottom:15px; }
.post-type-archive-product .woocommerce-pagination,.tax-product_cat .woocommerce-pagination { margin-top:24px; }
.post-type-archive-product .page-numbers li > a,.post-type-archive-product .page-numbers li > span,
.tax-product_cat .page-numbers li > a,.tax-product_cat .page-numbers li > span { border-radius:8px; }
.post-type-archive-product .page-numbers .current,.tax-product_cat .page-numbers .current { border-color:var(--hvt-pink); background:var(--hvt-pink); color:#fff; }
@media(max-width:549px){
  .post-type-archive-product .category-page-row,.tax-product_cat .category-page-row,.tax-product_tag .category-page-row { padding-top:18px; padding-bottom:38px; }
  .post-type-archive-product .shop-page-title,.tax-product_cat .shop-page-title,.tax-product_tag .shop-page-title { font-size:25px !important; }
}

/* 9) POLICY PAGES -------------------------------------------------------- */
.hvt-policy-page .row > .col > .col-inner { max-width:860px; }
.hvt-policy-item { padding:0 0 25px; margin-bottom:25px; border-bottom:1px solid #eee9ec; }
.hvt-policy-item h2 { margin:0 0 9px; font-size:22px; }
.hvt-policy-item p { margin:0; }
.hvt-policy-note { margin-top:12px; padding:16px 18px; border:1px solid #E5F0DC; border-radius:11px; background:#fff7fa; color:#6d7687; font-size:13px; line-height:1.6; }
.hvt-policy-note strong { color:#3c4659; }

/* 10) NORMAL WORDPRESS PAGES — leave Woo special pages alone ------------ */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .page-wrapper:not(.blog-wrapper) { color:#344056; }
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .page-wrapper:not(.blog-wrapper) p { line-height:1.7; }

/* =======================================================================
   v1.8.0 — HEADER POLISH / HOME ALIGNMENT / NATIVE SLIDERS / SINGLE BLOG
   / CONTACT FORM
======================================================================= */

/* 1) HEADER SEARCH — remove stray underline/pseudo line ----------------- */
.header-main .header-search-form,
.header-main .header-search-form-wrapper,
.header-main .header-search-form-wrapper form.searchform {
  border-bottom:0 !important;
  box-shadow:none !important;
}
.header-main .header-search-form::before,
.header-main .header-search-form::after,
.header-main .header-search-form-wrapper::before,
.header-main .header-search-form-wrapper::after,
.header-main .header-search-form-wrapper form.searchform::before,
.header-main .header-search-form-wrapper form.searchform::after {
  content:none !important;
  display:none !important;
  border:0 !important;
  box-shadow:none !important;
}
/* Preserve only the deliberate rounded field border/focus treatment. */
.header-main .header-search-form-wrapper form.searchform > .flex-row {
  border-bottom:1px solid #e2e5ea !important;
  box-shadow:0 1px 3px rgba(23,33,58,.025) !important;
}
.header-main .header-search-form-wrapper form.searchform:focus-within > .flex-row {
  border-color:#CCFFA3 !important;
  box-shadow:0 0 0 3px rgba(71,128,25,.08) !important;
}

/* 2) ACCOUNT + CART — branded compact header controls ------------------- */
.header:not(.transparent) .header-main .account-item > a,
.header:not(.transparent) .header-main .cart-item > a {
  min-height:40px;
  padding:0 11px !important;
  border:1px solid #ece8ec;
  border-radius:11px;
  background:#fff;
  color:var(--hvt-ink) !important;
  box-shadow:0 2px 8px rgba(24,33,54,.025);
}
.header:not(.transparent) .header-main .account-item > a:hover,
.header:not(.transparent) .header-main .cart-item > a:hover {
  border-color:#D9FFBA;
  background:#F8FFF3;
  color:var(--hvt-pink) !important;
  box-shadow:0 6px 16px rgba(71,128,25,.08);
  transform:translateY(-1px);
}
.header-main .account-item > a:hover::after,
.header-main .cart-item > a:hover .header-cart-title,
.header-main .account-item > a:hover i,
.header-main .cart-item > a:hover i { color:var(--hvt-pink) !important; }
.header-main .cart-item .cart-icon strong {
  min-width:19px !important;
  height:19px !important;
  line-height:17px !important;
  border-radius:999px !important;
  border-color:var(--hvt-green) !important;
  background:var(--hvt-green) !important;
  color:#fff !important;
  font-size:10px !important;
}
.header-main .cart-item .cart-icon strong::after { border-top-color:var(--hvt-green) !important; }

/* 3) TRUST STRIP — balanced vertical rhythm ----------------------------- */
.hvt-trust-row { min-height:78px !important; align-items:stretch !important; }
.hvt-trust-row > .col,
.hvt-trust-row > .col > .col-inner { min-height:78px !important; align-items:stretch !important; }
.hvt-trust-item {
  min-height:78px !important;
  padding:13px 14px !important;
  align-items:center !important;
  justify-content:flex-start;
}
.hvt-trust-copy { display:flex; min-height:42px; flex-direction:column; justify-content:center; }
.hvt-trust-copy strong { margin:0; }
.hvt-trust-copy span { margin-top:3px; }

/* 4) HOME CATEGORY — equal native Flickity cells, keep real swipe -------- */
.hvt-cat-section .row-slider.flickity-enabled > .product-category,
#innopha-home-cats.row-slider.flickity-enabled > .product-category {
  box-sizing:border-box !important;
  width:20% !important;
  max-width:20% !important;
  flex:0 0 20% !important;
  min-width:0 !important;
}
.hvt-cat-section .row-slider.flickity-enabled,
#innopha-home-cats.row-slider.flickity-enabled {
  touch-action:pan-y !important;
  -webkit-user-select:none;
  user-select:none;
}
.hvt-cat-section .product-category .box-category,
.hvt-cat-section .product-category > .col-inner { width:100% !important; }
@media (max-width:849px){
  .hvt-cat-section .row-slider.flickity-enabled > .product-category,
  #innopha-home-cats.row-slider.flickity-enabled > .product-category {
    width:33.333333% !important;
    max-width:33.333333% !important;
    flex-basis:33.333333% !important;
  }
}
@media (max-width:549px){
  .hvt-cat-section .row-slider.flickity-enabled > .product-category,
  #innopha-home-cats.row-slider.flickity-enabled > .product-category {
    width:50% !important;
    max-width:50% !important;
    flex-basis:50% !important;
  }
  .hvt-cat-section .flickity-viewport { overflow:hidden !important; }
}

/* 5) MERCHANDISING SECTIONS — centered 1200px axis ---------------------- */
.hvt-merch-section > .section-content > .row.hvt-merch-shell,
.hvt-merch-section .row.hvt-merch-shell {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hvt-merch-inline-heading { min-width:0; }
.hvt-merch-inline-heading h3 { min-width:0; }
.hvt-merch-inline-heading a,
.hvt-section-heading > a {
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  word-break:normal !important;
}
.hvt-merch-art { width:100% !important; max-width:350px !important; margin:8px auto 14px !important; }
.hvt-merch-art-small { max-width:285px !important; }
.hvt-merch-art .img-inner { width:100% !important; }
.hvt-merch-art img { width:100% !important; height:auto !important; transform:none !important; }
@media(max-width:849px){
  .hvt-merch-section > .section-content > .row.hvt-merch-shell,
  .hvt-merch-section .row.hvt-merch-shell { width:calc(100% - 30px) !important; }
  .hvt-merch-art { max-width:315px !important; }
}
@media(max-width:549px){
  .hvt-merch-section > .section-content > .row.hvt-merch-shell,
  .hvt-merch-section .row.hvt-merch-shell { width:calc(100% - 22px) !important; }
  .hvt-merch-art { max-width:280px !important; }
  .hvt-merch-art-small { max-width:245px !important; }
}

/* 6) NATIVE TESTIMONIAL SLIDER — one rating row + visible gaps ---------- */
.hvt-testimonial-note { display:none !important; }
.hvt-testimonials-native { margin:8px -12px 0 !important; }
.hvt-testimonials-native .testimonial-box {
  box-sizing:border-box;
  width:360px !important;
  max-width:360px !important;
  min-height:225px;
  margin:0 12px 10px !important;
  padding:24px 22px 20px !important;
  border:1px solid #E4EADF;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 20px rgba(24,34,54,.045);
}
.hvt-testimonials-native .testimonial-box .star-rating,
.hvt-testimonials-native .testimonial-box .star-rating span,
.hvt-testimonials-native .testimonial-box .testimonial-stars {
  color:#ffb400 !important;
}
.hvt-testimonials-native .testimonial-box .testimonial-text {
  min-height:86px;
  color:#5f687a;
  font-size:15px;
  line-height:1.62;
}
.hvt-testimonials-native .testimonial-box .testimonial-meta { margin-top:15px; }
.hvt-testimonials-native .testimonial-box .testimonial-company { color:#9aa1ad; }
@media(max-width:849px){
  .hvt-testimonials-native .testimonial-box {
    width:calc(50vw - 38px) !important;
    max-width:calc(50vw - 38px) !important;
    margin-left:9px !important;
    margin-right:9px !important;
  }
}
@media(max-width:549px){
  .hvt-testimonials-native { margin-left:-8px !important; margin-right:-8px !important; }
  .hvt-testimonials-native .testimonial-box {
    width:calc(100vw - 64px) !important;
    max-width:calc(100vw - 64px) !important;
    min-height:210px;
    margin-left:8px !important;
    margin-right:8px !important;
  }
}

/* 7) SINGLE BLOG — content card + redesigned native prev/next ----------- */
.single-post .blog-wrapper > .row { max-width:1000px !important; }
.single-post .article-inner {
  padding:34px 36px 38px !important;
  border:1px solid #e5e7eb !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 28px rgba(28,36,54,.035);
}
.single-post .entry-header { margin-bottom:26px; }
.single-post .entry-image { margin-bottom:28px; }
.single-post .entry-image img { border-radius:14px !important; }
.single-post .navigation-post { margin-top:24px; }
.single-post .navigation-post .next-prev-nav {
  display:flex;
  gap:14px;
  border:0 !important;
  padding:0 !important;
}
.single-post .navigation-post .nav-prev,
.single-post .navigation-post .nav-next { flex:1 1 0; min-width:0; }
.single-post .navigation-post .nav-previous,
.single-post .navigation-post .nav-next { height:100%; }
.single-post .navigation-post a {
  position:relative;
  display:flex !important;
  min-height:92px;
  height:100%;
  flex-direction:column;
  justify-content:center;
  padding:24px 22px 15px !important;
  border:1px solid #e6e7eb;
  border-radius:14px;
  background:#fff;
  color:#273247 !important;
  font-size:14px;
  line-height:1.45;
  font-weight:700;
  text-decoration:none !important;
  box-shadow:0 4px 14px rgba(27,36,55,.025);
}
.single-post .navigation-post .nav-prev a { align-items:flex-start; text-align:left; }
.single-post .navigation-post .nav-next a { align-items:flex-end; text-align:right; }
.single-post .navigation-post .nav-prev a::before,
.single-post .navigation-post .nav-next a::before {
  position:absolute;
  top:10px;
  color:var(--hvt-pink);
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.single-post .navigation-post .nav-prev a::before { content:'← Bài trước'; left:22px; }
.single-post .navigation-post .nav-next a::before { content:'Bài tiếp theo →'; right:22px; }
.single-post .navigation-post a:hover {
  border-color:#DBFFBF;
  background:#F9FFF4;
  color:var(--hvt-pink-dark) !important;
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(71,128,25,.07);
}
.single-post .navigation-post a .icon-angle-left,
.single-post .navigation-post a .icon-angle-right { display:none !important; }
@media(max-width:549px){
  .single-post .blog-wrapper { padding-left:15px; padding-right:15px; }
  .single-post .article-inner {
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .single-post .entry-image img { border-radius:10px !important; }
  .single-post .navigation-post .next-prev-nav { flex-direction:column; gap:10px; }
  .single-post .navigation-post a { min-height:80px; padding:23px 16px 13px !important; }
  .single-post .navigation-post .nav-prev a::before { left:16px; }
  .single-post .navigation-post .nav-next a::before { right:16px; }
}

/* 8) CONTACT — sticky information panel + balanced full-width CF7 ------- */
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner {
    position:sticky;
    top:118px;
    align-self:flex-start;
  }
}
.hvt-contact-form-card { padding:30px 30px 32px !important; }
.hvt-contact-form-card > p { margin-bottom:20px; }
.hvt-contact-form .hvt-cf7-fields {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:17px !important;
}
.hvt-contact-form .hvt-cf7-row {
  display:contents !important;
}
.hvt-contact-form label {
  width:100% !important;
  margin:0 !important;
}
.hvt-contact-form .wpcf7-form-control-wrap { width:100% !important; margin-top:7px !important; }
.hvt-contact-form input[type='text'],
.hvt-contact-form input[type='tel'],
.hvt-contact-form input[type='email'],
.hvt-contact-form textarea {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.hvt-contact-form input[type='text'],
.hvt-contact-form input[type='tel'],
.hvt-contact-form input[type='email'] { height:48px !important; }
.hvt-contact-form textarea { min-height:145px !important; }
.hvt-contact-form .hvt-cf7-actions { margin-top:3px !important; padding-top:0 !important; }
.hvt-contact-form input[type='submit'].hvt-cf7-submit { min-width:160px; height:47px; }
@media(max-width:849px){
  .hvt-contact-info-col > .col-inner { position:static !important; top:auto !important; }
}
@media(max-width:549px){
  .hvt-contact-form-card { padding:23px 18px 25px !important; }
  .hvt-contact-form .hvt-cf7-fields { gap:15px !important; }
  .hvt-contact-form input[type='submit'].hvt-cf7-submit { width:100%; }
}

/* =======================================================================
   v1.9.0 — PRODUCT SCALE / COLLAGEN SLIDER / SHOP HEADER / DROPDOWNS
======================================================================= */

/* 1) HEADER SEARCH: no stray line below the pill ------------------------- */
.header-main .header-search-form,
.header-main .header-search-form-wrapper,
.header-main .header-search-form-wrapper form.searchform {
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.header-main .header-search-form::before,
.header-main .header-search-form::after,
.header-main .header-search-form-wrapper::before,
.header-main .header-search-form-wrapper::after,
.header-main .header-search-form-wrapper form.searchform::before,
.header-main .header-search-form-wrapper form.searchform::after {
  content:none !important;
  display:none !important;
}
.header-main .header-search-form-wrapper form.searchform > .flex-row {
  border:1px solid #e2e5ea !important;
  border-radius:999px !important;
  box-shadow:0 1px 3px rgba(23,33,58,.025) !important;
}

/* 2) DESKTOP PRIMARY MENU: internal breathing room; hover never touches
      dropdown edge. The width+padding overflow bug is neutralized by
      border-box on every submenu anchor. -------------------------------- */
@media(min-width:850px){
  #wide-nav .nav > li > .nav-dropdown,
  #wide-nav .nav-dropdown li.nav-dropdown-col > .nav-column,
  #wide-nav .nav-dropdown .nav-column li.menu-item-has-children > .nav-column {
    padding:9px !important;
    border:1px solid #eee5e9 !important;
    border-radius:13px !important;
    background:#fff !important;
    box-shadow:0 16px 38px rgba(22,32,53,.12) !important;
    overflow:visible !important;
  }
  #wide-nav .nav-dropdown li > a {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    margin:2px 0 !important;
    padding:9px 12px !important;
    border-radius:8px !important;
    background:transparent !important;
    color:#283247 !important;
  }
  #wide-nav .nav-dropdown li > a:hover,
  #wide-nav .nav-dropdown li:hover > a {
    padding-left:14px !important;
    padding-right:12px !important;
    background:#F8FFF2 !important;
    color:var(--hvt-pink) !important;
  }

  /* Account dropdown: same visual language as primary dropdown. */
  .header-main .account-item { position:relative; }
  .header-main .account-item .nav-dropdown {
    box-sizing:border-box !important;
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    padding:9px !important;
    border:1px solid #eee5e9 !important;
    border-radius:13px !important;
    background:#fff !important;
    color:#283247 !important;
    box-shadow:0 16px 38px rgba(22,32,53,.12) !important;
    overflow:hidden !important;
  }
  .header-main .account-item .nav-dropdown,
  .header-main .account-item .nav-dropdown p,
  .header-main .account-item .nav-dropdown label,
  .header-main .account-item .nav-dropdown span,
  .header-main .account-item .nav-dropdown strong {
    color:#4c5669 !important;
  }
  .header-main .account-item .nav-dropdown a {
    box-sizing:border-box !important;
    display:flex !important;
    width:100% !important;
    min-height:40px;
    align-items:center;
    margin:2px 0 !important;
    padding:9px 11px !important;
    border:0 !important;
    border-radius:8px !important;
    background:transparent !important;
    color:#283247 !important;
    font-size:13px !important;
    line-height:1.35;
    font-weight:650;
    text-transform:none !important;
  }
  .header-main .account-item .nav-dropdown a:hover {
    background:#F8FFF2 !important;
    color:var(--hvt-pink) !important;
  }
  .header-main .account-item .nav-dropdown input[type='text'],
  .header-main .account-item .nav-dropdown input[type='email'],
  .header-main .account-item .nav-dropdown input[type='password'] {
    min-height:40px;
    border:1px solid #e1e4e9 !important;
    border-radius:8px !important;
    background:#fff !important;
    color:#283247 !important;
    box-shadow:none !important;
  }
  .header-main .account-item .nav-dropdown input::placeholder { color:#9aa1ad !important; }
  .header-main .account-item .nav-dropdown .button,
  .header-main .account-item .nav-dropdown input[type='submit'] {
    width:100%;
    min-height:40px;
    border-radius:8px !important;
    background:var(--hvt-pink) !important;
    color:#fff !important;
  }
}

/* 3) HOMEPAGE EDITORIAL ART: enlarge ONLY category/story artwork -------- */
.hvt-merch-promo .hvt-merch-art,
.hvt-merch-copy .hvt-merch-art {
  width:100% !important;
  max-width:410px !important;
  margin:10px auto 14px !important;
}
.hvt-merch-copy .hvt-merch-art-small { max-width:345px !important; }
.hvt-merch-promo .hvt-merch-art .img-inner,
.hvt-merch-copy .hvt-merch-art .img-inner { width:100% !important; }
.hvt-merch-promo .hvt-merch-art img,
.hvt-merch-copy .hvt-merch-art img {
  width:100% !important;
  height:auto !important;
  padding:0 !important;
  object-fit:contain !important;
  transform:none !important;
}

/* 4) HOMEPAGE PRODUCT CARDS: restore the smaller, airier image scale.
      This deliberately does NOT target the editorial .hvt-merch-art. ------ */
.hvt-home-section .products .product-small .box-image,
.hvt-home-section .row-slider .product-small .box-image {
  aspect-ratio:auto !important;
  height:205px !important;
  min-height:205px !important;
  background:#fff !important;
}
.hvt-home-section .products .product-small .box-image > div,
.hvt-home-section .row-slider .product-small .box-image > div {
  height:100% !important;
  padding-top:0 !important;
}
.hvt-home-section .products .product-small .box-image img,
.hvt-home-section .row-slider .product-small .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:24px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:scale(.84) !important;
}
.hvt-home-section .products .product-small .box:hover .box-image img,
.hvt-home-section .row-slider .product-small .box:hover .box-image img {
  transform:scale(.89) !important;
}
/* Nested editorial product grids are intentionally even more compact. */
.hvt-merch-products .product-small .box-image {
  height:178px !important;
  min-height:178px !important;
}
.hvt-merch-products .product-small .box-image img {
  padding:22px !important;
  transform:scale(.82) !important;
}
.hvt-merch-products .product-small .box:hover .box-image img { transform:scale(.87) !important; }

/* 5) COLLAGEN UONG: native Products slider, styled like Featured Products */
.hvt-collagen-drink-slider { padding-top:22px !important; padding-bottom:34px !important; }
.hvt-collagen-drink-slider .row-slider { margin-top:2px; }

/* 6) TESTIMONIAL: one rating row only; roomy native UX Slider ------------ */
.hvt-testimonials-native .testimonial-box .star-rating,
.hvt-testimonials-native .testimonial-box .testimonial-stars {
  display:none !important;
}
.hvt-testimonials-native .hvt-testimonial-rating {
  display:block;
  margin:0 0 12px;
  color:#ffb400 !important;
  font-size:18px;
  line-height:1;
  letter-spacing:3px;
  font-style:normal;
  font-weight:800;
}
.hvt-testimonials-native .testimonial-box {
  margin-left:12px !important;
  margin-right:12px !important;
}
.hvt-testimonials-native .testimonial-text { padding-left:2px; padding-right:2px; }

/* 7) PRODUCT CATEGORY / SHOP HEADER: remove CSS collision that enlarged
      the whole title wrapper. H1 is disabled by native category_show_title.
      Breadcrumb matches single-product breadcrumb. ---------------------- */
.post-type-archive-product div.shop-page-title.category-page-title,
.tax-product_cat div.shop-page-title.category-page-title,
.tax-product_tag div.shop-page-title.category-page-title {
  margin:0 !important;
  padding:0 !important;
  border-top:0 !important;
  border-bottom:1px solid #eceef2 !important;
  background:#fff !important;
  color:#818998 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  min-height:0 !important;
}
.post-type-archive-product .category-page-title .page-title-inner,
.tax-product_cat .category-page-title .page-title-inner,
.tax-product_tag .category-page-title .page-title-inner {
  min-height:56px !important;
  padding-top:9px !important;
  padding-bottom:9px !important;
  align-items:center !important;
}
.post-type-archive-product .category-page-title .page-title-inner > .flex-grow,
.tax-product_cat .category-page-title .page-title-inner > .flex-grow,
.tax-product_tag .category-page-title .page-title-inner > .flex-grow {
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0;
}
.post-type-archive-product .category-page-title .breadcrumbs,
.tax-product_cat .category-page-title .breadcrumbs,
.tax-product_tag .category-page-title .breadcrumbs {
  margin:0 !important;
  color:#818998 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:normal;
}
.post-type-archive-product .category-page-title .breadcrumbs a,
.tax-product_cat .category-page-title .breadcrumbs a,
.tax-product_tag .category-page-title .breadcrumbs a { color:#566173 !important; }
.post-type-archive-product .category-page-title .breadcrumbs a:hover,
.tax-product_cat .category-page-title .breadcrumbs a:hover,
.tax-product_tag .category-page-title .breadcrumbs a:hover { color:var(--hvt-pink) !important; }
.post-type-archive-product .category-page-title .breadcrumbs .divider,
.tax-product_cat .category-page-title .breadcrumbs .divider,
.tax-product_tag .category-page-title .breadcrumbs .divider { color:#b5bac3 !important; }

/* Filter button: compact, never inherits heading-scale typography. */
.post-type-archive-product .category-page-title .category-filtering,
.tax-product_cat .category-page-title .category-filtering,
.tax-product_tag .category-page-title .category-filtering {
  display:inline-flex !important;
  align-items:center;
  width:auto !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1 !important;
}
.post-type-archive-product .category-page-title .filter-button,
.tax-product_cat .category-page-title .filter-button,
.tax-product_tag .category-page-title .filter-button {
  display:inline-flex !important;
  min-height:36px;
  align-items:center;
  gap:6px;
  margin:0 !important;
  padding:0 11px !important;
  border:1px solid #e1e4e9 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#344057 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.post-type-archive-product .category-page-title .filter-button i,
.tax-product_cat .category-page-title .filter-button i,
.tax-product_tag .category-page-title .filter-button i { font-size:15px !important; }
.post-type-archive-product .category-page-title .filter-button:hover,
.tax-product_cat .category-page-title .filter-button:hover,
.tax-product_tag .category-page-title .filter-button:hover {
  border-color:#D9FFBA !important;
  background:#F8FFF3 !important;
  color:var(--hvt-pink) !important;
}
.post-type-archive-product .category-page-title .page-title-inner > .flex-col:last-child,
.tax-product_cat .category-page-title .page-title-inner > .flex-col:last-child,
.tax-product_tag .category-page-title .page-title-inner > .flex-col:last-child {
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.post-type-archive-product .category-page-title .woocommerce-result-count,
.tax-product_cat .category-page-title .woocommerce-result-count,
.tax-product_tag .category-page-title .woocommerce-result-count {
  margin:0 !important;
  color:#89919f !important;
  font-size:13px !important;
  white-space:nowrap;
}
.post-type-archive-product .category-page-title .woocommerce-ordering,
.tax-product_cat .category-page-title .woocommerce-ordering,
.tax-product_tag .category-page-title .woocommerce-ordering { margin:0 !important; }
.post-type-archive-product .category-page-title .woocommerce-ordering select,
.tax-product_cat .category-page-title .woocommerce-ordering select,
.tax-product_tag .category-page-title .woocommerce-ordering select {
  min-width:190px;
  min-height:38px;
  margin:0 !important;
  font-size:13px !important;
}

@media(max-width:849px){
  .hvt-merch-promo .hvt-merch-art,
  .hvt-merch-copy .hvt-merch-art { max-width:335px !important; }
  .hvt-merch-copy .hvt-merch-art-small { max-width:305px !important; }

  .hvt-home-section .products .product-small .box-image,
  .hvt-home-section .row-slider .product-small .box-image {
    height:175px !important;
    min-height:175px !important;
  }
  .hvt-home-section .products .product-small .box-image img,
  .hvt-home-section .row-slider .product-small .box-image img { padding:19px !important; transform:scale(.85) !important; }
  .hvt-home-section .products .product-small .box:hover .box-image img,
  .hvt-home-section .row-slider .product-small .box:hover .box-image img { transform:scale(.89) !important; }

  .post-type-archive-product .category-page-title .page-title-inner,
  .tax-product_cat .category-page-title .page-title-inner,
  .tax-product_tag .category-page-title .page-title-inner {
    gap:8px;
    min-height:0 !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  .post-type-archive-product .category-page-title .page-title-inner > .flex-grow,
  .tax-product_cat .category-page-title .page-title-inner > .flex-grow,
  .tax-product_tag .category-page-title .page-title-inner > .flex-grow {
    width:100%;
    justify-content:space-between;
  }
  .post-type-archive-product .category-page-title .page-title-inner > .flex-col:last-child,
  .tax-product_cat .category-page-title .page-title-inner > .flex-col:last-child,
  .tax-product_tag .category-page-title .page-title-inner > .flex-col:last-child {
    width:100%;
    justify-content:space-between;
    margin-top:8px;
  }
}
@media(max-width:549px){
  .hvt-merch-promo .hvt-merch-art,
  .hvt-merch-copy .hvt-merch-art { max-width:295px !important; }
  .hvt-merch-copy .hvt-merch-art-small { max-width:270px !important; }

  .hvt-home-section .products .product-small .box-image,
  .hvt-home-section .row-slider .product-small .box-image {
    height:145px !important;
    min-height:145px !important;
  }
  .hvt-home-section .products .product-small .box-image img,
  .hvt-home-section .row-slider .product-small .box-image img { padding:14px !important; transform:scale(.86) !important; }
  .hvt-home-section .products .product-small .box:hover .box-image img,
  .hvt-home-section .row-slider .product-small .box:hover .box-image img { transform:scale(.9) !important; }

  .post-type-archive-product .category-page-title .breadcrumbs,
  .tax-product_cat .category-page-title .breadcrumbs,
  .tax-product_tag .category-page-title .breadcrumbs { font-size:12px !important; }
  .post-type-archive-product .category-page-title .filter-button,
  .tax-product_cat .category-page-title .filter-button,
  .tax-product_tag .category-page-title .filter-button {
    min-height:34px;
    padding:0 9px !important;
    font-size:12px !important;
  }
  .post-type-archive-product .category-page-title .woocommerce-result-count,
  .tax-product_cat .category-page-title .woocommerce-result-count,
  .tax-product_tag .category-page-title .woocommerce-result-count { font-size:12px !important; }
  .post-type-archive-product .category-page-title .woocommerce-ordering select,
  .tax-product_cat .category-page-title .woocommerce-ordering select,
  .tax-product_tag .category-page-title .woocommerce-ordering select {
    min-width:0;
    width:175px;
    min-height:36px;
    font-size:12px !important;
  }
}

/* =======================================================================
   v1.10.0 HOMEPAGE COMPACT MERCH + NATIVE SLIDERS
   Final correction layer: keep editorial artwork compact, restore product
   card image proportions, and use native Flatsome/Flickity navigation.
======================================================================= */

/* 1) Featured/home product image area: shorter and airier than v1.9. */
.hvt-featured-products .product-small .box-image,
.hvt-collagen-drink-slider .product-small .box-image {
  height:158px !important;
  min-height:158px !important;
  aspect-ratio:auto !important;
}
.hvt-featured-products .product-small .box-image img,
.hvt-collagen-drink-slider .product-small .box-image img {
  padding:15px !important;
  object-fit:contain !important;
  transform:scale(.82) !important;
}
.hvt-featured-products .product-small .box:hover .box-image img,
.hvt-collagen-drink-slider .product-small .box:hover .box-image img {
  transform:scale(.87) !important;
}

/* 2) Editorial/category artwork: smaller than v1.9 so pink/green panels
      stay compact. This never targets WooCommerce product thumbnails. */
.hvt-merch-promo .hvt-merch-art,
.hvt-merch-copy .hvt-merch-art {
  width:78% !important;
  max-width:245px !important;
  margin:5px auto 10px !important;
}
.hvt-merch-copy .hvt-merch-art-small { max-width:205px !important; }
.hvt-merch-promo .hvt-merch-art img,
.hvt-merch-copy .hvt-merch-art img {
  width:100% !important;
  max-height:165px !important;
  height:auto !important;
  object-fit:contain !important;
}
.hvt-merch-promo,
.hvt-merch-copy {
  min-height:0 !important;
  padding-top:22px !important;
  padding-bottom:22px !important;
}
.hvt-merch-panel .hvt-merch-copy { padding-top:22px !important; padding-bottom:22px !important; }

/* 3) Product cards INSIDE editorial panels: compact image, native slider. */
.hvt-merch-products .product-small .box-image {
  height:132px !important;
  min-height:132px !important;
  aspect-ratio:auto !important;
}
.hvt-merch-products .product-small .box-image img {
  padding:12px !important;
  object-fit:contain !important;
  transform:scale(.80) !important;
}
.hvt-merch-products .product-small .box:hover .box-image img { transform:scale(.85) !important; }
.hvt-merch-products .row-slider { margin-left:-5px !important; margin-right:-5px !important; }
.hvt-merch-products .row-slider > .product-small { padding-left:5px !important; padding-right:5px !important; }

/* Pink families use a restrained brand-pink card stroke. */
.hvt-merch-placenta .product-small .box,
.hvt-merch-cosmetics .product-small .box,
.hvt-merch-placenta-drink .product-small .box {
  border:1px solid rgba(71,128,25,.28) !important;
  background:#fff !important;
}
.hvt-merch-placenta .product-small .box:hover,
.hvt-merch-cosmetics .product-small .box:hover,
.hvt-merch-placenta-drink .product-small .box:hover {
  border-color:rgba(71,128,25,.58) !important;
  box-shadow:0 8px 22px rgba(71,128,25,.08) !important;
}
/* Kenso gets its own green stroke. */
.hvt-merch-kenso .product-small .box {
  border:1px solid rgba(174,49,117,.38) !important;
  background:#fff !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(157,34,101,.7) !important;
  box-shadow:0 8px 22px rgba(157,34,101,.10) !important;
}

/* 5) Testimonial arrows: nav is set INSIDE in UX Builder. Keep the control
      floating on the card area and share the same visual language as the
      single-product gallery arrows. */
.hvt-testimonials-native { position:relative; }
.hvt-testimonials-native .flickity-page-dots { bottom:-19px !important; }

/* 6) Keep slider viewports clipped but allow touch drag. */
.hvt-collagen-drink-slider .flickity-viewport,
.hvt-merch-products .flickity-viewport,
.hvt-testimonials-native .flickity-viewport {
  overflow:hidden !important;
  touch-action:pan-y !important;
}

@media (max-width:849px) {
  .hvt-featured-products .product-small .box-image,
  .hvt-collagen-drink-slider .product-small .box-image { height:142px !important; min-height:142px !important; }
  .hvt-merch-promo .hvt-merch-art,
  .hvt-merch-copy .hvt-merch-art { width:72% !important; max-width:220px !important; }
  .hvt-merch-promo .hvt-merch-art img,
  .hvt-merch-copy .hvt-merch-art img { max-height:145px !important; }
  .hvt-merch-products .product-small .box-image { height:122px !important; min-height:122px !important; }
}
@media (max-width:549px) {
  .hvt-featured-products .product-small .box-image,
  .hvt-collagen-drink-slider .product-small .box-image { height:122px !important; min-height:122px !important; }
  .hvt-featured-products .product-small .box-image img,
  .hvt-collagen-drink-slider .product-small .box-image img { padding:10px !important; transform:scale(.80) !important; }
  .hvt-merch-promo .hvt-merch-art,
  .hvt-merch-copy .hvt-merch-art { width:68% !important; max-width:190px !important; }
  .hvt-merch-promo .hvt-merch-art img,
  .hvt-merch-copy .hvt-merch-art img { max-height:125px !important; }
  .hvt-merch-products .product-small .box-image { height:112px !important; min-height:112px !important; }
  .hvt-merch-products .product-small .box-image img { padding:8px !important; }
  .hvt-merch-promo,
  .hvt-merch-copy { padding-top:17px !important; padding-bottom:17px !important; }
}
/* =======================================================================
   v1.11.0 — FINAL RESPONSIVE / SLIDER / PRODUCT IMAGE / MOBILE HEADER FIXES
   Scoped overrides only. Native Flatsome/UX Builder remains responsible for
   sliders, mobile header placement, product queries and testimonial behavior.
======================================================================= */

/* A. FEATURED + COLLAGEN DRINK PRODUCT IMAGES
   Match the well-proportioned related-product image treatment. No fixed low
   height, no crop, no deformation. */
.hvt-featured-products .product-small .box-image,
.hvt-collagen-drink-slider .product-small .box-image {
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1.16 / 1 !important;
  overflow:hidden !important;
  background:#fff !important;
}
.hvt-featured-products .product-small .box-image > div,
.hvt-collagen-drink-slider .product-small .box-image > div {
  width:100% !important;
  height:100% !important;
  padding-top:0 !important;
  position:relative !important;
}
.hvt-featured-products .product-small .box-image img,
.hvt-collagen-drink-slider .product-small .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:auto !important;
  padding:15px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:scale(.91) !important;
}
.hvt-featured-products .product-small .box:hover .box-image img,
.hvt-collagen-drink-slider .product-small .box:hover .box-image img {
  transform:scale(.96) !important;
}

/* B. SHOWCASE SHELLS
   UX Builder column gutters were exposing white slivers beside the colored
   editorial panels. The shell owns the radius/overflow; child columns have no
   structural gutter and keep their own internal padding. */
.hvt-merch-shell {
  overflow:hidden !important;
  isolation:isolate;
}
.hvt-merch-shell > .col {
  padding-left:0 !important;
  padding-right:0 !important;
  padding-bottom:0 !important;
}
.hvt-merch-promo-col > .col-inner,
.hvt-merch-copy-col > .col-inner,
.hvt-merch-products > .col-inner {
  margin:0 !important;
}
.hvt-merch-promo,
.hvt-merch-copy {
  border-radius:0 !important;
}

/* C. TESTIMONIAL UX SLIDER
   Center cell is the focus, both arrows stay visible (looping is configured in
   UX Builder), side cells are only slightly subdued. No hover position jump. */
.hvt-testimonials-native {
  position:relative !important;
  overflow:visible !important;
  padding-left:46px !important;
  padding-right:46px !important;
}
.hvt-testimonials-native .testimonial-box {
  opacity:.84 !important;
  transform:scale(.975) !important;
  transition:opacity .22s ease,transform .22s ease,border-color .22s ease,box-shadow .22s ease !important;
}
.hvt-testimonials-native .testimonial-box.is-selected {
  opacity:1 !important;
  transform:scale(1) !important;
  border-color:#E2FFCB !important;
  box-shadow:0 10px 25px rgba(71,128,25,.075) !important;
}

/* D. TABLET/MOBILE SINGLE POST + SINGLE PRODUCT CONTENT WIDTH/TYPOGRAPHY */
@media (max-width:849px) {
  .single-post .blog-wrapper {
    padding:20px 0 40px !important;
  }
  .single-post .blog-wrapper > .row {
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .single-post .blog-wrapper > .row > .col {
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .single-post .article-inner {
    padding:22px 22px 26px !important;
    border-radius:14px !important;
  }
  .single-post .entry-header .entry-title {
    font-size:30px !important;
    line-height:1.2 !important;
  }
  .single-post .entry-content {
    font-size:16px !important;
    line-height:1.68 !important;
  }
  .single-post .entry-content h2 {
    margin:1.35em 0 .55em !important;
    font-size:25px !important;
    line-height:1.26 !important;
  }
  .single-post .entry-content h3 {
    margin:1.22em 0 .5em !important;
    font-size:21px !important;
    line-height:1.3 !important;
  }
  .single-post .entry-content h4 {
    margin:1.15em 0 .45em !important;
    font-size:18px !important;
    line-height:1.35 !important;
  }

  .single-product .product-main,
  .single-product .product-footer { overflow:hidden; }
  .single-product .product-main > .row {
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .single-product .product-main > .row > .col {
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .single-product .product-main .product-gallery {
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .single-product .product-main .product-info {
    padding:18px 14px 0 !important;
  }
  .single-product .product-main .product-info > .product-title {
    font-size:27px !important;
    line-height:1.2 !important;
  }
  .single-product .product-footer > .container,
  .single-product .product-footer .container {
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .single-product .woocommerce-tabs .tab-panels {
    padding:18px !important;
    font-size:16px !important;
    line-height:1.65 !important;
  }
  .single-product .woocommerce-Tabs-panel h2,
  .single-product .woocommerce-tabs .panel h2 {
    font-size:25px !important;
    line-height:1.26 !important;
    margin:1.2em 0 .55em !important;
  }
  .single-product .woocommerce-Tabs-panel h3,
  .single-product .woocommerce-tabs .panel h3 {
    font-size:21px !important;
    line-height:1.3 !important;
    margin:1.1em 0 .5em !important;
  }
  .single-product .woocommerce-Tabs-panel h4,
  .single-product .woocommerce-tabs .panel h4 {
    font-size:18px !important;
    line-height:1.35 !important;
  }
}

@media (max-width:549px) {
  .single-post .blog-wrapper > .row > .col {
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .single-post .article-inner {
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .single-post .entry-header .entry-title {
    font-size:28px !important;
    line-height:1.2 !important;
  }
  .single-post .entry-content h2 {
    font-size:24px !important;
    line-height:1.27 !important;
    margin:1.2em 0 .48em !important;
  }
  .single-post .entry-content h3 {
    font-size:20px !important;
    line-height:1.32 !important;
    margin:1.08em 0 .45em !important;
  }
  .single-post .entry-content h4 {
    font-size:18px !important;
    margin:1em 0 .4em !important;
  }
  .single-post .entry-content ul,
  .single-post .entry-content ol {
    margin-left:1.05em !important;
    padding-left:.55em !important;
  }

  .single-product .product-main > .row > .col,
  .single-product .product-main .product-gallery,
  .single-product .product-main .product-info {
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .single-product .product-main .product-info > .product-title {
    font-size:24px !important;
    line-height:1.22 !important;
  }
  .single-product .product-footer > .container,
  .single-product .product-footer .container {
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .single-product .woocommerce-tabs .tab-panels {
    padding:14px 12px 16px !important;
    font-size:16px !important;
  }
  .single-product .woocommerce-Tabs-panel h2,
  .single-product .woocommerce-tabs .panel h2 { font-size:23px !important; }
  .single-product .woocommerce-Tabs-panel h3,
  .single-product .woocommerce-tabs .panel h3 { font-size:20px !important; }
  .single-product .woocommerce-Tabs-panel h4,
  .single-product .woocommerce-tabs .panel h4 { font-size:18px !important; }
}

/* E. MOBILE HEADER — native Flatsome placement + lighter branded styling */
@media (max-width:849px) {
  .header-main {
    background:rgba(255,255,255,.98) !important;
    border-bottom:0 !important;
    box-shadow:0 5px 18px rgba(26,35,53,.045) !important;
  }
  .header-main .header-inner {
    min-height:58px !important;
    height:58px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
  #logo {
    margin-left:0 !important;
    margin-right:auto !important;
    text-align:left !important;
  }
  #logo img {
    width:auto !important;
    max-width:145px !important;
    max-height:42px !important;
    object-fit:contain !important;
  }
  .header-main .mobile-nav {
    min-height:58px !important;
    height:58px !important;
    gap:6px !important;
  }
  .header-main .mobile-nav > li {
    margin:0 !important;
  }
  .header-main .mobile-nav > li > a,
  .header-main .mobile-nav .nav-icon > a,
  .header-main .mobile-nav .cart-item > a {
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #E3F2D7 !important;
    border-radius:12px !important;
    background:linear-gradient(145deg,#fff,#fff7fa) !important;
    color:#1f2940 !important;
    box-shadow:0 3px 10px rgba(28,37,56,.045) !important;
  }
  .header-main .mobile-nav > li > a:hover,
  .header-main .mobile-nav .nav-icon > a:hover,
  .header-main .mobile-nav .cart-item > a:hover {
    background:#F7FFF1 !important;
    border-color:#E1FFCA !important;
    color:var(--hvt-pink) !important;
    transform:none !important;
  }
  .header-main .mobile-nav .cart-icon strong {
    border:0 !important;
  }
  .header-main .mobile-nav .cart-item .cart-icon .cart-icon strong,
  .header-main .mobile-nav .cart-item .cart-icon strong {
    color:inherit !important;
  }

  /* compact native Search Form row */
  #wide-nav {
    padding:5px 14px 8px !important;
    border-top:0 !important;
    border-bottom:1px solid #f0edf0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  #wide-nav .header-search-form-wrapper form.searchform > .flex-row {
    height:36px !important;
    min-height:36px !important;
    border:1px solid #e4e6eb !important;
    border-radius:999px !important;
    background:#fafbfc !important;
    box-shadow:none !important;
  }
  #wide-nav .header-search-form-wrapper .search-field {
    height:34px !important;
    padding-left:14px !important;
    font-size:13px !important;
    color:#394457 !important;
  }
  #wide-nav .header-search-form-wrapper .search-field::placeholder {
    color:#8992a2 !important;
    opacity:1 !important;
  }
  #wide-nav .header-search-form-wrapper .ux-search-submit {
    width:40px !important;
    min-width:40px !important;
    height:34px !important;
    color:#344057 !important;
  }

  /* more editorial off-canvas menu, still 100% native Flatsome accordion */
  #main-menu.mobile-sidebar {
    width:86vw !important;
    max-width:350px !important;
    background:#fff !important;
  }
  #main-menu .sidebar-menu {
    padding:14px 12px 24px !important;
    background:linear-gradient(180deg,#fff 0%,#fffafd 100%) !important;
  }
  #main-menu .nav-sidebar.nav-vertical > li {
    margin:0 0 5px !important;
    border:0 !important;
  }
  #main-menu .nav-sidebar.nav-vertical > li > a {
    min-height:46px !important;
    padding:11px 12px !important;
    border-radius:11px !important;
    background:#fff !important;
    color:#263147 !important;
    box-shadow:inset 0 0 0 1px #f1edf0 !important;
  }
  #main-menu .nav-sidebar.nav-vertical > li > a:hover,
  #main-menu .nav-sidebar.nav-vertical > li.current-menu-item > a,
  #main-menu .nav-sidebar.nav-vertical > li.current-menu-ancestor > a {
    background:#F7FFF1 !important;
    color:var(--hvt-pink) !important;
    box-shadow:inset 0 0 0 1px #E9FFD7 !important;
  }
  #main-menu .nav-sidebar .children,
  #main-menu .nav-sidebar .sub-menu,
  #main-menu .nav-sidebar .nav-sidebar-ul {
    margin:5px 5px 8px 12px !important;
    padding:5px 0 5px 11px !important;
    border-left:2px solid #ECFFDC !important;
  }
}

@media (max-width:549px) {
  #logo img { max-width:132px !important; max-height:39px !important; }
  .header-main .header-inner { padding-left:12px !important; padding-right:12px !important; }
  #wide-nav { padding-left:12px !important; padding-right:12px !important; }
  .hvt-testimonials-native {
    padding-left:38px !important;
    padding-right:38px !important;
  }
  .hvt-testimonials-native .testimonial-box {
    opacity:.9 !important;
  }
  .hvt-testimonials-native .testimonial-box.is-selected {
    opacity:1 !important;
  }
}

/* =======================================================================
   v1.13.0 — HOME GRID NORMALIZATION + NATIVE FLICKITY ARROW GEOMETRY
   Final override layer. Keep UX Builder/Flatsome as the runtime owner.
======================================================================= */

/* -----------------------------------------------------------------------
   1) ONE HORIZONTAL GRID FOR THE HOMEPAGE
   Standard sections use a 1200px row. Showcase shells are inset by the
   same 15px column gutter so their outer border aligns with product grids.
------------------------------------------------------------------------ */
.hvt-home-section > .section-content > .row:not(.hvt-merch-shell) {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hvt-merch-section > .section-content > .row.hvt-merch-shell,
.hvt-merch-section .row.hvt-merch-shell {
  width:calc(100% - 30px) !important;
  max-width:1170px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hvt-merch-shell {
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.hvt-merch-shell > .col {
  margin:0 !important;
  padding-bottom:0 !important;
}

/* -----------------------------------------------------------------------
   2) COMPACT SHOWCASE PANELS
   Editorial illustration stays visible but no longer determines an overly
   tall section. Product zone receives a real inset and narrower cards.
------------------------------------------------------------------------ */
.hvt-merch-promo,
.hvt-merch-copy {
  padding:26px 26px !important;
}
.hvt-merch-promo .hvt-merch-art,
.hvt-merch-copy .hvt-merch-art {
  width:72% !important;
  max-width:245px !important;
  margin:8px auto 14px !important;
}
.hvt-merch-promo .hvt-merch-art-small,
.hvt-merch-copy .hvt-merch-art-small {
  max-width:220px !important;
}
.hvt-merch-promo .hvt-merch-art img,
.hvt-merch-copy .hvt-merch-art img {
  width:100% !important;
  height:auto !important;
  max-height:205px !important;
  padding:0 !important;
  object-fit:contain !important;
  transform:none !important;
}
.hvt-merch-shell > .col.hvt-merch-products {
  padding:22px 26px 20px !important;
  box-sizing:border-box !important;
}
.hvt-merch-shell > .col.hvt-merch-products.hvt-merch-products-panel {
  padding:22px 24px 20px !important;
}
.hvt-merch-products > .col-inner {
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
.hvt-merch-inline-heading {
  padding:0 5px !important;
  margin:0 0 16px !important;
}
.hvt-merch-inline-heading a,
.hvt-section-heading > a {
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  word-break:normal !important;
}
.hvt-merch-products .row-slider,
.hvt-merch-products .products.row-slider {
  margin-left:-9px !important;
  margin-right:-9px !important;
}
.hvt-merch-products .row-slider > .product-small,
.hvt-merch-products .products.row-slider > .product-small {
  padding:8px 9px 14px !important;
  box-sizing:border-box !important;
}
.hvt-merch-products-2x2 .product-small .box {
  width:100% !important;
  max-width:270px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hvt-merch-products-panel .product-small .box {
  width:100% !important;
  max-width:236px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hvt-merch-products .product-small .box-text {
  padding:10px 12px 12px !important;
}

/* Pink/green product-card accents inside editorial showcases. */
.hvt-merch-placenta .product-small .box,
.hvt-merch-cosmetics .product-small .box,
.hvt-merch-placenta-drink .product-small .box {
  border:1px solid #E2FFCB !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(31,39,58,.055) !important;
  overflow:hidden !important;
}
.hvt-merch-placenta .product-small .box:hover,
.hvt-merch-cosmetics .product-small .box:hover,
.hvt-merch-placenta-drink .product-small .box:hover {
  border-color:#B9FF81 !important;
  box-shadow:0 10px 24px rgba(31,39,58,.085) !important;
}
.hvt-merch-kenso .product-small .box {
  border:1px solid #E8C2D7 !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(91,36,66,.06) !important;
  overflow:hidden !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:#C8649B !important;
  box-shadow:0 10px 24px rgba(91,36,66,.10) !important;
}

/* -----------------------------------------------------------------------
   3) PRODUCT IMAGE GEOMETRY
   Featured and Collagen-drink cards use a normal, roomy product-image area:
   contain only, no deep crop and no forced low aspect ratio.
------------------------------------------------------------------------ */
.hvt-featured-products .product-small .box-image,
.hvt-collagen-drink-slider .product-small .box-image {
  width:100% !important;
  height:225px !important;
  min-height:225px !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  background:#fff !important;
}
.hvt-featured-products .product-small .box-image > div,
.hvt-collagen-drink-slider .product-small .box-image > div {
  width:100% !important;
  height:100% !important;
  padding-top:0 !important;
  position:relative !important;
}
.hvt-featured-products .product-small .box-image img,
.hvt-collagen-drink-slider .product-small .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:auto !important;
  padding:18px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  transition:transform .2s ease !important;
}
.hvt-featured-products .product-small .box:hover .box-image img,
.hvt-collagen-drink-slider .product-small .box:hover .box-image img {
  transform:scale(1.025) !important;
}

/* Nested showcase cards remain compact. */
.hvt-merch-products .product-small .box-image {
  height:168px !important;
  min-height:168px !important;
  background:#fff !important;
  overflow:hidden !important;
}
.hvt-merch-products .product-small .box-image > div {
  width:100% !important;
  height:100% !important;
  padding-top:0 !important;
  position:relative !important;
}
.hvt-merch-products .product-small .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:18px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
.hvt-merch-products .product-small .box:hover .box-image img {
  transform:scale(1.025) !important;
}

/* -----------------------------------------------------------------------
   4) COLLAGEN UONG — make each native UX Products slide a real card.
------------------------------------------------------------------------ */
.hvt-collagen-drink-slider .row-slider > .product-small,
.hvt-collagen-drink-slider .products.row-slider > .product-small {
  padding:8px 10px 18px !important;
  box-sizing:border-box !important;
}
.hvt-collagen-drink-slider .product-small .box {
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  border:1px solid #E4EADF !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 7px 20px rgba(31,39,58,.065) !important;
  overflow:hidden !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}
.hvt-collagen-drink-slider .product-small .box:hover {
  border-color:#C7FF9A !important;
  box-shadow:0 11px 26px rgba(31,39,58,.10) !important;
}
.hvt-collagen-drink-slider .product-small .box-text {
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  padding:11px 13px 13px !important;
}
.hvt-collagen-drink-slider .product-small .add-to-cart-button {
  margin-top:auto !important;
}
.hvt-collagen-drink-slider .flickity-viewport {
  padding-top:7px !important;
  padding-bottom:16px !important;
  margin-top:-7px !important;
  margin-bottom:-16px !important;
}

/* -----------------------------------------------------------------------
   6) TESTIMONIAL SLIDER — both arrows visible, no hover jump. Keep center
   selection prominent without scaling cells (scaling causes layout jitter).
------------------------------------------------------------------------ */
.hvt-testimonials-native {
  position:relative !important;
  padding-left:54px !important;
  padding-right:54px !important;
}
.hvt-testimonials-native .testimonial-box {
  opacity:.86 !important;
  transition:opacity .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.hvt-testimonials-native .testimonial-box.is-selected {
  opacity:1 !important;
  border-color:#DFF4CD !important;
  box-shadow:0 10px 26px rgba(31,39,58,.075) !important;
}

/* -----------------------------------------------------------------------
   7) RESPONSIVE
------------------------------------------------------------------------ */
@media (max-width:849px) {
  .hvt-home-section > .section-content > .row:not(.hvt-merch-shell) {
    width:calc(100% - 24px) !important;
    max-width:none !important;
  }
  .hvt-merch-section > .section-content > .row.hvt-merch-shell,
  .hvt-merch-section .row.hvt-merch-shell {
    width:calc(100% - 24px) !important;
    max-width:none !important;
  }
  .hvt-merch-shell > .col.hvt-merch-products,
  .hvt-merch-shell > .col.hvt-merch-products.hvt-merch-products-panel {
    padding:18px 16px 16px !important;
  }
  .hvt-merch-products-2x2 .product-small .box,
  .hvt-merch-products-panel .product-small .box {
    max-width:100% !important;
  }
  .hvt-featured-products .product-small .box-image,
  .hvt-collagen-drink-slider .product-small .box-image {
    height:190px !important;
    min-height:190px !important;
  }
  .hvt-merch-products .product-small .box-image {
    height:150px !important;
    min-height:150px !important;
  }
  .hvt-testimonials-native {
    padding-left:44px !important;
    padding-right:44px !important;
  }
}
@media (max-width:549px) {
  .hvt-home-section > .section-content > .row:not(.hvt-merch-shell),
  .hvt-merch-section > .section-content > .row.hvt-merch-shell,
  .hvt-merch-section .row.hvt-merch-shell {
    width:calc(100% - 20px) !important;
  }
  .hvt-merch-promo,
  .hvt-merch-copy { padding:20px 18px !important; }
  .hvt-merch-promo .hvt-merch-art,
  .hvt-merch-copy .hvt-merch-art {
    width:68% !important;
    max-width:205px !important;
  }
  .hvt-merch-shell > .col.hvt-merch-products,
  .hvt-merch-shell > .col.hvt-merch-products.hvt-merch-products-panel {
    padding:15px 10px 14px !important;
  }
  .hvt-featured-products .product-small .box-image,
  .hvt-collagen-drink-slider .product-small .box-image {
    height:155px !important;
    min-height:155px !important;
  }
  .hvt-featured-products .product-small .box-image img,
  .hvt-collagen-drink-slider .product-small .box-image img {
    padding:12px !important;
  }
  .hvt-merch-products .product-small .box-image {
    height:132px !important;
    min-height:132px !important;
  }
  .hvt-merch-products .product-small .box-image img { padding:11px !important; }
  .hvt-testimonials-native {
    padding-left:38px !important;
    padding-right:38px !important;
  }
}

/* =======================================================================
   v1.14.0 — NATIVE FLATSOME SLIDER NAV + COLLAGEN-UONG WIDTH NORMALIZATION
   Arrows intentionally use Flatsome's native "reveal" style. No custom
   geometry, transform, icon or hover CSS is applied by HVT.
======================================================================= */
.hvt-collagen-drink-slider > .section-content > .row:not(.hvt-merch-shell) {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hvt-collagen-drink-slider .row-slider,
.hvt-collagen-drink-slider .products.row-slider {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.hvt-collagen-drink-slider .row-slider > .product-small,
.hvt-collagen-drink-slider .products.row-slider > .product-small {
  box-sizing:border-box !important;
  padding-left:10px !important;
  padding-right:10px !important;
}
.hvt-collagen-drink-slider .flickity-viewport {
  width:100% !important;
  max-width:100% !important;
}
.hvt-testimonials-native {
  padding-left:0 !important;
  padding-right:0 !important;
}
@media (max-width:849px) {
  .hvt-collagen-drink-slider > .section-content > .row:not(.hvt-merch-shell) {
    width:calc(100% - 24px) !important;
  }
}
@media (max-width:549px) {
  .hvt-collagen-drink-slider > .section-content > .row:not(.hvt-merch-shell) {
    width:calc(100% - 20px) !important;
  }
  .hvt-collagen-drink-slider .row-slider > .product-small,
  .hvt-collagen-drink-slider .products.row-slider > .product-small {
    padding-left:6px !important;
    padding-right:6px !important;
  }
}

/* =======================================================================
   v1.15.0 — SINGLE PRODUCT GALLERY 4:3 + DESKTOP STICKY COLUMN
   Scope is intentionally limited to the main single-product gallery.
   Images keep their original proportions via object-fit: contain.
   ======================================================================= */
.single-product .product-main .product-gallery .product-gallery-slider {
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden;
  border:1px solid #e3e5ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(26,35,52,.055);
}
.single-product .product-main .product-gallery .product-gallery-slider .flickity-viewport {
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:inherit;
}
.single-product .product-main .product-gallery .product-gallery-slider .flickity-slider {
  height:100% !important;
}
.single-product .product-main .product-gallery .product-gallery-slider .woocommerce-product-gallery__image,
.single-product .product-main .product-gallery .product-gallery-slider .slide {
  height:100% !important;
  min-height:0 !important;
}
.single-product .product-main .product-gallery .product-gallery-slider .woocommerce-product-gallery__image > a,
.single-product .product-main .product-gallery .product-gallery-slider .slide > a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}
.single-product .product-main .product-gallery .product-gallery-slider .woocommerce-product-gallery__image img,
.single-product .product-main .product-gallery .product-gallery-slider .slide img {
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  padding:16px;
  box-sizing:border-box;
  object-fit:contain !important;
  object-position:center !important;
}

/* Thumbnails: consistent 4:3 landscape cards. */
.single-product .product-main .product-gallery .product-thumbnails .col {
  box-sizing:border-box;
}
.single-product .product-main .product-gallery .product-thumbnails a {
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:4 / 3;
  height:auto !important;
  overflow:hidden;
  border:1px solid #e2e4e9 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.single-product .product-main .product-gallery .product-thumbnails a img {
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  padding:6px;
  box-sizing:border-box;
  object-fit:contain !important;
  object-position:center !important;
}
.single-product .product-main .product-gallery .product-thumbnails .is-nav-selected a {
  border-color:var(--hvt-pink) !important;
  box-shadow:0 0 0 1px rgba(71,128,25,.08), 0 6px 16px rgba(31,39,58,.055);
}

/* Keep the whole left gallery visible while the right product information scrolls. */
@media (min-width:850px) {
  .single-product .product-main,
  .single-product .product-main > .row {
    overflow:visible !important;
  }
  .single-product .product-main .product-gallery {
    position:-webkit-sticky !important;
    position:sticky !important;
    top:104px;
    align-self:flex-start !important;
    height:max-content;
    z-index:2;
  }
  body.admin-bar.single-product .product-main .product-gallery {
    top:136px;
  }
}

/* On tablet/mobile the two product columns stack, so sticky is intentionally disabled. */
@media (max-width:849px) {
  .single-product .product-main .product-gallery {
    position:relative !important;
    top:auto !important;
    height:auto !important;
  }
  .single-product .product-main .product-gallery .product-gallery-slider .woocommerce-product-gallery__image img,
  .single-product .product-main .product-gallery .product-gallery-slider .slide img {
    padding:10px;
  }
  .single-product .product-main .product-gallery .product-thumbnails a img {
    padding:4px;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}

/* =======================================================================
   v1.17.0 — UNIFIED HOME AXIS + CONTACT FORM RHYTHM
   Safe Update patch: only layout/spacing requested in this revision.
   ======================================================================= */

/* 1) One outer axis for every main homepage section.
   1200px on desktop, consistent side gutters on tablet/mobile. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-merch-section > .section-content,
.hvt-testimonial-section > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row,
.hvt-testimonial-section > .section-content > .row,
.hvt-merch-section > .section-content > .row.hvt-merch-shell,
.hvt-merch-section .row.hvt-merch-shell {
  width:calc(100% - 30px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Remove the extra Row/Column shell gutter; the inner product/post elements
   keep their own controlled column spacing. */
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col,
.hvt-testimonial-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}

/* UX Products / Product Categories add their own small column padding.
   Expand only these two rows by the same half-gap so their first/last cards
   visually reach the same axis as the showcase blocks below. */
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row {
  width:calc(100% + 16px) !important;
  max-width:none !important;
  margin-left:-8px !important;
  margin-right:-8px !important;
  box-sizing:border-box !important;
}
.hvt-cat-section .flickity-viewport,
.hvt-featured-products .flickity-viewport {
  width:100% !important;
  max-width:100% !important;
}

/* Section heading/link follow the exact same row axis. */
.hvt-cat-section .hvt-section-heading,
.hvt-featured-products .hvt-section-heading,
.hvt-blog-section .hvt-section-heading {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

@media (max-width:849px) {
  .hvt-cat-section > .section-content > .row,
  .hvt-featured-products > .section-content > .row,
  .hvt-blog-section > .section-content > .row,
  .hvt-testimonial-section > .section-content > .row,
  .hvt-merch-section > .section-content > .row.hvt-merch-shell,
  .hvt-merch-section .row.hvt-merch-shell {
    width:calc(100% - 24px) !important;
  }
  .hvt-cat-section .row-slider,
  .hvt-featured-products .products.row {
    width:calc(100% + 12px) !important;
    margin-left:-6px !important;
    margin-right:-6px !important;
  }
}

@media (max-width:549px) {
  .hvt-cat-section > .section-content > .row,
  .hvt-featured-products > .section-content > .row,
  .hvt-blog-section > .section-content > .row,
  .hvt-testimonial-section > .section-content > .row,
  .hvt-merch-section > .section-content > .row.hvt-merch-shell,
  .hvt-merch-section .row.hvt-merch-shell {
    width:calc(100% - 20px) !important;
  }
  .hvt-cat-section .row-slider,
  .hvt-featured-products .products.row {
    width:calc(100% + 8px) !important;
    margin-left:-4px !important;
    margin-right:-4px !important;
  }
}

/* 2) Contact Form 7: restore a calm vertical rhythm.
   Labels, controls and following fields must never visually touch. */
.hvt-contact-form .hvt-cf7-fields {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  row-gap:20px !important;
  column-gap:0 !important;
  width:100% !important;
}
.hvt-contact-form .hvt-cf7-fields > label {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.35 !important;
}
.hvt-contact-form .hvt-cf7-fields > label > small,
.hvt-contact-form .hvt-cf7-fields > label .hvt-required {
  line-height:1.2 !important;
}
.hvt-contact-form .wpcf7-form-control-wrap {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.hvt-contact-form input[type="text"],
.hvt-contact-form input[type="tel"],
.hvt-contact-form input[type="email"] {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:46px !important;
  margin:0 !important;
  padding:0 13px !important;
  box-sizing:border-box !important;
}
.hvt-contact-form textarea {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  min-height:145px !important;
  margin:0 !important;
  padding:12px 13px !important;
  box-sizing:border-box !important;
  resize:vertical;
}
.hvt-contact-form .hvt-cf7-actions {
  margin:2px 0 0 !important;
  padding:0 !important;
}
.hvt-contact-form .hvt-cf7-actions .wpcf7-submit {
  margin:0 !important;
}
.hvt-contact-form .wpcf7-not-valid-tip {
  display:block !important;
  margin-top:6px !important;
  line-height:1.35 !important;
}

@media (max-width:549px) {
  .hvt-contact-form .hvt-cf7-fields { row-gap:17px !important; }
  .hvt-contact-form .hvt-cf7-fields > label { gap:7px !important; }
  .hvt-contact-form input[type="text"],
  .hvt-contact-form input[type="tel"],
  .hvt-contact-form input[type="email"] { height:44px !important; }
  .hvt-contact-form textarea { min-height:132px !important; }
}

/* =======================================================================
   v1.18.0 — HOME ROW WIDTH ROOT FIX + CF7 CONTROL SPACING
   Targeted Safe Update patch for Importer v1.5+.
   ======================================================================= */

/* 1) Homepage Category + Featured Products.
   Restore the outer 1200px axis at the direct UX Row/Column level and stop
   overriding the native row-small gutters with zero/negative compensation.
   This fixes the visible right-side dead zone while preserving the spacing
   between individual cards. */
@media (min-width:850px) {
  .hvt-cat-section > .section-content > .row,
  .hvt-featured-products > .section-content > .row {
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
}

.hvt-cat-section > .section-content > .row > .col.large-12,
.hvt-featured-products > .section-content > .row > .col.large-12 {
  width:100% !important;
  max-width:100% !important;
  flex-basis:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

.hvt-cat-section > .section-content > .row > .col.large-12 > .col-inner,
.hvt-featured-products > .section-content > .row > .col.large-12 > .col-inner {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* Let the native UX Product / Product Category rows own their card gutters.
   The previous calc(100% + npx) and negative margins were the source of the
   uneven visible axis. */
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-featured-products .products.row.row-small {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

.hvt-cat-section .hvt-section-heading,
.hvt-featured-products .hvt-section-heading {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

@media (max-width:849px) {
  .hvt-cat-section > .section-content > .row,
  .hvt-featured-products > .section-content > .row {
    width:calc(100% - 24px) !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
@media (max-width:549px) {
  .hvt-cat-section > .section-content > .row,
  .hvt-featured-products > .section-content > .row {
    width:calc(100% - 20px) !important;
  }
}

/* 2) Contact Form 7.
   The control wrapper had padding:0!important in v1.17. Restore the exact
   15px bottom rhythm requested for every CF7 control wrapper. */
.hvt-contact-form .hvt-cf7-fields .wpcf7-form-control-wrap {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 0 15px !important;
  box-sizing:border-box !important;
}

/* =======================================================================
   v1.19.0 — CENTER FEATURED PRODUCTS + FIX COLLAGEN-UONG BOTTOM CLIPPING
   Targeted Safe Update patch for Importer v1.5+.
   ======================================================================= */

/* 1) Featured Products: if the native Flatsome product row does not visually
   reach the full 1200px axis, keep the whole block centered instead of
   stretching cards unnaturally. Heading and product grid share one axis. */
@media (min-width:850px) {
  .hvt-featured-products > .section-content > .row > .col.large-12 > .col-inner {
    width:calc(100% - 30px) !important;
    max-width:1170px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
}
.hvt-featured-products .hvt-section-heading,
.hvt-featured-products .products.row,
.hvt-featured-products .products.row.row-small {
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* 2) Collagen Uong slider: the card bottom border/shadow was being clipped by
   Flickity's viewport. Give the viewport real breathing room, remove the old
   negative bottom compensation, and let each card flex naturally inside its
   cell instead of forcing height:100% beyond the viewport calculation. */
.hvt-collagen-drink-slider .flickity-viewport {
  width:100% !important;
  max-width:100% !important;
  padding-top:8px !important;
  padding-bottom:22px !important;
  margin-top:-8px !important;
  margin-bottom:0 !important;
  box-sizing:content-box !important;
}
.hvt-collagen-drink-slider .row-slider > .product-small,
.hvt-collagen-drink-slider .products.row-slider > .product-small {
  display:flex !important;
  align-items:stretch !important;
  padding-bottom:18px !important;
  box-sizing:border-box !important;
}
.hvt-collagen-drink-slider .product-small > .col-inner {
  display:flex !important;
  align-items:stretch !important;
  width:100% !important;
  min-width:0 !important;
}
.hvt-collagen-drink-slider .product-small .box {
  flex:1 1 auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  box-sizing:border-box !important;
}
.hvt-collagen-drink-slider .flickity-page-dots {
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  padding-top:2px !important;
}

@media (max-width:849px) {
  .hvt-featured-products > .section-content > .row > .col.large-12 > .col-inner {
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hvt-collagen-drink-slider .flickity-viewport {
    padding-bottom:18px !important;
  }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.24.0 — MODERN BRANDED DESKTOP HEADER
   - Remove the stray line under the search element.
   - Center search against the header container on wide desktop.
   - Add restrained green/pink brand character without making the header busy.
   ======================================================================= */
.header-wrapper {
  background:#fff !important;
  box-shadow:0 8px 26px rgba(23,33,58,.055) !important;
}
.header-main {
  background:linear-gradient(90deg,#FBFFF8 0%,#FFFFFF 48%,#FFF9FC 100%) !important;
  border-bottom:1px solid rgba(71,128,25,.12) !important;
}

/* The grey artefact was outside the actual rounded .flex-row search box.
   Clear decoration on search wrappers only; keep the intended border on .flex-row. */
.header-main .header-search-form,
.header-main .header-search-form-wrapper,
.header-main .header-search-form-wrapper form.searchform {
  border:0 !important;
  border-bottom:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.header-main .header-search-form::before,
.header-main .header-search-form::after,
.header-main .header-search-form-wrapper::before,
.header-main .header-search-form-wrapper::after,
.header-main .header-search-form-wrapper form.searchform::before,
.header-main .header-search-form-wrapper form.searchform::after {
  content:none !important;
  display:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.header-main .header-search-form-wrapper form.searchform > .flex-row {
  border:1px solid rgba(71,128,25,.20) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 6px 18px rgba(31,55,18,.065) !important;
}
.header-main .header-search-form-wrapper form.searchform:focus-within > .flex-row {
  border-color:rgba(71,128,25,.56) !important;
  box-shadow:0 0 0 3px rgba(71,128,25,.09),0 8px 20px rgba(31,55,18,.07) !important;
}
.header-main .header-search-form-wrapper .ux-search-submit {
  color:#31415a !important;
}
.header-main .header-search-form-wrapper .ux-search-submit:hover {
  color:#478019 !important;
}

/* Account + cart become compact brand-aware utility pills. */
.header-main .account-item > a,
.header-main .cart-item > a {
  min-height:42px !important;
  padding:0 14px !important;
  border:1px solid rgba(71,128,25,.16) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.90) !important;
  box-shadow:0 4px 13px rgba(23,33,58,.045) !important;
  color:var(--hvt-ink) !important;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease !important;
}
.header-main .account-item > a:hover,
.header-main .cart-item > a:hover {
  background:#F6FCEB !important;
  border-color:rgba(71,128,25,.38) !important;
  color:#478019 !important;
  box-shadow:0 7px 18px rgba(71,128,25,.09) !important;
  transform:none !important;
}
.header-main .cart-item .cart-icon strong {
  background:#E6007E !important;
  border-color:#E6007E !important;
  color:#fff !important;
}
.header-main .cart-item .cart-icon strong::after {
  border-top-color:#E6007E !important;
}

/* Navigation: modern soft pills, still native Flatsome menu/dropdowns. */
#wide-nav {
  background:rgba(255,255,255,.96) !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(71,128,25,.10) !important;
  box-shadow:none !important;
}
#wide-nav .nav > li > a {
  min-height:40px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  transition:background-color .18s ease,color .18s ease !important;
}
#wide-nav .nav > li > a:hover {
  background:#F3FAEC !important;
  color:#478019 !important;
}
#wide-nav .nav > li.active > a,
#wide-nav .nav > li.current-menu-item > a,
#wide-nav .nav > li.current-menu-ancestor > a {
  background:#EDF7E5 !important;
  color:#478019 !important;
}

/* True visual centering of the desktop search field against the 1200px header
   container. Keep native flow on narrower desktop/tablet to avoid collisions. */
@media (min-width:1100px) {
  .header-main .header-inner {
    position:relative !important;
  }
  .header-main .hide-for-medium.flex-left,
  .header-main .header-nav-main.nav-left {
    position:static !important;
  }
  .header-main .header-search-form {
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:520px !important;
    max-width:43vw !important;
    min-width:420px !important;
    margin:0 !important;
    z-index:4 !important;
  }
  .header-main .hide-for-medium.flex-right {
    margin-left:auto !important;
    position:relative !important;
    z-index:5 !important;
  }
  #logo {
    position:relative !important;
    z-index:5 !important;
  }
}

@media (min-width:850px) and (max-width:1099px) {
  .header-main .header-search-form {
    margin-left:18px !important;
    margin-right:12px !important;
  }
  .header-main .account-item > a,
  .header-main .cart-item > a {
    padding-left:11px !important;
    padding-right:11px !important;
  }
}

/* =======================================================================
   v1.25.0 — TESTIMONIALS: VISIBLE NATIVE ARROWS ONLY
   Keep Flickity/Flatsome positioning and transforms untouched. We only
   ensure the native SVG arrow is visible on the light testimonial panel.
   ======================================================================= */
.hvt-testimonials-native .flickity-prev-next-button {
  opacity:1 !important;
  color:#478019 !important;
}
.hvt-testimonials-native .flickity-prev-next-button .flickity-button-icon .arrow {
  fill:#478019 !important;
}
.hvt-testimonials-native .flickity-prev-next-button:hover,
.hvt-testimonials-native .flickity-prev-next-button:focus {
  color:#E6007E !important;
}
.hvt-testimonials-native .flickity-prev-next-button:hover .flickity-button-icon .arrow,
.hvt-testimonials-native .flickity-prev-next-button:focus .flickity-button-icon .arrow {
  fill:#E6007E !important;
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.26.0 — TESTIMONIAL COPY REFRESH + NATIVE ARROW VISIBILITY
   Do not touch Flickity geometry/transform; only visual contrast.
   ======================================================================= */
.hvt-testimonials-native .flickity-prev-next-button {
  opacity:1 !important;
  visibility:visible !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(71,128,25,.28) !important;
  color:#478019 !important;
  box-shadow:0 5px 16px rgba(22,42,18,.08) !important;
}
.hvt-testimonials-native .flickity-prev-next-button .flickity-button-icon,
.hvt-testimonials-native .flickity-prev-next-button svg {
  opacity:1 !important;
  color:#478019 !important;
}
.hvt-testimonials-native .flickity-prev-next-button .arrow {
  fill:#478019 !important;
  stroke:#478019 !important;
}
.hvt-testimonials-native .flickity-prev-next-button:hover,
.hvt-testimonials-native .flickity-prev-next-button:focus {
  background:#478019 !important;
  color:#fff !important;
  border-color:#478019 !important;
}
.hvt-testimonials-native .flickity-prev-next-button:hover .arrow,
.hvt-testimonials-native .flickity-prev-next-button:focus .arrow {
  fill:#fff !important;
  stroke:#fff !important;
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.27.0 — MOBILE HEADER: native Flatsome sticky search row
   Main mobile row scrolls normally; bottom row (search form) is the sticky
   element. No custom scroll-direction JavaScript is introduced.
   ======================================================================= */
@media(max-width:849px){
  .header-bottom .header-inner{min-height:50px!important;padding-top:4px!important;padding-bottom:4px!important}
  .header-bottom .searchform,.header-bottom .search-form{margin:0!important;width:100%!important}
  .header-bottom .search-field{height:40px!important;min-height:40px!important}
  .header-bottom .searchform-wrapper{width:100%!important}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.28.0 — REFINED LIQUID GLASS DOCK + UNIFIED BACK-TO-TOP RAIL
   - Back-to-top is a true circle and shares the same right axis as the
     desktop Hotline/Zalo/Messenger buttons.
   - On mobile it is lifted above the glass dock instead of being covered.
   - No translate hover movement: the controls stay physically stable.
   ======================================================================= */
@media (min-width:850px){
  .hvt-contact-rail{right:18px!important;bottom:72px!important;gap:10px!important}
  .back-to-top,#top-link{
    position:fixed!important;right:18px!important;bottom:18px!important;
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
    border-radius:50%!important;margin:0!important;padding:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    color:#478019!important;background:rgba(255,255,255,.82)!important;
    border:1px solid rgba(71,128,25,.18)!important;
    box-shadow:0 8px 24px rgba(23,33,58,.10),inset 0 1px 0 rgba(255,255,255,.8)!important;
    backdrop-filter:blur(16px) saturate(145%)!important;-webkit-backdrop-filter:blur(16px) saturate(145%)!important;
    transform:none!important;z-index:998!important;
  }
  .back-to-top:hover,#top-link:hover{
    color:#fff!important;background:#478019!important;border-color:#478019!important;
    box-shadow:0 10px 26px rgba(71,128,25,.22)!important;transform:none!important;
  }
  .back-to-top:hover i,#top-link:hover i{transform:none!important}
}
@media (max-width:849px){
  .back-to-top,#top-link{
    position:fixed!important;right:18px!important;
    bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
    border-radius:50%!important;margin:0!important;padding:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    color:#478019!important;background:rgba(255,255,255,.34)!important;
    border:1px solid rgba(255,255,255,.52)!important;
    box-shadow:0 9px 24px rgba(23,33,58,.12),inset 0 1px 0 rgba(255,255,255,.70)!important;
    backdrop-filter:blur(22px) saturate(175%)!important;-webkit-backdrop-filter:blur(22px) saturate(175%)!important;
    transform:none!important;z-index:1000!important;
  }
  .back-to-top:hover,#top-link:hover,.back-to-top:active,#top-link:active{
    color:#E6007E!important;background:rgba(255,255,255,.48)!important;transform:none!important;
  }
  .back-to-top:hover i,#top-link:hover i{transform:none!important}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.29.0 — MOBILE HEADER SEARCH IN LIQUID GLASS STYLE
   - Match the visual language of the bottom mobile contact dock.
   - Remove the old white rectangular wrapper.
   - Let the search field feel floating with a small top offset.
   ======================================================================= */
@media (max-width:849px){
  .header-bottom,
  .header-bottom .header-wrapper,
  .header-bottom .header-bg,
  .header-bottom .container,
  .header-bottom .container-width,
  .header-bottom .header-inner,
  .header-bottom .nav-wrapper,
  .header-bottom .nav-box,
  .header-bottom .nav,
  #wide-nav,
  #wide-nav .container,
  #wide-nav .container-width,
  #wide-nav .header-wrapper,
  #wide-nav .header-bg,
  #wide-nav .header-inner {
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
  }

  .header-bottom,
  #wide-nav {
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .header-bottom .header-inner,
  #wide-nav .header-inner {
    min-height:auto !important;
  }

  .header-bottom .header-search-form,
  #wide-nav .header-search-form {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 12px !important;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
  }

  .header-bottom .header-search-form-wrapper,
  .header-bottom .header-search-form-wrapper form.searchform,
  #wide-nav .header-search-form-wrapper,
  #wide-nav .header-search-form-wrapper form.searchform {
    width:100% !important;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    margin:0 !important;
  }

  .header-bottom .header-search-form::before,
  .header-bottom .header-search-form::after,
  .header-bottom .header-search-form-wrapper::before,
  .header-bottom .header-search-form-wrapper::after,
  .header-bottom .header-search-form-wrapper form.searchform::before,
  .header-bottom .header-search-form-wrapper form.searchform::after,
  #wide-nav .header-search-form::before,
  #wide-nav .header-search-form::after,
  #wide-nav .header-search-form-wrapper::before,
  #wide-nav .header-search-form-wrapper::after,
  #wide-nav .header-search-form-wrapper form.searchform::before,
  #wide-nav .header-search-form-wrapper form.searchform::after {
    content:none !important;
    display:none !important;
  }

  .header-bottom .header-search-form-wrapper form.searchform > .flex-row,
  #wide-nav .header-search-form-wrapper form.searchform > .flex-row {
    height:46px !important;
    min-height:46px !important;
    border-radius:23px !important;
    padding:0 6px 0 14px !important;
    gap:8px !important;
    border:1px solid rgba(255,255,255,.38) !important;
    background:rgba(255,255,255,.18) !important;
    box-shadow:0 10px 28px rgba(20,30,50,.12), inset 0 1px 0 rgba(255,255,255,.56) !important;
    backdrop-filter:blur(22px) saturate(175%) !important;
    -webkit-backdrop-filter:blur(22px) saturate(175%) !important;
  }

  .header-bottom .header-search-form-wrapper form.searchform:focus-within > .flex-row,
  #wide-nav .header-search-form-wrapper form.searchform:focus-within > .flex-row {
    background:rgba(255,255,255,.23) !important;
    border-color:rgba(255,255,255,.52) !important;
    box-shadow:0 12px 32px rgba(20,30,50,.14), inset 0 1px 0 rgba(255,255,255,.66) !important;
  }

  .header-bottom .header-search-form-wrapper .search-field,
  #wide-nav .header-search-form-wrapper .search-field {
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    color:#1f2937 !important;
    font-size:14px !important;
  }

  .header-bottom .header-search-form-wrapper .search-field::placeholder,
  #wide-nav .header-search-form-wrapper .search-field::placeholder {
    color:rgba(31,41,55,.62) !important;
  }

  .header-bottom .header-search-form-wrapper .ux-search-submit,
  #wide-nav .header-search-form-wrapper .ux-search-submit {
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border:none !important;
    border-radius:17px !important;
    background:rgba(255,255,255,.12) !important;
    box-shadow:none !important;
    color:#478019 !important;
  }

  .header-bottom .header-search-form-wrapper .ux-search-submit:hover,
  .header-bottom .header-search-form-wrapper .ux-search-submit:focus,
  #wide-nav .header-search-form-wrapper .ux-search-submit:hover,
  #wide-nav .header-search-form-wrapper .ux-search-submit:focus {
    background:rgba(255,255,255,.22) !important;
    color:#E6007E !important;
    transform:none !important;
  }

  .header-bottom .live-search-results,
  #wide-nav .live-search-results {
    margin-top:8px !important;
    border-radius:18px !important;
    border:1px solid rgba(255,255,255,.42) !important;
    background:rgba(255,255,255,.68) !important;
    box-shadow:0 18px 36px rgba(20,30,50,.14) !important;
    backdrop-filter:blur(20px) saturate(170%) !important;
    -webkit-backdrop-filter:blur(20px) saturate(170%) !important;
    overflow:hidden !important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.30.0 — TRANSPARENT MOBILE SEARCH OUTER WRAPPER + UNIFIED ICON SET
   Outer header/search containers are truly transparent; only the rounded
   search control itself keeps the glass surface.
   ======================================================================= */
@media (max-width:849px){
  .header-bottom,
  .header-bottom .header-bg,
  .header-bottom .header-wrapper,
  .header-bottom .header-inner,
  .header-bottom .container,
  .header-bottom .container-width,
  #wide-nav,
  #wide-nav .header-bg,
  #wide-nav .header-wrapper,
  #wide-nav .header-inner,
  #wide-nav .container,
  #wide-nav .container-width,
  #wide-nav .nav-wrapper,
  #wide-nav .nav,
  .header-bottom .header-search-form,
  .header-bottom .header-search-form-wrapper,
  .header-bottom .header-search-form-wrapper form.searchform,
  #wide-nav .header-search-form,
  #wide-nav .header-search-form-wrapper,
  #wide-nav .header-search-form-wrapper form.searchform {
    background:transparent !important;
    background-image:none !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
  }

  .header-bottom,
  #wide-nav {
    margin-top:8px !important;
    padding:0 12px 8px !important;
  }

  .header-bottom .header-search-form,
  #wide-nav .header-search-form {
    padding:0 !important;
  }

  .header-bottom .header-search-form-wrapper form.searchform > .flex-row,
  #wide-nav .header-search-form-wrapper form.searchform > .flex-row {
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.36) !important;
    box-shadow:0 10px 26px rgba(20,30,50,.10),inset 0 1px 0 rgba(255,255,255,.50) !important;
    backdrop-filter:blur(22px) saturate(175%) !important;
    -webkit-backdrop-filter:blur(22px) saturate(175%) !important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.31.0 — REMOVE HEADER LIVE-SEARCH STRIP + CLEARER SEARCH GLASS + GREEN ICONS
   ======================================================================= */
/* The horizontal live-search strip under the header search is not used. */
.header .live-search-results,
.header .search-form .live-search-results,
.header .searchform .live-search-results,
.header-search-form .live-search-results,
.header-search-form-wrapper .live-search-results,
.header-bottom .live-search-results,
#wide-nav .live-search-results,
.live-search-results {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Mobile search: every outer layer stays fully transparent; only the pill is
   a very light glass surface, never an opaque white bar. */
@media (max-width:849px){
  .header-bottom,
  .header-bottom .header-bg,
  .header-bottom .header-wrapper,
  .header-bottom .header-inner,
  .header-bottom .container,
  .header-bottom .container-width,
  .header-bottom .header-search-form,
  .header-bottom .header-search-form-wrapper,
  .header-bottom .header-search-form-wrapper form.searchform,
  #wide-nav,
  #wide-nav .header-bg,
  #wide-nav .header-wrapper,
  #wide-nav .header-inner,
  #wide-nav .container,
  #wide-nav .container-width,
  #wide-nav .header-search-form,
  #wide-nav .header-search-form-wrapper,
  #wide-nav .header-search-form-wrapper form.searchform {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .header-bottom .header-search-form-wrapper form.searchform > .flex-row,
  #wide-nav .header-search-form-wrapper form.searchform > .flex-row {
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    box-shadow:0 8px 22px rgba(20,30,50,.09), inset 0 1px 0 rgba(255,255,255,.40) !important;
    backdrop-filter:blur(22px) saturate(175%) !important;
    -webkit-backdrop-filter:blur(22px) saturate(175%) !important;
  }
  .header-bottom .header-search-form-wrapper form.searchform:focus-within > .flex-row,
  #wide-nav .header-search-form-wrapper form.searchform:focus-within > .flex-row {
    background:rgba(255,255,255,.12) !important;
    border-color:rgba(255,255,255,.38) !important;
  }
}

/* One icon language: solid green across mobile dock and desktop rail. */
.hvt-contact-dock{--hvt-dock-green:#478019 !important;--hvt-dock-ink:#478019 !important}
.hvt-contact-dock__mobile .hvt-liquid-action,
.hvt-contact-dock__mobile .hvt-liquid-action.is-home,
.hvt-contact-rail>a {
  color:#478019 !important;
}
.hvt-contact-dock__mobile .hvt-liquid-action svg,
.hvt-contact-rail>a svg {
  fill:currentColor !important;
  color:#478019 !important;
}
.hvt-contact-dock__mobile .hvt-zalo-svg text,
.hvt-contact-rail .hvt-zalo-svg text {
  fill:#fff !important;
}
.hvt-contact-dock__mobile .hvt-liquid-action:active,
.hvt-contact-dock__mobile .hvt-liquid-action:focus-visible {
  color:#478019 !important;
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.32.0 — DESKTOP FLOATING RAIL HOVER: SOFT GREEN GRADIENT
   Keep the solid green icons visible; hover adds only a pale green glass
   gradient instead of a solid green fill. Back-to-top uses the same state.
   ======================================================================= */
@media (min-width:850px){
  .hvt-contact-rail>a:hover,
  .hvt-contact-rail>a:focus-visible {
    color:#478019 !important;
    background:linear-gradient(145deg,rgba(235,248,225,.96),rgba(247,252,242,.88)) !important;
    border-color:rgba(71,128,25,.26) !important;
    box-shadow:0 10px 26px rgba(71,128,25,.14),inset 0 1px 0 rgba(255,255,255,.92) !important;
    transform:none !important;
  }
  .hvt-contact-rail>a:hover svg,
  .hvt-contact-rail>a:focus-visible svg {
    color:#478019 !important;
    fill:currentColor !important;
  }
  .hvt-contact-rail>a:hover .hvt-zalo-svg text,
  .hvt-contact-rail>a:focus-visible .hvt-zalo-svg text {
    fill:#fff !important;
  }
  .back-to-top:hover,
  #top-link:hover,
  .back-to-top:focus-visible,
  #top-link:focus-visible {
    color:#478019 !important;
    background:linear-gradient(145deg,rgba(235,248,225,.96),rgba(247,252,242,.88)) !important;
    border-color:rgba(71,128,25,.26) !important;
    box-shadow:0 10px 26px rgba(71,128,25,.14),inset 0 1px 0 rgba(255,255,255,.92) !important;
    transform:none !important;
  }
  .back-to-top:hover i,
  #top-link:hover i,
  .back-to-top:focus-visible i,
  #top-link:focus-visible i {
    color:#478019 !important;
    transform:none !important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.36.0 — FIX CATEGORY CARD IMAGE CONTAINMENT + COMPACT KENSO
   ===================================================================== */
.hvt-cat-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.hvt-cat-summary-card{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:16px!important;
  padding:14px 16px!important;
  overflow:hidden!important;
  border:1px solid rgba(71,128,25,.14)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff 0%,#f8fbf4 100%)!important;
  box-shadow:0 8px 22px rgba(25,42,30,.05)!important;
  text-decoration:none!important;
}
.hvt-cat-summary-image{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 112px!important;
  width:112px!important;
  height:88px!important;
  max-width:112px!important;
  max-height:88px!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#fff!important;
}
.hvt-cat-summary-image img{
  display:block!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:6px!important;
  transform:none!important;
}
.hvt-cat-summary-copy{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  flex-direction:column!important;
  gap:4px!important;
}
.hvt-cat-summary-copy strong{font-size:17px!important;line-height:1.3!important;color:#18263f!important;}
.hvt-cat-summary-copy small{font-size:13px!important;line-height:1.45!important;color:#737d8f!important;text-transform:none!important;}
.hvt-cat-summary-copy em{font-size:12px!important;font-style:normal!important;font-weight:700!important;color:#E6007E!important;}

.hvt-kenso-compact .hvt-merch-shell{
  padding:24px 30px!important;
  border:1px solid rgba(71,128,25,.14)!important;
  border-radius:24px!important;
  background:linear-gradient(115deg,#fff 0%,#fbfff8 58%,#f4faed 100%)!important;
  box-shadow:0 10px 28px rgba(25,42,30,.05)!important;
}
.hvt-kenso-visual-col>.col-inner,
.hvt-kenso-info-col>.col-inner{height:100%!important;}
.hvt-kenso-product-image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:300px!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#fff!important;
  text-decoration:none!important;
}
.hvt-kenso-product-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:10px!important;
  margin:0!important;
}
.hvt-kenso-info{
  display:flex!important;
  min-height:300px!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding:10px 8px 10px 28px!important;
}
.hvt-kenso-info h2{margin:8px 0 10px!important;font-size:30px!important;line-height:1.2!important;color:#18263f!important;}
.hvt-kenso-info p{max-width:600px!important;margin:0 0 14px!important;font-size:15px!important;line-height:1.7!important;color:#667085!important;}
.hvt-kenso-price{margin:0 0 14px!important;font-size:21px!important;font-weight:800!important;color:#478019!important;}
.hvt-kenso-actions{display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important;}
.hvt-kenso-category-link{font-size:13px!important;font-weight:700!important;color:#E6007E!important;text-decoration:none!important;}

@media(max-width:849px){
  .hvt-cat-summary-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .hvt-cat-summary-card{padding:12px!important;}
  .hvt-cat-summary-image{flex-basis:96px!important;width:96px!important;height:76px!important;max-width:96px!important;max-height:76px!important;}
  .hvt-kenso-compact .hvt-merch-shell{padding:18px!important;}
  .hvt-kenso-product-image{height:250px!important;}
  .hvt-kenso-info{min-height:0!important;padding:18px 4px 2px!important;}
  .hvt-kenso-info h2{font-size:24px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.39.0 — SAFE UPDATE PATCH: FORCE 3 CATEGORY CARDS SAME ROW
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-section .hvt-cat-summary-grid,
  .hvt-cat-summary .hvt-cat-summary-grid{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:20px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .hvt-cat-section .hvt-cat-summary-grid > .hvt-cat-summary-card,
  .hvt-cat-summary .hvt-cat-summary-grid > .hvt-cat-summary-card{
    display:flex!important;
    float:none!important;
    clear:none!important;
    position:relative!important;
    flex:0 0 calc((100% - 40px)/3)!important;
    width:calc((100% - 40px)/3)!important;
    max-width:calc((100% - 40px)/3)!important;
    min-width:0!important;
    margin:0!important;
    inset:auto!important;
  }
  .hvt-cat-section .hvt-cat-summary-image,
  .hvt-cat-summary .hvt-cat-summary-image{
    flex:0 0 122px!important;
    width:122px!important;
    height:96px!important;
    max-width:122px!important;
    max-height:96px!important;
  }
  .hvt-cat-section .hvt-cat-summary-image img,
  .hvt-cat-summary .hvt-cat-summary-image img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:3px!important;
    transform:scale(1.10)!important;
    transform-origin:center center!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.40.0 — CATEGORY SUMMARY BALANCE / FULLER 3-CARD ROW
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-section .section-content > .row,
  .hvt-cat-summary .section-content > .row{
    width:100%!important;
    max-width:1200px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hvt-cat-section .hvt-cat-summary-grid,
  .hvt-cat-summary .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    width:100%!important;
    max-width:none!important;
    align-items:stretch!important;
  }
  .hvt-cat-section .hvt-cat-summary-grid > .hvt-cat-summary-card,
  .hvt-cat-summary .hvt-cat-summary-grid > .hvt-cat-summary-card{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:148px!important;
    margin:0!important;
    padding:20px 20px!important;
    gap:18px!important;
    float:none!important;
    clear:none!important;
    grid-column:auto!important;
    grid-row:auto!important;
    flex:none!important;
  }
  .hvt-cat-section .hvt-cat-summary-image,
  .hvt-cat-summary .hvt-cat-summary-image{
    flex:0 0 140px!important;
    width:140px!important;
    height:112px!important;
    max-width:140px!important;
    max-height:112px!important;
    border-radius:16px!important;
  }
  .hvt-cat-section .hvt-cat-summary-image img,
  .hvt-cat-summary .hvt-cat-summary-image img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:2px!important;
    transform:scale(1.06)!important;
    transform-origin:center!important;
  }
  .hvt-cat-section .hvt-cat-summary-copy strong,
  .hvt-cat-summary .hvt-cat-summary-copy strong{
    font-size:19px!important;
    line-height:1.28!important;
  }
  .hvt-cat-section .hvt-cat-summary-copy small,
  .hvt-cat-summary .hvt-cat-summary-copy small{
    font-size:13.5px!important;
    line-height:1.5!important;
  }
  .hvt-cat-section .hvt-cat-summary-copy em,
  .hvt-cat-summary .hvt-cat-summary-copy em{
    margin-top:3px!important;
    font-size:12.5px!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.41.0 — NATIVE FLATSOME 3-COLUMN CATEGORY ROW
   Use real UX Builder row/col structure so the third card cannot drop.
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    width:auto!important;
  }
  .hvt-cat-summary-row > .hvt-cat-summary-col{
    display:flex!important;
    flex:0 0 33.333333%!important;
    max-width:33.333333%!important;
    width:33.333333%!important;
    float:none!important;
  }
  .hvt-cat-summary-row > .hvt-cat-summary-col > .col-inner{
    width:100%!important;
    display:flex!important;
  }
  .hvt-cat-summary-row .hvt-cat-summary-card{
    width:100%!important;
    min-height:150px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:20px!important;
    padding:20px!important;
  }
  .hvt-cat-summary-row .hvt-cat-summary-image{
    flex:0 0 146px!important;
    width:146px!important;
    height:116px!important;
    max-width:146px!important;
    max-height:116px!important;
  }
  .hvt-cat-summary-row .hvt-cat-summary-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    padding:0!important;
    transform:scale(1.08)!important;
    transform-origin:center!important;
  }
}
@media (max-width:849px){
  .hvt-cat-summary-row{display:block!important;}
  .hvt-cat-summary-row > .hvt-cat-summary-col{width:100%!important;max-width:100%!important;}
  .hvt-cat-summary-row .hvt-cat-summary-card{min-height:112px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.42.0 — CATEGORY CARDS: KEEP 3 IN ONE ROW, ADD REAL GUTTERS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    width:auto!important;
    margin-left:-10px!important;
    margin-right:-10px!important;
  }
  .hvt-cat-summary-row > .hvt-cat-summary-col{
    display:flex!important;
    flex:0 0 33.333333%!important;
    width:33.333333%!important;
    max-width:33.333333%!important;
    float:none!important;
    padding-left:10px!important;
    padding-right:10px!important;
    box-sizing:border-box!important;
  }
  .hvt-cat-summary-row > .hvt-cat-summary-col > .col-inner{
    width:100%!important;
    display:flex!important;
  }
  .hvt-cat-summary-row .hvt-cat-summary-card{
    width:100%!important;
    margin:0!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.43.0 — RESPONSIVE CATEGORY ROW SPACING / NO RIGHT OVERFLOW
   ===================================================================== */
/* Reset Flatsome row/column gutters for this one custom row only. */
.hvt-cat-section .hvt-cat-summary-row{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}
.hvt-cat-section .hvt-cat-summary-row > .hvt-cat-summary-col{
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
}
.hvt-cat-section .hvt-cat-summary-row > .hvt-cat-summary-col > .col-inner{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}

/* Desktop: 3 equal cards, genuine 24px gaps, never wider than container. */
@media (min-width:1100px){
  .hvt-cat-section .hvt-cat-summary-row{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:24px!important;
  }
  .hvt-cat-section .hvt-cat-summary-row > .hvt-cat-summary-col{
    display:flex!important;
    flex:0 0 calc((100% - 48px) / 3)!important;
    width:calc((100% - 48px) / 3)!important;
    max-width:calc((100% - 48px) / 3)!important;
  }
  .hvt-cat-section .hvt-cat-summary-card{
    width:100%!important;
    min-height:150px!important;
    gap:20px!important;
    padding:20px!important;
  }
  .hvt-cat-section .hvt-cat-summary-image{
    flex:0 0 146px!important;
    width:146px!important;
    height:116px!important;
    max-width:146px!important;
    max-height:116px!important;
  }
}

/* Tablet: keep 3 across, tighten the gap and make imagery more prominent. */
@media (min-width:850px) and (max-width:1099px){
  .hvt-cat-section .hvt-cat-summary-row{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:16px!important;
  }
  .hvt-cat-section .hvt-cat-summary-row > .hvt-cat-summary-col{
    display:flex!important;
    flex:0 0 calc((100% - 32px) / 3)!important;
    width:calc((100% - 32px) / 3)!important;
    max-width:calc((100% - 32px) / 3)!important;
  }
  .hvt-cat-section .hvt-cat-summary-card{
    width:100%!important;
    min-height:136px!important;
    gap:14px!important;
    padding:14px!important;
  }
  .hvt-cat-section .hvt-cat-summary-image{
    flex:0 0 124px!important;
    width:124px!important;
    height:100px!important;
    max-width:124px!important;
    max-height:100px!important;
  }
  .hvt-cat-section .hvt-cat-summary-image img{
    transform:scale(1.10)!important;
  }
  .hvt-cat-section .hvt-cat-summary-copy strong{font-size:16px!important;}
  .hvt-cat-section .hvt-cat-summary-copy small{font-size:12.5px!important;line-height:1.42!important;}
  .hvt-cat-section .hvt-cat-summary-copy em{font-size:11.5px!important;}
}

/* Mobile: compact vertical rhythm, no huge blank bands between cards. */
@media (max-width:849px){
  .hvt-cat-section{padding-bottom:10px!important;}
  .hvt-cat-section .hvt-cat-summary-row{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
  }
  .hvt-cat-section .hvt-cat-summary-row > .hvt-cat-summary-col{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
    padding-bottom:0!important;
  }
  .hvt-cat-section .hvt-cat-summary-card{
    width:100%!important;
    min-height:98px!important;
    margin:0!important;
    padding:10px 12px!important;
    gap:12px!important;
  }
  .hvt-cat-section .hvt-cat-summary-image{
    flex:0 0 86px!important;
    width:86px!important;
    height:72px!important;
    max-width:86px!important;
    max-height:72px!important;
  }
  .hvt-cat-section .hvt-cat-summary-image img{
    transform:scale(1.08)!important;
    padding:2px!important;
  }
  .hvt-cat-section .hvt-cat-summary-copy{gap:2px!important;}
  .hvt-cat-section .hvt-cat-summary-copy strong{font-size:15px!important;line-height:1.28!important;}
  .hvt-cat-section .hvt-cat-summary-copy small{font-size:11.5px!important;line-height:1.35!important;}
  .hvt-cat-section .hvt-cat-summary-copy em{font-size:11px!important;margin-top:1px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.44.0 — COMPACT CATEGORY / WHY CARDS + 2-CARD COLLAGEN SLIDER
   ===================================================================== */
/* Category summary: slightly more compact on desktop, much tighter on tablet/mobile. */
@media (min-width:1100px){
  .hvt-cat-summary-row{margin-top:0!important;margin-bottom:0!important;}
  .hvt-cat-summary-row>.col{padding-top:0!important;padding-bottom:0!important;}
  .hvt-cat-summary-card{min-height:132px!important;padding:12px 14px!important;gap:14px!important;}
  .hvt-cat-summary-image{flex-basis:126px!important;width:126px!important;height:100px!important;max-width:126px!important;max-height:100px!important;}
  .hvt-cat-summary-copy strong{font-size:16px!important;line-height:1.25!important;}
  .hvt-cat-summary-copy small{font-size:12px!important;line-height:1.4!important;}
  .hvt-cat-summary-copy em{font-size:11.5px!important;line-height:1.3!important;margin-top:2px!important;}
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-cat-section{padding-top:18px!important;padding-bottom:8px!important;}
  .hvt-cat-summary-row{margin-top:0!important;margin-bottom:0!important;}
  .hvt-cat-summary-row>.col{padding-top:5px!important;padding-bottom:5px!important;}
  .hvt-cat-summary-card{min-height:104px!important;padding:9px 10px!important;gap:10px!important;}
  .hvt-cat-summary-image{flex-basis:112px!important;width:112px!important;height:86px!important;max-width:112px!important;max-height:86px!important;}
  .hvt-cat-summary-copy{gap:2px!important;}
  .hvt-cat-summary-copy strong{font-size:15px!important;line-height:1.2!important;}
  .hvt-cat-summary-copy small{font-size:11px!important;line-height:1.35!important;}
  .hvt-cat-summary-copy em{font-size:10.5px!important;line-height:1.25!important;margin-top:1px!important;}
}
@media (max-width:849px){
  .hvt-cat-section{padding-top:16px!important;padding-bottom:6px!important;}
  .hvt-cat-summary-row{margin-top:0!important;margin-bottom:0!important;}
  .hvt-cat-summary-row>.col{padding-top:5px!important;padding-bottom:5px!important;}
  .hvt-cat-summary-card{min-height:90px!important;padding:8px 10px!important;gap:10px!important;}
  .hvt-cat-summary-image{flex-basis:84px!important;width:84px!important;height:68px!important;max-width:84px!important;max-height:68px!important;}
  .hvt-cat-summary-copy{gap:1px!important;}
  .hvt-cat-summary-copy strong{font-size:14px!important;line-height:1.2!important;}
  .hvt-cat-summary-copy small{font-size:10.5px!important;line-height:1.3!important;}
  .hvt-cat-summary-copy em{font-size:10px!important;line-height:1.25!important;margin-top:1px!important;}
}

/* Why InnoPha: reduce vertical space while preserving the 4-card visual rhythm. */
.hvt-why-grid{gap:16px!important;}
.hvt-why-card{padding:22px 18px!important;min-height:190px!important;}
.hvt-why-card .img{margin-bottom:10px!important;}
.hvt-why-card strong{font-size:15px!important;line-height:1.25!important;margin-bottom:7px!important;}
.hvt-why-card span{font-size:12px!important;line-height:1.45!important;max-width:240px!important;margin-left:auto!important;margin-right:auto!important;}
@media (min-width:850px) and (max-width:1099px){
  .hvt-why-grid{gap:12px!important;}
  .hvt-why-card{padding:16px 12px!important;min-height:154px!important;}
  .hvt-why-card .img{margin-bottom:6px!important;}
  .hvt-why-card strong{font-size:14px!important;margin-bottom:4px!important;}
  .hvt-why-card span{font-size:11px!important;line-height:1.35!important;max-width:210px!important;}
}
@media (max-width:849px){
  .hvt-why-grid{gap:10px!important;}
  .hvt-why-card{padding:14px 10px!important;min-height:138px!important;}
  .hvt-why-card .img{margin-bottom:5px!important;}
  .hvt-why-card strong{font-size:13.5px!important;margin-bottom:3px!important;}
  .hvt-why-card span{font-size:10.5px!important;line-height:1.32!important;}
}

/* Collagen uống: 2 product cards per slide on desktop/tablet, 1 on mobile. */
.hvt-core-collagen .hvt-merch-products-panel .row-slider{margin-bottom:0!important;}
.hvt-core-collagen .hvt-merch-products-panel .flickity-viewport{padding-bottom:2px!important;}
.hvt-core-collagen .hvt-merch-products-panel .product-small{height:100%!important;}

/* =====================================================================
   v1.45.0 — FIX COLLAGEN PRODUCT SLIDER + WHY DESCRIPTION TYPOGRAPHY
   ===================================================================== */
/* Keep UX Products on Flatsome's native shortcode path. Do not use type="slider". */
.hvt-core-collagen .hvt-merch-products-panel{
  min-width:0!important;
}
.hvt-core-collagen .hvt-merch-products-panel .row-slider,
.hvt-core-collagen .hvt-merch-products-panel .slider{
  min-height:1px!important;
}

/* Description text must be smaller even if an older homepage version has plain text nodes instead of <span>. */
.hvt-why-card{
  font-size:11px!important;
  line-height:1.38!important;
}
.hvt-why-card strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.25!important;
  margin-bottom:4px!important;
}
.hvt-why-card > span{
  display:block!important;
  font-size:11px!important;
  line-height:1.38!important;
  max-width:220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-why-card{
    font-size:9.8px!important;
    line-height:1.32!important;
  }
  .hvt-why-card strong{
    font-size:13px!important;
    margin-bottom:3px!important;
  }
  .hvt-why-card > span{
    font-size:9.8px!important;
    line-height:1.32!important;
    max-width:190px!important;
  }
}
@media (max-width:849px){
  .hvt-why-card{
    font-size:10px!important;
    line-height:1.32!important;
  }
  .hvt-why-card strong{
    font-size:13px!important;
    margin-bottom:3px!important;
  }
  .hvt-why-card > span{
    font-size:10px!important;
    line-height:1.32!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.46.0 — COMPACT WHY CARDS + STABLE COLLAGEN 2-CARD NATIVE SLIDER
   ===================================================================== */
/* Why cards: target the actual UX Builder markup: <p><strong>..</strong>description</p>. */
.hvt-why-grid{
  gap:14px!important;
}
.hvt-why-card{
  min-height:0!important;
  height:auto!important;
  padding:18px 16px!important;
  font-size:12px!important;
  line-height:1.38!important;
}
.hvt-why-card .img{
  margin-bottom:7px!important;
}
.hvt-why-card p{
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  line-height:1.38!important;
  color:#667085!important;
}
.hvt-why-card p strong,
.hvt-why-card strong{
  display:block!important;
  margin:0 0 4px!important;
  font-size:14px!important;
  line-height:1.25!important;
  color:#1d2942!important;
}
@media (min-width:1100px){
  .hvt-why-card{padding:17px 15px!important;}
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-why-grid{gap:10px!important;}
  .hvt-why-card{padding:13px 10px!important;font-size:10.5px!important;}
  .hvt-why-card .img{margin-bottom:4px!important;}
  .hvt-why-card p{font-size:10.5px!important;line-height:1.3!important;}
  .hvt-why-card p strong,.hvt-why-card strong{font-size:12.5px!important;margin-bottom:2px!important;}
}
@media (max-width:849px){
  .hvt-why-card{padding:12px 10px!important;}
  .hvt-why-card p{font-size:10.5px!important;line-height:1.3!important;}
  .hvt-why-card p strong,.hvt-why-card strong{font-size:12.5px!important;margin-bottom:2px!important;}
}

/* Collagen products: do not force custom Flickity geometry. Let Flatsome build the native slider. */
.hvt-core-collagen .hvt-merch-products-panel{
  min-width:0!important;
  overflow:visible!important;
}
.hvt-core-collagen .hvt-merch-products-panel .row-slider,
.hvt-core-collagen .hvt-merch-products-panel .slider{
  width:100%!important;
  min-height:0!important;
}
.hvt-core-collagen .hvt-merch-products-panel .flickity-viewport{
  min-height:0!important;
  overflow:hidden!important;
  padding-bottom:0!important;
}
.hvt-core-collagen .hvt-merch-products-panel .product-small{
  display:flex!important;
  height:auto!important;
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.48.0 — COLLAGEN UONG: FINAL NATIVE 2-CARD RESET
   Restore the native Flatsome product geometry inside this section only.
   ===================================================================== */
.hvt-core-collagen .hvt-merch-products-panel{
  min-width:0!important;
  overflow:hidden!important;
}
.hvt-core-collagen .hvt-merch-products-panel > .col-inner{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
}
.hvt-core-collagen .hvt-merch-products-panel .products.row,
.hvt-core-collagen .hvt-merch-products-panel .row-slider{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
@media (min-width:850px){
  .hvt-core-collagen .hvt-merch-products-panel .products.row > .product-small,
  .hvt-core-collagen .hvt-merch-products-panel .row-slider > .product-small{
    width:50%!important;
    max-width:50%!important;
    flex:0 0 50%!important;
    flex-basis:50%!important;
    padding:8px 10px 14px!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:849px){
  .hvt-core-collagen .hvt-merch-products-panel .products.row > .product-small,
  .hvt-core-collagen .hvt-merch-products-panel .row-slider > .product-small{
    width:100%!important;
    max-width:100%!important;
    flex:0 0 100%!important;
    flex-basis:100%!important;
    padding:8px 6px 12px!important;
    box-sizing:border-box!important;
  }
}
.hvt-core-collagen .hvt-merch-products-panel .product-small .box{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid #e7e9ee!important;
  border-radius:12px!important;
  background:#fff!important;
}
.hvt-core-collagen .hvt-merch-products-panel .product-small .box-image{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:176px!important;
  min-height:176px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  opacity:1!important;
  visibility:visible!important;
  background:#fff!important;
}
.hvt-core-collagen .hvt-merch-products-panel .product-small .box-image > div,
.hvt-core-collagen .hvt-merch-products-panel .product-small .box-image a{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:176px!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
}
.hvt-core-collagen .hvt-merch-products-panel .product-small .box-image img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  padding:14px!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.hvt-core-collagen .hvt-merch-products-panel .product-small .box-text{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  padding:10px 12px 12px!important;
}
.hvt-core-collagen .hvt-merch-products-panel .flickity-viewport{
  width:100%!important;
  overflow:hidden!important;
  min-height:0!important;
}
.hvt-core-collagen .hvt-merch-products-panel .flickity-slider{
  width:100%!important;
}
@media (max-width:849px){
  .hvt-core-collagen .hvt-merch-products-panel .product-small .box-image,
  .hvt-core-collagen .hvt-merch-products-panel .product-small .box-image > div,
  .hvt-core-collagen .hvt-merch-products-panel .product-small .box-image a{
    height:158px!important;
    min-height:158px!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.49.0 — GLOBAL COMPACT RHYTHM + READABLE TYPOGRAPHY
   User rule: visible copy >=14px; exception: add-to-cart button may stay smaller.
   Preserve manually edited UX Builder product-column structure.
   ===================================================================== */

/* --- Global vertical rhythm: reduce dead space without touching native widths. --- */
.hvt-home-section{padding-top:14px!important;padding-bottom:14px!important;}
.hvt-home-section .hvt-section-heading{margin-bottom:12px!important;}
.hvt-home-section .row{margin-bottom:0!important;}
.hvt-merch-section{padding-top:12px!important;padding-bottom:12px!important;}
.hvt-merch-shell{margin-top:0!important;margin-bottom:0!important;}
.hvt-merch-promo,.hvt-merch-copy{padding:24px 26px!important;}
.hvt-merch-inline-heading{margin-bottom:10px!important;}
.hvt-merch-products .product-small{margin-bottom:0!important;}
.hvt-merch-products .product-small .box-text{padding:10px 12px 12px!important;}
.hvt-merch-products .product-small .box-image{min-height:0!important;}
.hvt-featured-products .products.row{row-gap:14px!important;}
.hvt-blog-section .post-item{margin-bottom:12px!important;}

/* Category summary: compact but readable. */
.hvt-cat-section{padding-top:14px!important;padding-bottom:10px!important;}
.hvt-cat-summary-row{margin-top:0!important;margin-bottom:0!important;}
.hvt-cat-summary-card{min-height:104px!important;padding:10px 12px!important;gap:12px!important;}
.hvt-cat-summary-copy{gap:3px!important;}
.hvt-cat-summary-copy strong{font-size:16px!important;line-height:1.25!important;}
.hvt-cat-summary-copy small{font-size:14px!important;line-height:1.35!important;}
.hvt-cat-summary-copy em{font-size:14px!important;line-height:1.3!important;margin-top:2px!important;}

/* Why InnoPha: remove unused lower whitespace, keep 4 cards visually balanced. */
.hvt-why-section{padding-top:12px!important;padding-bottom:12px!important;}
.hvt-why-grid{gap:14px!important;align-items:stretch!important;}
.hvt-why-card{
  min-height:0!important;
  height:auto!important;
  padding:16px 14px!important;
  font-size:14px!important;
  line-height:1.42!important;
}
.hvt-why-card .img{margin:0 auto 6px!important;}
.hvt-why-card p{margin:0!important;padding:0!important;font-size:14px!important;line-height:1.42!important;color:#667085!important;}
.hvt-why-card p strong,.hvt-why-card strong{display:block!important;margin:0 0 4px!important;font-size:15px!important;line-height:1.3!important;color:#1d2942!important;}
.hvt-why-card span{font-size:14px!important;line-height:1.42!important;}

/* Product cards: larger imagery + no tiny visible copy. Geometry/columns remain native/manual. */
.product-small .product-title a{font-size:14px!important;line-height:1.4!important;}
.product-small .price-wrapper .price{font-size:15px!important;}
.product-small .box-text{padding-top:10px!important;padding-bottom:11px!important;}
.product-small .box-image img{padding:9px!important;transform:scale(.97)!important;}
.product-small .box:hover .box-image img{transform:scale(1)!important;}
.product-small .added_to_cart.wc-forward{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:36px!important;margin:8px 0 0!important;padding:7px 12px!important;
  border:1px solid #478019!important;border-radius:7px!important;background:#fff!important;color:#478019!important;
  font-size:14px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;
}
.product-small .added_to_cart.wc-forward:hover{background:#f2f8ed!important;color:#376614!important;border-color:#376614!important;}
/* Explicit exception requested by user. */
.product-small .add-to-cart-button a,.product-small .button,.woocommerce .products .product-small .button{font-size:12px!important;}

/* Merch/showcase typography: no micro-copy. */
.hvt-merch-label,.hvt-heading-eyebrow{font-size:14px!important;line-height:1.3!important;}
.hvt-merch-promo p,.hvt-merch-copy p{font-size:15px!important;line-height:1.55!important;margin-bottom:12px!important;}
.hvt-merch-link,.hvt-kenso-category-link,.hvt-merch-inline-heading a{font-size:14px!important;}
.hvt-merch-inline-heading h3{font-size:18px!important;}

/* Blog/readable meta. */
.hvt-blog-section .post-title{font-size:15px!important;line-height:1.4!important;}
.hvt-blog-section .post-meta,.hvt-blog-section .from_the_blog_excerpt{font-size:14px!important;line-height:1.4!important;}

/* Footer: compact spacing + minimum 14px visible text. */
.hvt-footer-main{padding-top:26px!important;padding-bottom:14px!important;}
.hvt-footer-main .row{margin-bottom:0!important;}
.hvt-footer-main .col{padding-bottom:10px!important;}
.hvt-footer-main h4{margin:0 0 8px!important;font-size:16px!important;}
.hvt-footer-main p{margin:0 0 5px!important;font-size:14px!important;line-height:1.42!important;}
.hvt-footer-main a,.hvt-footer-main span,.hvt-footer-main li{font-size:14px!important;line-height:1.42!important;}
.hvt-footer-policy-links p{margin-bottom:4px!important;}
.hvt-footer-contact-list li{margin-bottom:5px!important;font-size:14px!important;}
.hvt-footer-contact-list li strong,.hvt-footer-contact-list li span,.hvt-footer-contact-list li a{font-size:14px!important;line-height:1.42!important;}
.hvt-footer-bottom{margin-top:10px!important;padding-top:10px!important;font-size:14px!important;}

/* Other visible small copy commonly inherited from older package rules. */
.woocommerce-breadcrumb,.single-product .woocommerce-breadcrumb{font-size:14px!important;}
.badge-container .badge-inner,.badge-container .badge-inner.on-sale{font-size:14px!important;}

/* Tablet: tighter vertical rhythm, readable text maintained. */
@media (min-width:850px) and (max-width:1099px){
  .hvt-home-section{padding-top:10px!important;padding-bottom:10px!important;}
  .hvt-cat-section{padding-top:10px!important;padding-bottom:7px!important;}
  .hvt-cat-summary-row>.col{padding-top:4px!important;padding-bottom:4px!important;}
  .hvt-cat-summary-card{min-height:92px!important;padding:8px 10px!important;gap:10px!important;}
  .hvt-cat-summary-image{flex-basis:108px!important;width:108px!important;height:82px!important;max-width:108px!important;max-height:82px!important;}
  .hvt-cat-summary-copy strong{font-size:15px!important;}
  .hvt-cat-summary-copy small,.hvt-cat-summary-copy em{font-size:14px!important;}
  .hvt-why-grid{gap:10px!important;}
  .hvt-why-card{padding:12px 10px!important;font-size:14px!important;}
  .hvt-why-card .img{margin-bottom:4px!important;}
  .hvt-why-card p,.hvt-why-card span{font-size:14px!important;line-height:1.36!important;}
  .hvt-why-card p strong,.hvt-why-card strong{font-size:15px!important;margin-bottom:2px!important;}
  .hvt-merch-promo,.hvt-merch-copy{padding:18px 20px!important;}
}

/* Mobile: compact stack; never reintroduce large vertical gaps. */
@media (max-width:849px){
  .hvt-home-section{padding-top:9px!important;padding-bottom:9px!important;}
  .hvt-cat-section{padding-top:9px!important;padding-bottom:6px!important;}
  .hvt-cat-summary-row>.col{padding-top:4px!important;padding-bottom:4px!important;}
  .hvt-cat-summary-card{min-height:86px!important;padding:8px 10px!important;gap:10px!important;}
  .hvt-cat-summary-copy strong{font-size:15px!important;}
  .hvt-cat-summary-copy small,.hvt-cat-summary-copy em{font-size:14px!important;line-height:1.32!important;}
  .hvt-why-grid{gap:8px!important;}
  .hvt-why-card{padding:11px 9px!important;font-size:14px!important;}
  .hvt-why-card p,.hvt-why-card span{font-size:14px!important;line-height:1.35!important;}
  .hvt-why-card p strong,.hvt-why-card strong{font-size:15px!important;}
  .hvt-merch-promo,.hvt-merch-copy{padding:16px 16px!important;}
  .hvt-footer-main{padding-top:22px!important;padding-bottom:12px!important;}
  .hvt-footer-main .col{padding-bottom:8px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.50.0 — ABOUT PAGE REDESIGN
   ===================================================================== */
.hvt-about-hero,.hvt-about-section{background:#fff!important;}
.hvt-about-hero{padding:34px 0 20px!important;}
.hvt-about-section{padding:22px 0!important;}
.hvt-about-hero-row,.hvt-about-core-grid,.hvt-about-commitment-row,.hvt-about-final-row{align-items:center!important;}
.hvt-about-kicker{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#eef6e7;color:#478019;font-size:14px!important;line-height:1.25;font-weight:800;letter-spacing:.03em;}
.hvt-about-hero h1{max-width:620px;margin:12px 0 12px;font-size:clamp(36px,4vw,54px);line-height:1.08;font-weight:800;color:#17213a;}
.hvt-about-hero p,.hvt-about-section p{font-size:15px!important;line-height:1.55;color:#667085;}
.hvt-about-actions,.hvt-about-final-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;}
.hvt-about-actions .hvt-primary-link,.hvt-about-actions .hvt-outline-link,.hvt-about-final .hvt-primary-link,.hvt-about-final .hvt-outline-link{font-size:14px!important;}
.hvt-about-product-collage{position:relative;min-height:360px;border:1px solid rgba(71,128,25,.12);border-radius:28px;background:linear-gradient(135deg,#f6fbf0 0%,#fff 48%,#fff3f9 100%);overflow:hidden;box-shadow:0 16px 38px rgba(31,43,32,.07);}
.hvt-about-collage-card{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(71,128,25,.10);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(29,42,33,.08);overflow:hidden;}
.hvt-about-collage-card img{width:100%;height:100%;object-fit:contain;padding:10px;}
.hvt-about-collage-device{left:28px;top:36px;width:46%;height:180px;transform:rotate(-2deg);}
.hvt-about-collage-collagen{right:30px;top:48px;width:38%;height:150px;transform:rotate(2deg);}
.hvt-about-collage-kenso{left:34%;bottom:26px;width:38%;height:155px;}
.hvt-about-heading{max-width:760px;margin:0 0 14px;}
.hvt-about-heading-center{margin-left:auto;margin-right:auto;text-align:center;}
.hvt-about-heading h2,.hvt-about-section h2{margin:8px 0 8px;font-size:clamp(28px,3vw,38px);line-height:1.18;font-weight:800;color:#17213a;}
.hvt-about-heading p{margin:0;}
.hvt-about-core-grid>.col{display:flex;}
.hvt-about-core-grid>.col>.col-inner{width:100%;display:flex;}
.hvt-about-core-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;width:100%;min-height:250px;padding:18px;border:1px solid #e7ebdf;border-radius:24px;text-decoration:none!important;overflow:hidden;box-shadow:0 10px 28px rgba(31,43,32,.055);transition:transform .25s ease,box-shadow .25s ease;}
.hvt-about-core-card:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(31,43,32,.085);}
.hvt-about-core-green{background:linear-gradient(135deg,#fff 0%,#f3faec 100%);}
.hvt-about-core-pink{background:linear-gradient(135deg,#fff 0%,#fff4f9 100%);}
.hvt-about-core-image{display:flex;align-items:center;justify-content:center;min-height:210px;border-radius:18px;background:#fff;overflow:hidden;}
.hvt-about-core-image img{width:100%;height:100%;object-fit:contain;padding:8px;}
.hvt-about-core-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;}
.hvt-about-core-copy>span{font-size:14px!important;font-weight:800;color:#478019;}
.hvt-about-core-pink .hvt-about-core-copy>span{color:#E6007E;}
.hvt-about-core-copy h3{margin:6px 0 7px;font-size:22px;line-height:1.25;color:#17213a;}
.hvt-about-core-copy p{margin:0 0 10px;font-size:14px!important;line-height:1.5!important;}
.hvt-about-core-copy em{margin-top:auto;font-size:14px!important;font-style:normal;font-weight:800;color:#E6007E;}
.hvt-about-commitment-row{padding:22px 26px;border:1px solid rgba(71,128,25,.12);border-radius:24px;background:linear-gradient(120deg,#f5faef 0%,#fff 52%,#fff4f9 100%);}
.hvt-about-commitment-row h2{margin-bottom:0;}
.hvt-about-commitment-row p{margin:0;}
.hvt-about-channel-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.hvt-about-channel{min-height:88px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px;border:1px solid #e8ebe5;border-radius:16px;background:#fff;}
.hvt-about-channel span{font-size:14px!important;font-weight:800;color:#E6007E;}
.hvt-about-channel strong{font-size:15px!important;color:#17213a;}
.hvt-about-reason-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.hvt-about-reason{padding:18px;border:1px solid #e8ebe5;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,43,32,.04);}
.hvt-about-reason strong{display:block;margin-bottom:6px;font-size:17px!important;color:#17213a;}
.hvt-about-reason p{margin:0;font-size:14px!important;line-height:1.5!important;}
.hvt-about-final-row{padding:24px 26px;border:1px solid rgba(230,0,126,.10);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f7fbed 52%,#fff4fa 100%);}
.hvt-about-final-row h2{margin-bottom:6px;}
.hvt-about-final-row p{margin:0;}
.hvt-about-company-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;}
.hvt-about-company-meta a{font-size:14px!important;font-weight:700;color:#478019;}
.hvt-about-final-actions{justify-content:flex-end;margin-top:0;}
@media(max-width:1099px){
 .hvt-about-hero{padding-top:24px!important;}
 .hvt-about-product-collage{min-height:320px;}
 .hvt-about-core-card{grid-template-columns:145px minmax(0,1fr);gap:14px;padding:14px;min-height:230px;}
 .hvt-about-core-image{min-height:190px;}
 .hvt-about-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
 .hvt-about-reason-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:849px){
 .hvt-about-hero,.hvt-about-section{padding:14px 0!important;}
 .hvt-about-hero h1{font-size:34px;}
 .hvt-about-product-collage{min-height:290px;margin-top:12px;}
 .hvt-about-collage-device{left:16px;top:24px;width:48%;height:145px;}
 .hvt-about-collage-collagen{right:16px;top:32px;width:40%;height:125px;}
 .hvt-about-collage-kenso{left:30%;bottom:18px;width:42%;height:125px;}
 .hvt-about-core-card{grid-template-columns:110px minmax(0,1fr);gap:12px;min-height:190px;padding:12px;border-radius:18px;}
 .hvt-about-core-image{min-height:160px;}
 .hvt-about-core-copy h3{font-size:19px;}
 .hvt-about-commitment-row,.hvt-about-final-row{padding:18px;border-radius:18px;}
 .hvt-about-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .hvt-about-reason-grid{grid-template-columns:1fr;gap:8px;}
 .hvt-about-reason{padding:14px;}
 .hvt-about-final-actions{justify-content:flex-start;margin-top:12px;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.51.0 — ABOUT PAGE LAYOUT FIX + COMPACT HEADINGS + 3x2 CHANNEL GRID
   ===================================================================== */

/* Keep About page heading scale aligned with homepage rather than oversized. */
.hvt-about-heading h2,
.hvt-about-section h2{
  font-size:clamp(24px,2.2vw,32px)!important;
  line-height:1.2!important;
  margin:7px 0 7px!important;
}
.hvt-about-hero h1{
  font-size:clamp(32px,3.2vw,44px)!important;
  line-height:1.12!important;
}

/* Fix the two core-product cards: image left, copy right, no squeezed text. */
.hvt-about-core-grid{
  align-items:stretch!important;
}
.hvt-about-core-grid>.col,
.hvt-about-core-grid>.col>.col-inner{
  display:flex!important;
  min-width:0!important;
}
.hvt-about-core-card{
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:260px!important;
  padding:18px!important;
  gap:20px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.hvt-about-core-image{
  flex:0 0 40%!important;
  width:40%!important;
  min-width:0!important;
  min-height:224px!important;
  height:auto!important;
}
.hvt-about-core-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:10px!important;
  margin:0!important;
}
.hvt-about-core-copy{
  flex:1 1 60%!important;
  width:auto!important;
  min-width:0!important;
  padding:4px 2px!important;
  justify-content:center!important;
}
.hvt-about-core-copy>span{
  font-size:14px!important;
  line-height:1.35!important;
}
.hvt-about-core-copy h3{
  margin:7px 0 8px!important;
  font-size:21px!important;
  line-height:1.28!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.hvt-about-core-copy p{
  margin:0 0 10px!important;
  font-size:14px!important;
  line-height:1.52!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.hvt-about-core-copy em{
  margin-top:4px!important;
}

/* Distribution channels: larger cards in 2 rows of 3 on desktop. */
.hvt-about-channel-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
.hvt-about-channel{
  min-height:122px!important;
  padding:20px 22px!important;
  border-radius:18px!important;
  gap:7px!important;
  box-shadow:0 8px 22px rgba(31,43,32,.035)!important;
}
.hvt-about-channel span{
  font-size:15px!important;
}
.hvt-about-channel strong{
  font-size:18px!important;
  line-height:1.3!important;
}
.hvt-about-channels .hvt-about-heading{
  max-width:760px!important;
  margin-bottom:16px!important;
}

@media (min-width:850px) and (max-width:1099px){
  .hvt-about-core-card{
    gap:14px!important;
    padding:14px!important;
    min-height:230px!important;
  }
  .hvt-about-core-image{
    flex-basis:38%!important;
    width:38%!important;
    min-height:200px!important;
  }
  .hvt-about-core-copy{
    flex-basis:62%!important;
  }
  .hvt-about-core-copy h3{font-size:19px!important;}
  .hvt-about-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
  .hvt-about-channel{min-height:108px!important;padding:16px 18px!important;}
}

@media (max-width:849px){
  .hvt-about-heading h2,
  .hvt-about-section h2{font-size:26px!important;}
  .hvt-about-hero h1{font-size:32px!important;}
  .hvt-about-core-card{
    flex-direction:column!important;
    gap:12px!important;
    min-height:0!important;
    padding:14px!important;
  }
  .hvt-about-core-image{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:180px!important;
    height:180px!important;
  }
  .hvt-about-core-copy{
    width:100%!important;
    flex:0 0 auto!important;
    padding:2px!important;
  }
  .hvt-about-core-copy h3{font-size:19px!important;}
  .hvt-about-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .hvt-about-channel{min-height:96px!important;padding:14px!important;}
  .hvt-about-channel strong{font-size:16px!important;}
}

@media (max-width:549px){
  .hvt-about-channel-grid{grid-template-columns:1fr!important;}
  .hvt-about-channel{min-height:84px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.52.0 — ABOUT: NATIVE UX BUILDER ROW/COLUMN FOR CORE PRODUCT CARDS
   ===================================================================== */
.hvt-about-core-native-grid{
  align-items:stretch!important;
  margin-left:-10px!important;
  margin-right:-10px!important;
}
.hvt-about-core-native-grid>.col{
  padding-left:10px!important;
  padding-right:10px!important;
  display:flex!important;
}
.hvt-about-core-native-grid>.col>.col-inner{
  width:100%!important;
  display:flex!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.hvt-about-core-native-grid>.col>.col-inner::before,
.hvt-about-core-native-grid>.col>.col-inner::after,
.hvt-about-core-native-col::before,
.hvt-about-core-native-col::after{
  content:none!important;
  display:none!important;
}
.hvt-about-core-native-card{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:1px solid #e7ebdf!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 10px 28px rgba(31,43,32,.055)!important;
}
.hvt-about-core-native-green{background:linear-gradient(135deg,#fff 0%,#f5faef 100%)!important;}
.hvt-about-core-native-pink{background:linear-gradient(135deg,#fff 0%,#fff5fa 100%)!important;}
.hvt-about-core-native-card>.col{
  margin-bottom:0!important;
}
.hvt-about-core-native-card>.col>.col-inner{
  height:100%!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hvt-about-core-native-image>.col-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:240px!important;
  padding:18px!important;
  background:#fff!important;
}
.hvt-about-core-native-image img{
  display:block!important;
  width:100%!important;
  max-width:220px!important;
  height:210px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}
.hvt-about-core-native-copy>.col-inner{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:24px 24px 24px 4px!important;
}
.hvt-about-core-label{
  display:block!important;
  margin-bottom:6px!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.hvt-about-core-label-green{color:#478019!important;}
.hvt-about-core-label-pink{color:#E6007E!important;}
.hvt-about-core-native-copy h3{
  margin:0 0 9px!important;
  font-size:22px!important;
  line-height:1.3!important;
  color:#17213a!important;
}
.hvt-about-core-native-copy p{
  margin:0 0 12px!important;
  font-size:14px!important;
  line-height:1.55!important;
  color:#687386!important;
}
.hvt-about-core-link{
  display:inline-block!important;
  margin-top:2px!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:800!important;
  color:#E6007E!important;
  text-decoration:none!important;
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-about-core-native-grid{margin-left:-7px!important;margin-right:-7px!important;}
  .hvt-about-core-native-grid>.col{padding-left:7px!important;padding-right:7px!important;}
  .hvt-about-core-native-image>.col-inner{min-height:220px!important;padding:14px!important;}
  .hvt-about-core-native-image img{height:180px!important;max-width:190px!important;}
  .hvt-about-core-native-copy>.col-inner{padding:18px 16px 18px 2px!important;}
  .hvt-about-core-native-copy h3{font-size:19px!important;}
}
@media (max-width:849px){
  .hvt-about-core-native-grid{margin-left:0!important;margin-right:0!important;}
  .hvt-about-core-native-grid>.col{padding-left:0!important;padding-right:0!important;margin-bottom:14px!important;}
  .hvt-about-core-native-card{border-radius:18px!important;}
  .hvt-about-core-native-image>.col-inner{min-height:180px!important;padding:12px!important;}
  .hvt-about-core-native-image img{height:160px!important;max-width:220px!important;}
  .hvt-about-core-native-copy>.col-inner{padding:16px!important;}
  .hvt-about-core-native-copy h3{font-size:19px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.53.0 — ABOUT: CLEAN NATIVE OUTER ROW/COLS, NO DECORATIVE SIDE ARTIFACTS
   ===================================================================== */
.hvt-about-products .hvt-about-core-native-grid,
.hvt-about-products .hvt-about-core-native-card,
.hvt-about-products .hvt-about-core-native-col,
.hvt-about-products .hvt-about-core-grid,
.hvt-about-products .hvt-about-core-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hvt-about-products .hvt-about-core-native-grid::before,
.hvt-about-products .hvt-about-core-native-grid::after,
.hvt-about-products .hvt-about-core-native-card::before,
.hvt-about-products .hvt-about-core-native-card::after,
.hvt-about-products .hvt-about-core-native-col::before,
.hvt-about-products .hvt-about-core-native-col::after,
.hvt-about-products .hvt-about-core-grid::before,
.hvt-about-products .hvt-about-core-grid::after,
.hvt-about-products .hvt-about-core-card::before,
.hvt-about-products .hvt-about-core-card::after,
.hvt-about-products .col::before,
.hvt-about-products .col::after,
.hvt-about-products .col-inner::before,
.hvt-about-products .col-inner::after{
  content:none!important;
  display:none!important;
}
.hvt-about-core-simple-row{
  margin-left:-10px!important;
  margin-right:-10px!important;
  align-items:stretch!important;
}
.hvt-about-core-simple-row>.col{
  padding-left:10px!important;
  padding-right:10px!important;
  margin-bottom:0!important;
}
.hvt-about-core-simple-row>.col>.col-inner{
  height:100%!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.hvt-about-core-simple-card{
  display:grid!important;
  grid-template-columns:40% 60%!important;
  align-items:center!important;
  min-height:330px!important;
  height:100%!important;
  overflow:hidden!important;
  border:1px solid #e7ebdf!important;
  border-radius:22px!important;
  box-shadow:0 10px 28px rgba(31,43,32,.055)!important;
}
.hvt-about-core-simple-green{background:linear-gradient(135deg,#fff 0%,#f5faef 100%)!important;}
.hvt-about-core-simple-pink{background:linear-gradient(135deg,#fff 0%,#fff5fa 100%)!important;}
.hvt-about-core-simple-image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  min-width:0!important;
  padding:20px!important;
  background:#fff!important;
}
.hvt-about-core-simple-image img{
  display:block!important;
  width:100%!important;
  max-width:230px!important;
  height:230px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}
.hvt-about-core-simple-copy{
  min-width:0!important;
  padding:26px 24px!important;
}
.hvt-about-core-simple-copy h3{
  margin:7px 0 10px!important;
  font-size:22px!important;
  line-height:1.28!important;
  color:#17213a!important;
}
.hvt-about-core-simple-copy p{
  margin:0 0 12px!important;
  font-size:14px!important;
  line-height:1.55!important;
  color:#687386!important;
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-about-core-simple-row{margin-left:-7px!important;margin-right:-7px!important;}
  .hvt-about-core-simple-row>.col{padding-left:7px!important;padding-right:7px!important;}
  .hvt-about-core-simple-card{grid-template-columns:38% 62%!important;min-height:290px!important;}
  .hvt-about-core-simple-image{padding:14px!important;}
  .hvt-about-core-simple-image img{height:190px!important;max-width:190px!important;}
  .hvt-about-core-simple-copy{padding:20px 18px!important;}
  .hvt-about-core-simple-copy h3{font-size:19px!important;}
}
@media (max-width:849px){
  .hvt-about-core-simple-row{margin-left:0!important;margin-right:0!important;}
  .hvt-about-core-simple-row>.col{padding-left:0!important;padding-right:0!important;margin-bottom:14px!important;}
  .hvt-about-core-simple-card{grid-template-columns:1fr!important;min-height:0!important;border-radius:18px!important;}
  .hvt-about-core-simple-image{padding:14px!important;}
  .hvt-about-core-simple-image img{height:180px!important;max-width:240px!important;}
  .hvt-about-core-simple-copy{padding:18px!important;}
  .hvt-about-core-simple-copy h3{font-size:19px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.54.0 — ABOUT CORE PRODUCTS: NATIVE UX BUILDER ROW/COL + ROW_INNER/COL_INNER
   No decorative pseudo-elements, no fake side pills, no absolute geometry.
   ===================================================================== */
.hvt-about-products .hvt-about-core-row-native-v154{
  margin-left:-10px!important;
  margin-right:-10px!important;
  align-items:stretch!important;
}
.hvt-about-products .hvt-about-core-row-native-v154 > .col{
  padding-left:10px!important;
  padding-right:10px!important;
  margin-bottom:0!important;
}
.hvt-about-products .hvt-about-core-col-native-v154 > .col-inner{
  height:100%!important;
  min-height:320px!important;
  border:1px solid #e7ebdf!important;
  border-radius:22px!important;
  box-shadow:0 10px 28px rgba(31,43,32,.055)!important;
  overflow:hidden!important;
  position:relative!important;
}
.hvt-about-products .hvt-about-core-green-v154 > .col-inner{
  background:linear-gradient(135deg,#ffffff 0%,#f5faef 100%)!important;
}
.hvt-about-products .hvt-about-core-pink-v154 > .col-inner{
  background:linear-gradient(135deg,#ffffff 0%,#fff5fa 100%)!important;
}
.hvt-about-products .hvt-about-core-col-native-v154 > .col-inner::before,
.hvt-about-products .hvt-about-core-col-native-v154 > .col-inner::after,
.hvt-about-products .hvt-about-core-inner-row-v154::before,
.hvt-about-products .hvt-about-core-inner-row-v154::after,
.hvt-about-products .hvt-about-core-image-native-v154::before,
.hvt-about-products .hvt-about-core-image-native-v154::after,
.hvt-about-products .hvt-about-core-copy-native-v154::before,
.hvt-about-products .hvt-about-core-copy-native-v154::after{
  content:none!important;
  display:none!important;
}
.hvt-about-products .hvt-about-core-inner-row-v154{
  height:100%!important;
  min-height:320px!important;
  margin:0!important;
  align-items:center!important;
}
.hvt-about-products .hvt-about-core-inner-row-v154 > .col{
  padding:0!important;
  margin:0!important;
}
.hvt-about-products .hvt-about-core-image-native-v154 > .col-inner{
  min-height:320px!important;
  height:100%!important;
  padding:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
}
.hvt-about-products .hvt-about-core-image-native-v154 img{
  display:block!important;
  width:100%!important;
  max-width:230px!important;
  height:230px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}
.hvt-about-products .hvt-about-core-copy-native-v154 > .col-inner{
  padding:26px 24px!important;
  background:transparent!important;
}
.hvt-about-products .hvt-about-core-copy-native-v154 h3{
  margin:7px 0 10px!important;
  font-size:22px!important;
  line-height:1.28!important;
  color:#17213a!important;
}
.hvt-about-products .hvt-about-core-copy-native-v154 p{
  margin:0 0 12px!important;
  font-size:14px!important;
  line-height:1.55!important;
  color:#687386!important;
}
.hvt-about-products .hvt-about-core-copy-native-v154 .hvt-about-core-label{
  display:block!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.hvt-about-products .hvt-about-core-copy-native-v154 .hvt-about-core-link{
  display:inline-block!important;
  margin-top:2px!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:800!important;
  color:#E6007E!important;
  text-decoration:none!important;
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-about-products .hvt-about-core-row-native-v154{margin-left:-7px!important;margin-right:-7px!important;}
  .hvt-about-products .hvt-about-core-row-native-v154 > .col{padding-left:7px!important;padding-right:7px!important;}
  .hvt-about-products .hvt-about-core-col-native-v154 > .col-inner,
  .hvt-about-products .hvt-about-core-inner-row-v154,
  .hvt-about-products .hvt-about-core-image-native-v154 > .col-inner{min-height:285px!important;}
  .hvt-about-products .hvt-about-core-image-native-v154 > .col-inner{padding:14px!important;}
  .hvt-about-products .hvt-about-core-image-native-v154 img{height:185px!important;max-width:190px!important;}
  .hvt-about-products .hvt-about-core-copy-native-v154 > .col-inner{padding:20px 18px!important;}
  .hvt-about-products .hvt-about-core-copy-native-v154 h3{font-size:19px!important;}
}
@media (max-width:849px){
  .hvt-about-products .hvt-about-core-row-native-v154{margin-left:0!important;margin-right:0!important;}
  .hvt-about-products .hvt-about-core-row-native-v154 > .col{padding-left:0!important;padding-right:0!important;margin-bottom:14px!important;}
  .hvt-about-products .hvt-about-core-col-native-v154 > .col-inner{min-height:0!important;border-radius:18px!important;}
  .hvt-about-products .hvt-about-core-inner-row-v154{min-height:0!important;}
  .hvt-about-products .hvt-about-core-image-native-v154 > .col-inner{min-height:180px!important;padding:14px!important;}
  .hvt-about-products .hvt-about-core-image-native-v154 img{height:170px!important;max-width:230px!important;}
  .hvt-about-products .hvt-about-core-copy-native-v154 > .col-inner{padding:18px!important;}
  .hvt-about-products .hvt-about-core-copy-native-v154 h3{font-size:19px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.54.0 — ABOUT: TRUE UX BUILDER NESTED ROW/COLUMN STRUCTURE
   ===================================================================== */
.hvt-about-native2-outer-row{
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:stretch!important;
}
.hvt-about-native2-outer-col{
  padding-left:12px!important;
  padding-right:12px!important;
  margin-bottom:0!important;
}
.hvt-about-native2-outer-col>.col-inner{
  height:100%!important;
}
.hvt-about-native2-card{
  height:100%!important;
  min-height:330px!important;
  margin:0!important;
  border:1px solid #e7ebdf!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 10px 28px rgba(31,43,32,.055)!important;
}
.hvt-about-native2-green{background:linear-gradient(135deg,#fff 0%,#f5faef 100%)!important;}
.hvt-about-native2-pink{background:linear-gradient(135deg,#fff 0%,#fff5fa 100%)!important;}
.hvt-about-native2-card>.col{
  margin-bottom:0!important;
}
.hvt-about-native2-card>.col>.col-inner{
  height:100%!important;
}
.hvt-about-native2-image-col>.col-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:#fff!important;
}
.hvt-about-native2-image{width:100%!important;text-align:center!important;}
.hvt-about-native2-image img{
  display:block!important;
  width:100%!important;
  max-width:230px!important;
  height:230px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.hvt-about-native2-copy-col>.col-inner{
  display:flex!important;
  align-items:center!important;
  padding:24px 22px 24px 4px!important;
}
.hvt-about-native2-copy h3{
  margin:7px 0 10px!important;
  font-size:22px!important;
  line-height:1.28!important;
}
.hvt-about-native2-copy p{
  margin:0 0 12px!important;
  font-size:14px!important;
  line-height:1.55!important;
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-about-native2-outer-col{padding-left:8px!important;padding-right:8px!important;}
  .hvt-about-native2-card{min-height:300px!important;}
  .hvt-about-native2-image-col>.col-inner{padding:14px!important;}
  .hvt-about-native2-image img{height:190px!important;max-width:190px!important;}
  .hvt-about-native2-copy-col>.col-inner{padding:18px 16px 18px 2px!important;}
  .hvt-about-native2-copy h3{font-size:19px!important;}
}
@media (max-width:849px){
  .hvt-about-native2-outer-col{padding-left:0!important;padding-right:0!important;margin-bottom:14px!important;}
  .hvt-about-native2-card{min-height:0!important;border-radius:18px!important;}
  .hvt-about-native2-image-col>.col-inner{padding:14px!important;}
  .hvt-about-native2-image img{height:180px!important;max-width:240px!important;}
  .hvt-about-native2-copy-col>.col-inner{padding:18px!important;}
  .hvt-about-native2-copy h3{font-size:19px!important;}
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
}

/* =====================================================================
   v1.55.0 — ABOUT CORE PRODUCTS: CENTER NATIVE UX BUILDER ROW
   Keep the 2 native columns centered inside the same 1200px content axis.
   ===================================================================== */
.hvt-about-products .hvt-about-core-simple-row{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.hvt-about-products .hvt-about-core-simple-row>.col{
  float:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
@media (min-width:850px){
  .hvt-about-products .hvt-about-core-simple-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:24px!important;
  }
  .hvt-about-products .hvt-about-core-simple-row>.col{
    flex:0 0 calc((100% - 24px)/2)!important;
    width:calc((100% - 24px)/2)!important;
    max-width:calc((100% - 24px)/2)!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}
@media (max-width:849px){
  .hvt-about-products .hvt-about-core-simple-row{
    display:block!important;
    max-width:100%!important;
  }
  .hvt-about-products .hvt-about-core-simple-row>.col{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* =======================================================================
   v1.16.0 — CONTACT/FOOTER + HOME GRID + 4:3 BLOG + CLEAN PRODUCT TABS
   Targeted override layer for Importer v1.5 Safe Update.
   ======================================================================= */

/* 1) Homepage standard sections: let Category / Featured / Blog use the
      same 1200px axis without an unexplained right-side dead zone. */
.hvt-cat-section > .section-content,
.hvt-featured-products > .section-content,
.hvt-blog-section > .section-content {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.hvt-cat-section > .section-content > .row,
.hvt-featured-products > .section-content > .row,
.hvt-blog-section > .section-content > .row {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section > .section-content > .row > .col,
.hvt-featured-products > .section-content > .row > .col,
.hvt-blog-section > .section-content > .row > .col {
  padding-left:0 !important;
  padding-right:0 !important;
}
.hvt-cat-section .row-slider,
.hvt-featured-products .products.row,
.hvt-blog-section .row.large-columns-3,
.hvt-blog-section .row.medium-columns-2,
.hvt-blog-section .row.small-columns-1 {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 2) Home blog: horizontal 4:3 thumbnail, not a portrait strip. */
.hvt-blog-section .post-item .box,
.hvt-blog-section .post-item .box.box-vertical {
  min-height:0 !important;
  align-items:center !important;
}
.hvt-blog-section .post-item .box-image,
.hvt-blog-section .post-item .box.box-vertical .box-image {
  width:40% !important;
  max-width:40% !important;
  flex:0 0 40% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  align-self:center !important;
}
.hvt-blog-section .post-item .box-image .image-cover {
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:75% !important;
}
.hvt-blog-section .post-item .box-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.hvt-blog-section .post-item .box-text,
.hvt-blog-section .post-item .box.box-vertical .box-text {
  width:60% !important;
  max-width:60% !important;
  flex:1 1 60% !important;
}

/* 3) Trust strip: larger typography and slightly larger icons. */
.hvt-trust-item { gap:14px !important; }
.hvt-trust-item .img {
  width:42px !important;
  min-width:42px !important;
}
.hvt-trust-item .img img {
  width:42px !important;
  height:auto !important;
}
.hvt-trust-copy strong {
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
.hvt-trust-copy span {
  margin-top:4px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#8c93a0 !important;
}

/* 4) Contact: real linked data + responsive embedded Google Map inside the
      left sticky card. */
.hvt-contact-list-page li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hvt-contact-list-page .hvt-contact-link,
.hvt-footer-contact-list a {
  color:#5f6878 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.hvt-contact-list-page .hvt-contact-link:hover,
.hvt-footer-contact-list a:hover {
  color:var(--hvt-pink) !important;
}
.hvt-contact-map {
  margin-top:20px;
  overflow:hidden;
  border:1px solid #e6e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,36,58,.055);
}
.hvt-contact-map iframe {
  display:block;
  width:100%;
  height:270px;
  border:0;
  background:#f6f7f9;
}
.hvt-contact-map-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-top:1px solid #eceef2;
  color:var(--hvt-pink) !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.hvt-contact-map-link:hover { background:#F9FFF4; }
@media(min-width:850px){
  .hvt-contact-info-col > .col-inner { top:100px !important; }
}
@media(max-width:849px){
  .hvt-contact-map iframe { height:300px; }
}
@media(max-width:549px){
  .hvt-contact-map iframe { height:260px; }
}

/* 5) Footer: compact 4-column policy list + real contact information. */
.hvt-footer-policy-links p { margin-bottom:5px !important; }
.hvt-footer-policy-links a { line-height:1.35; }
.hvt-footer-contact-list { margin:0 !important; padding:0 !important; list-style:none !important; }
.hvt-footer-contact-list li {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:12px;
  line-height:1.4;
}
.hvt-footer-contact-list li strong { color:#394155; font-size:12px; }
.hvt-footer-contact-list li span,
.hvt-footer-contact-list li a { font-size:12px; line-height:1.45; }

/* 6) Product description tabs: a single clean outer frame. Remove nested
      borders/boxes from the tab panel itself. */
.single-product .woocommerce-tabs {
  margin-top:14px !important;
  overflow:hidden !important;
  border:1px solid #e5e7ec !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(28,36,52,.035) !important;
}
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e8eaf0 !important;
  border-radius:0 !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.single-product .woocommerce-tabs .tab-panels,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .entry-content {
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.single-product .woocommerce-tabs .tab-panels {
  padding:24px 26px 28px !important;
}
.single-product .woocommerce-tabs .panel > :first-child { margin-top:0 !important; }
.single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0 !important; }
@media(max-width:549px){
  .single-product .woocommerce-tabs { border-radius:10px !important; }
  .single-product .woocommerce-tabs .tabs,
  .single-product .woocommerce-tabs ul.tabs { padding:0 12px !important; }
  .single-product .woocommerce-tabs .tab-panels { padding:16px 14px 18px !important; }
}
@media(max-width:849px){ }
@media(max-width:549px){ }

/* =======================================================================
   v1.21.0 — CLEAN BANNER + SEMANTIC GREEN/PINK ACCENTS
   ======================================================================= */
:root {
  --hvt-primary-green:#478019;
  --hvt-primary-green-dark:#376614;
  --hvt-green-soft-bg:#F3FBEA;
  --hvt-green-soft-bg-2:#F8FFF3;
  --hvt-accent-pink:#E6007E;
  --hvt-accent-pink-dark:#C6006D;
  --hvt-pink-soft-bg:#FFF0F7;
  --hvt-pink-soft-bg-2:#FFF7FB;
}

/* B) Homepage section accent rules requested after the palette swap. */
.hvt-section-heading h2::before {
  background:var(--hvt-primary-green) !important;
}
.hvt-section-heading > a,
.hvt-section-heading p > a,
.hvt-merch-inline-heading a,
.hvt-section-heading a {
  color:var(--hvt-accent-pink) !important;
}
.hvt-section-heading a:hover,
.hvt-merch-inline-heading a:hover { color:var(--hvt-accent-pink-dark) !important; }

/* Sale badges are intentionally pink, not primary green. */
.badge-container .badge-inner.on-sale,
.badge-container .badge-inner.secondary,
.badge-container .badge-inner {
  background:var(--hvt-accent-pink) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(230,0,126,.18) !important;
}

/* C) Kenso editorial panel now belongs to the pink family. */
.hvt-merch-kenso .hvt-panel-green,
.hvt-merch-kenso .hvt-merch-shell {
  background:linear-gradient(110deg,#fff 24%,var(--hvt-pink-soft-bg) 100%) !important;
  border-color:#F2C7DD !important;
}
.hvt-merch-kenso .hvt-label-green,
.hvt-merch-kenso .hvt-merch-label {
  background:rgba(230,0,126,.09) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green,
.hvt-merch-kenso .hvt-merch-link {
  border-color:rgba(230,0,126,.30) !important;
  color:var(--hvt-accent-pink) !important;
}
.hvt-merch-kenso .hvt-merch-link-green:hover,
.hvt-merch-kenso .hvt-merch-link:hover {
  background:var(--hvt-accent-pink) !important;
  border-color:var(--hvt-accent-pink) !important;
  color:#fff !important;
}
.hvt-merch-kenso .product-small .box {
  border-color:rgba(230,0,126,.26) !important;
}
.hvt-merch-kenso .product-small .box:hover {
  border-color:rgba(230,0,126,.58) !important;
  box-shadow:0 8px 22px rgba(230,0,126,.09) !important;
}

/* D) Information/trust pages use green as the dominant tone. */
.hvt-authentic-green-hero,
.hvt-contact-green-hero {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg) 100%) !important;
  border-bottom-color:#DCEBCE !important;
}
.hvt-authentic-green-hero .hvt-page-kicker,
.hvt-contact-green-hero .hvt-page-kicker,
.hvt-contact-page .hvt-page-kicker {
  color:var(--hvt-primary-green) !important;
}
.hvt-authentic-green-soft {
  background:linear-gradient(135deg,#fff 0%,var(--hvt-green-soft-bg-2) 100%) !important;
}
.hvt-authentic-green-soft .hvt-primary-link,
.hvt-contact-page .wpcf7-submit,
.hvt-contact-page input[type="submit"] {
  background:var(--hvt-primary-green) !important;
  border-color:var(--hvt-primary-green) !important;
  color:#fff !important;
}
.hvt-authentic-green-soft .hvt-primary-link:hover,
.hvt-contact-page .wpcf7-submit:hover,
.hvt-contact-page input[type="submit"]:hover {
  background:var(--hvt-primary-green-dark) !important;
  border-color:var(--hvt-primary-green-dark) !important;
}
.hvt-contact-page .hvt-contact-panel {
  background:linear-gradient(145deg,var(--hvt-green-soft-bg-2),#fff) !important;
  border-color:#DFEBD5 !important;
}
.hvt-contact-page .hvt-contact-form-card { border-color:#E3E9DE !important; }
.hvt-contact-page .hvt-contact-link,
.hvt-contact-page .hvt-contact-map-link {
  color:var(--hvt-primary-green) !important;
}
.hvt-contact-page .hvt-contact-link:hover,
.hvt-contact-page .hvt-contact-map-link:hover {
  color:var(--hvt-primary-green-dark) !important;
  background:#F6FCEB !important;
}
.hvt-contact-page .hvt-contact-map { border-color:#DDE9D4 !important; }

/* E) Footer: pale-green gradient with restrained pale-pink decorative dots. */
.hvt-footer-main {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:linear-gradient(118deg,#FAFFF6 0%,#EFF8E8 58%,#F8FFF4 100%) !important;
  border-top-color:#DDEAD3 !important;
}
.hvt-footer-main::before,
.hvt-footer-main::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(230,0,126,.075);
}
.hvt-footer-main::before {
  width:180px;
  height:180px;
  left:-72px;
  bottom:-82px;
  box-shadow:108px -105px 0 -46px rgba(230,0,126,.065), 238px 22px 0 -62px rgba(230,0,126,.055);
}
.hvt-footer-main::after {
  width:126px;
  height:126px;
  right:-42px;
  top:-48px;
  box-shadow:-112px 86px 0 -43px rgba(230,0,126,.06), -244px 12px 0 -50px rgba(230,0,126,.05);
}
.hvt-footer-main > .section-content,
.hvt-footer-main .row { position:relative; z-index:1; }

@media(max-width:549px){
  .hvt-footer-main::before { width:130px; height:130px; left:-64px; bottom:-58px; }
  .hvt-footer-main::after { width:94px; height:94px; right:-40px; top:-32px; }
}

/* =======================================================================
   v1.23.0 — FINAL CLEAN HOMEPAGE BANNER
   Only the native UX Slider image remains. No legacy copy panel, gradient,
   radius or extra vertical spacing. The default Flatsome Row owns 1200px.
   ======================================================================= */
.hvt-home-banner-section {
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  background:transparent !important;
  min-height:0 !important;
}
.hvt-home-banner-section > .section-bg,
.hvt-home-banner-section::before,
.hvt-home-banner-section::after { display:none !important; content:none !important; background:none !important; }
.hvt-home-banner-section .row,
.hvt-home-banner-section .col,
.hvt-home-banner-section .col-inner { margin-top:0 !important; margin-bottom:0 !important; padding-top:0 !important; padding-bottom:0 !important; }
.hvt-home-banner-slider,
.hvt-home-banner-slider .flickity-viewport,
.hvt-home-banner-slider .flickity-slider,
.hvt-home-banner-slider .img,
.hvt-home-banner-slider .img-inner {
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.hvt-home-banner-slider .img,
.hvt-home-banner-slider .img-inner,
.hvt-home-banner-slider img { width:100% !important; max-width:100% !important; }
.hvt-home-banner-slider img { display:block !important; height:auto !important; object-fit:contain !important; object-position:center !important; border-radius:0 !important; }
.hvt-home-banner-section + .hvt-trust-strip { margin-top:0 !important; padding-top:0 !important; }

/* =====================================================================
   v1.37.0 — 3 CATEGORY CARDS SAME ROW + FEATURED GRADIENT SHELL + BANNER GAP/RADIUS
   ===================================================================== */
@media (min-width:850px){
  .hvt-cat-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:20px!important;
  }
  .hvt-cat-summary-grid > .hvt-cat-summary-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* Featured products: one large soft green/pink gradient container. */
.hvt-featured-products > .section-content{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  padding:26px 24px 28px!important;
  background:linear-gradient(125deg,#f4faec 0%,#fff 48%,#fff3f9 100%)!important;
  background-size:180% 180%!important;
  background-position:0% 50%!important;
  border:1px solid rgba(71,128,25,.10)!important;
  box-shadow:0 12px 34px rgba(37,49,40,.055)!important;
  transition:background-position .55s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.hvt-featured-products > .section-content:hover{
  background-position:100% 50%!important;
  border-color:rgba(230,0,126,.10)!important;
  box-shadow:0 16px 38px rgba(37,49,40,.075)!important;
}
.hvt-featured-products > .section-content > .row{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Home banner: small breathing space below header + rounded slide. */
.hvt-home-banner-section{
  padding-top:14px!important;
}
.hvt-home-banner-section .hvt-home-banner-slider,
.hvt-home-banner-section .hvt-home-banner-slider .slider,
.hvt-home-banner-section .hvt-home-banner-slider .flickity-viewport,
.hvt-home-banner-section .hvt-home-banner-image,
.hvt-home-banner-section .hvt-home-banner-image .img-inner{
  border-radius:18px!important;
  overflow:hidden!important;
}
.hvt-home-banner-section .hvt-home-banner-image img{
  display:block!important;
  width:100%!important;
  border-radius:18px!important;
}

@media(max-width:849px){
  .hvt-featured-products > .section-content{
    border-radius:20px!important;
    padding:20px 14px 22px!important;
  }
  .hvt-home-banner-section{padding-top:8px!important;}
  .hvt-home-banner-section .hvt-home-banner-slider,
  .hvt-home-banner-section .hvt-home-banner-slider .slider,
  .hvt-home-banner-section .hvt-home-banner-slider .flickity-viewport,
  .hvt-home-banner-section .hvt-home-banner-image,
  .hvt-home-banner-section .hvt-home-banner-image .img-inner,
  .hvt-home-banner-section .hvt-home-banner-image img{
    border-radius:12px!important;
  }
}

/* =====================================================================
   v1.54.0 — ABOUT CORE PRODUCTS: TRUE CENTERED UX BUILDER ROW
   Keep native 2-column structure inside the same 1200px content axis.
   ===================================================================== */
.hvt-about-products .hvt-about-core-simple-row{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:12px!important;
  padding-right:12px!important;
  box-sizing:border-box!important;
}
.hvt-about-products .hvt-about-core-simple-row>.col{
  padding-left:12px!important;
  padding-right:12px!important;
  box-sizing:border-box!important;
}
.hvt-about-products .hvt-about-core-simple-row>.col:first-child{
  padding-left:0!important;
}
.hvt-about-products .hvt-about-core-simple-row>.col:last-child{
  padding-right:0!important;
}
.hvt-about-products .hvt-about-core-simple-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
@media (min-width:850px) and (max-width:1099px){
  .hvt-about-products .hvt-about-core-simple-row{padding-left:10px!important;padding-right:10px!important;}
  .hvt-about-products .hvt-about-core-simple-row>.col{padding-left:8px!important;padding-right:8px!important;}
}
@media (max-width:849px){
  .hvt-about-products .hvt-about-core-simple-row{padding-left:12px!important;padding-right:12px!important;}
  .hvt-about-products .hvt-about-core-simple-row>.col,
  .hvt-about-products .hvt-about-core-simple-row>.col:first-child,
  .hvt-about-products .hvt-about-core-simple-row>.col:last-child{
    padding-left:0!important;
    padding-right:0!important;
  }
}
/* === HVT FDI innopha-design-2026: END === */

/* ======================================================================
   HVT CART — INNOPHA VERTICAL CART v1.0.0
   Target: WooCommerce Cart Block only.
   Goal: stack Cart Items -> Cart Summary vertically instead of 65/35 columns.
   Materialized in child theme; HVT Site Builder is not required at runtime.
   ====================================================================== */
body.woocommerce-cart {
  --hvt-cart-green: var(--hvt-primary-green, #478019);
  --hvt-cart-green-dark: var(--hvt-primary-green-dark, #376614);
  --hvt-cart-green-soft: var(--hvt-green-soft-bg-2, #F8FFF3);
  --hvt-cart-pink: var(--hvt-accent-pink, #E6007E);
  --hvt-cart-pink-dark: var(--hvt-accent-pink-dark, #C6006D);
  --hvt-cart-ink: var(--hvt-ink, #17213a);
  --hvt-cart-text: var(--hvt-text, #4d5565);
  --hvt-cart-border: #e7ece3;
  --hvt-cart-radius: 18px;
  --hvt-cart-shadow: 0 10px 30px rgba(32, 48, 31, .065);
}

/* Keep the cart on the same 1200px content axis as the rest of InnoPha. */
body.woocommerce-cart .page-wrapper,
body.woocommerce-cart .page-wrapper > .row,
body.woocommerce-cart .wp-block-woocommerce-cart {
  width: 100%;
}
body.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 1120px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 22px;
  padding-bottom: 48px;
  color: var(--hvt-cart-text);
}

/* Core requirement: force WooCommerce's 65/35 sidebar layout into one column. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 26px !important;
  align-items: stretch !important;
  margin: 0 auto 24px !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-main,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Also stack Woo Blocks' loading skeleton to prevent the initial 2-column flash. */
body.woocommerce-cart .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-filled-cart-block {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 26px !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-cart-totals-block {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* PRODUCT LIST CARD ---------------------------------------------------- */
body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items {
  width: 100%;
  margin: 0 !important;
  border: 1px solid var(--hvt-cart-border) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--hvt-cart-radius) !important;
  background: #fff;
  box-shadow: var(--hvt-cart-shadow);
  overflow: hidden;
}
body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items thead {
  background: linear-gradient(90deg, #F8FFF3 0%, #fff 72%);
}
body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items th {
  padding: 14px 18px !important;
  border: 0 !important;
  color: #6f786a;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  text-transform: none !important;
}
body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items td {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  border-top: 1px solid #edf0eb !important;
  vertical-align: middle !important;
}
body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__image {
  padding-left: 18px !important;
  padding-right: 18px !important;
}
body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__image img {
  border: 1px solid #eef0ec;
  border-radius: 12px;
  background: #fff;
}
body.woocommerce-cart .wc-block-components-product-name {
  color: var(--hvt-cart-ink) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
body.woocommerce-cart .wc-block-components-product-name:hover {
  color: var(--hvt-cart-green) !important;
}
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
  color: var(--hvt-cart-ink);
  font-weight: 700;
}
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata__description {
  color: #858d83;
  font-size: 12px;
}
body.woocommerce-cart .wc-block-components-quantity-selector {
  min-height: 38px;
  overflow: hidden;
  border: 1px solid #dfe5da !important;
  border-radius: 10px !important;
  background: #fff;
  box-shadow: none !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button {
  min-height: 36px;
  box-shadow: none !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector button:hover {
  background: var(--hvt-cart-green-soft) !important;
  color: var(--hvt-cart-green) !important;
}
body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: #9a7588 !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: var(--hvt-cart-pink) !important;
  text-decoration: underline !important;
}

/* CROSS SELLS ---------------------------------------------------------- */
body.woocommerce-cart .wp-block-woocommerce-cart-items-block > .wp-block-woocommerce-product-collection {
  margin-top: 30px !important;
  padding: 24px !important;
  border: 1px solid #edf0eb;
  border-radius: var(--hvt-cart-radius);
  background: linear-gradient(125deg, #F8FFF3 0%, #fff 52%, #FFF7FB 100%);
}
body.woocommerce-cart .wp-block-woocommerce-cart-items-block > .wp-block-woocommerce-product-collection > .wp-block-heading {
  margin: 0 0 18px !important;
  color: var(--hvt-cart-ink);
  font-size: 21px;
  font-weight: 700;
}

/* ORDER SUMMARY — now a full-width block below the product list. -------- */
body.woocommerce-cart .wc-block-cart__sidebar {
  position: static !important;
  top: auto !important;
  align-self: stretch !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-block-cart__sidebar > * {
  width: 100%;
}
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  margin: 0 0 16px !important;
  padding: 22px 24px 8px !important;
  border: 1px solid #dfe9d8 !important;
  border-radius: var(--hvt-cart-radius) !important;
  background: linear-gradient(120deg, #F8FFF3 0%, #fff 58%, #FFF8FB 100%) !important;
  box-shadow: var(--hvt-cart-shadow);
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals-title {
  display: block !important;
  padding: 0 0 14px !important;
  color: var(--hvt-cart-ink) !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-transform: none !important;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
  border-color: #e6ece2 !important;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  min-height: 48px;
  color: var(--hvt-cart-text);
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label {
  color: #646d63;
  font-weight: 600;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
  color: var(--hvt-cart-ink);
  font-weight: 700;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item {
  margin-top: 4px !important;
  padding-top: 16px !important;
  border-top: 1px solid #dfe6dc !important;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--hvt-cart-ink) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

/* Coupon stays secondary so the main checkout CTA owns the visual priority. */
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-panel__button {
  color: var(--hvt-cart-pink) !important;
  font-weight: 600 !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__button:hover,
body.woocommerce-cart .wc-block-components-panel__button:hover {
  color: var(--hvt-cart-pink-dark) !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.woocommerce-cart .wc-block-components-text-input input {
  border-color: #dfe5da !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus {
  border-color: var(--hvt-cart-green) !important;
  box-shadow: 0 0 0 3px rgba(71, 128, 25, .08) !important;
}

/* Checkout CTA: full-width green button, consistent with the site's primary action. */
body.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block {
  width: 100%;
  margin: 0 !important;
}
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button {
  width: 100% !important;
  min-height: 52px !important;
  padding: 13px 22px !important;
  border: 1px solid var(--hvt-cart-green) !important;
  border-radius: 11px !important;
  background: var(--hvt-cart-green) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(71,128,25,.16) !important;
  font-weight: 750 !important;
  text-transform: none !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button:hover {
  border-color: var(--hvt-cart-green-dark) !important;
  background: var(--hvt-cart-green-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(55,102,20,.20) !important;
}
body.woocommerce-cart .wc-block-cart__payment-options,
body.woocommerce-cart .wp-block-woocommerce-cart-accepted-payment-methods-block {
  margin-top: 10px !important;
  padding-top: 10px !important;
  text-align: center;
}

/* EMPTY CART ----------------------------------------------------------- */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  max-width: 900px;
  margin: 28px auto 48px !important;
  padding: 38px 28px !important;
  border: 1px solid #e4eadf;
  border-radius: var(--hvt-cart-radius);
  background: linear-gradient(125deg, #F8FFF3 0%, #fff 56%, #FFF7FB 100%);
  box-shadow: var(--hvt-cart-shadow);
}
body.woocommerce-cart .wc-block-cart__empty-cart__title {
  color: var(--hvt-cart-ink) !important;
  font-size: 24px !important;
}

/* RESPONSIVE ----------------------------------------------------------- */
@media (max-width: 849px) {
  body.woocommerce-cart .wp-block-woocommerce-cart {
    padding-top: 14px;
    padding-bottom: 34px;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
  body.woocommerce-cart .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-filled-cart-block {
    gap: 20px !important;
  }
  body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
    padding: 18px 18px 6px !important;
    border-radius: 15px !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart-items-block > .wp-block-woocommerce-product-collection {
    padding: 18px !important;
    border-radius: 15px;
  }
}
@media (max-width: 549px) {
  body.woocommerce-cart .wp-block-woocommerce-cart {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-items-block > .wp-block-woocommerce-product-collection,
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    border-radius: 12px !important;
  }
  body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items td {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__image {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
    padding: 16px 14px 4px !important;
  }
  body.woocommerce-cart .wc-block-cart__submit-button,
  body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button {
    min-height: 50px !important;
    border-radius: 10px !important;
  }
}
/* === HVT CART INNOPHA VERTICAL v1.0.0: END === */

/* === HVT INNOPHA CHECKOUT SIMPLE v1.0.0: START === */
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_first_name_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_phone_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_email_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_comments_field {
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-internal-field {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea {
  min-height: 46px;
  border: 1px solid #e3e6df;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea {
  min-height: 100px;
  padding-top: 12px;
  resize: vertical;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details input.input-text:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea:focus {
  border-color: #74b93f;
  box-shadow: 0 0 0 3px rgba(116,185,63,.10);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details label {
  color: #162033;
  font-weight: 600;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields > h3 {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .cart-subtotal {
  display: none !important;
}

/* Hide any duplicated subtotal produced by checkout widgets around the classic review table. */
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-sidebar .cart-subtotal {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
  border-radius: 9px !important;
  background: #478019 !important;
  border-color: #478019 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:hover {
  background: #3f7316 !important;
  border-color: #3f7316 !important;
}

@media (max-width: 849px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details input.input-text {
    min-height: 44px;
  }
}
/* === HVT INNOPHA CHECKOUT SIMPLE v1.0.0: END === */

/* ======================================================================
   HVT INNOPHA CHECKOUT VERTICAL v1.1.0
   Flatsome Classic Checkout: Customer details -> Order review vertically.
   Mirrors the one-column visual system used on the InnoPha cart page.
   ====================================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) {
  --hvt-checkout-green: var(--hvt-primary-green, #478019);
  --hvt-checkout-green-dark: var(--hvt-primary-green-dark, #376614);
  --hvt-checkout-green-soft: var(--hvt-green-soft-bg-2, #F8FFF3);
  --hvt-checkout-pink: var(--hvt-accent-pink, #E6007E);
  --hvt-checkout-ink: var(--hvt-ink, #17213a);
  --hvt-checkout-text: var(--hvt-text, #4d5565);
  --hvt-checkout-border: #e7ece3;
  --hvt-checkout-radius: 18px;
  --hvt-checkout-shadow: 0 10px 30px rgba(32, 48, 31, .065);
}

/* Keep checkout on the same content axis as the vertical cart. */
body.woocommerce-checkout:not(.woocommerce-order-received) .page-checkout,
body.woocommerce-checkout:not(.woocommerce-order-received) .cart-container,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
  width: 100%;
}
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
  max-width: 1120px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-bottom: 46px;
  color: var(--hvt-checkout-text);
}

/* Core layout: remove Flatsome's large-7 / large-5 split and stack both areas. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > .row.pt-0 {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 26px !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > .row.pt-0 > .large-7.col,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > .row.pt-0 > .large-5.col {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Disable sticky-sidebar behaviour because the summary now lives below the form. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .is-sticky-column,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .is-sticky-column__inner {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  transform: none !important;
}

/* CUSTOMER DETAILS: one full-width card. */
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details {
  width: 100%;
  margin: 0 !important;
  padding: 24px 26px 12px !important;
  border: 1px solid var(--hvt-checkout-border);
  border-radius: var(--hvt-checkout-radius);
  background: #fff;
  box-shadow: var(--hvt-checkout-shadow);
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .woocommerce-billing-fields > h3,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .woocommerce-shipping-fields > h3 {
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #edf0eb;
  color: var(--hvt-checkout-ink);
  font-size: 20px !important;
  line-height: 1.35;
  font-weight: 700 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .woocommerce-additional-fields__field-wrapper {
  display: block !important;
  width: 100%;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .form-row {
  margin-bottom: 16px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details label {
  margin-bottom: 6px;
  color: var(--hvt-checkout-ink) !important;
  font-size: 13px;
  font-weight: 650 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea {
  width: 100% !important;
  min-height: 46px;
  padding-left: 13px;
  padding-right: 13px;
  border: 1px solid #dfe5da !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea {
  min-height: 108px;
  padding-top: 12px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details input.input-text:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea:focus {
  border-color: var(--hvt-checkout-green) !important;
  box-shadow: 0 0 0 3px rgba(71,128,25,.08) !important;
}

/* Notes stay visually inside the same customer card, without an extra heading. */
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .woocommerce-additional-fields {
  margin-top: 2px;
  padding-top: 2px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .woocommerce-additional-fields > h3 {
  display: none !important;
}

/* ORDER REVIEW: second full-width card below customer details. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .row > .large-5.col > .col-inner,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .checkout-sidebar {
  width: 100% !important;
  max-width: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .row > .large-5.col > .col-inner {
  margin: 0 !important;
  padding: 22px 24px 24px !important;
  border: 1px solid #dfe9d8 !important;
  border-radius: var(--hvt-checkout-radius) !important;
  background: linear-gradient(120deg, #F8FFF3 0%, #fff 58%, #FFF8FB 100%) !important;
  box-shadow: var(--hvt-checkout-shadow) !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-sidebar {
  padding: 0 !important;
  overflow: visible !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
  margin: 0 0 14px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #e6ece2;
  color: var(--hvt-checkout-ink) !important;
  font-size: 20px !important;
  line-height: 1.35;
  font-weight: 700 !important;
  text-transform: none !important;
}

/* Order table: calm, readable, full width. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table {
  width: 100% !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table {
  margin: 0 0 18px !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table td {
  padding: 13px 8px !important;
  border-color: #e6ece2 !important;
  color: var(--hvt-checkout-text);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table th:first-child,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table td:first-child {
  padding-left: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table th:last-child,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table td:last-child {
  padding-right: 0 !important;
  text-align: right;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total td {
  padding-top: 16px !important;
  color: var(--hvt-checkout-ink) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

/* Subtotal is intentionally redundant for this shop and remains hidden. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .cart-subtotal,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-sidebar .cart-subtotal {
  display: none !important;
}

/* Payment area stays in the same vertical flow. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
  margin: 4px 0 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid #dfe6dc !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box {
  margin: 8px 0 14px !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--hvt-checkout-text) !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
  margin: 0 !important;
  padding: 12px 0 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 13px 22px !important;
  border: 1px solid var(--hvt-checkout-green) !important;
  border-radius: 11px !important;
  background: var(--hvt-checkout-green) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(71,128,25,.16) !important;
  font-weight: 750 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:hover {
  border-color: var(--hvt-checkout-green-dark) !important;
  background: var(--hvt-checkout-green-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(55,102,20,.20) !important;
}

/* Coupons / login notices remain above the single-column checkout and fit its width. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon,
body.woocommerce-checkout:not(.woocommerce-order-received) form.login {
  max-width: 1120px;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 849px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    padding-bottom: 34px;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > .row.pt-0 {
    gap: 20px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .row > .large-5.col > .col-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
    border-radius: 15px !important;
  }
}
@media (max-width: 549px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .row > .large-5.col > .col-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
    border-radius: 12px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .woocommerce-billing-fields > h3,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    font-size: 18px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
    min-height: 50px !important;
    border-radius: 10px !important;
  }
}
/* === HVT INNOPHA CHECKOUT VERTICAL v1.1.0: END === */


/* ======================================================================
   HVT INNOPHA CHECKOUT VERTICAL v1.2.0
   Unified single-card checkout. Order review follows immediately below
   customer information, quantity replaces the redundant subtotal column,
   and payment copy is reduced to a single clear line.
   ====================================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > .row.pt-0 {
  gap: 0 !important;
  border: 1px solid #dfe9d8;
  border-radius: var(--hvt-checkout-radius);
  background: linear-gradient(120deg, #F8FFF3 0%, #fff 58%, #FFF8FB 100%) !important;
  box-shadow: var(--hvt-checkout-shadow);
  overflow: hidden;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 24px 26px 10px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .row > .large-5.col > .col-inner {
  margin: 0 !important;
  padding: 18px 26px 26px !important;
  border: 0 !important;
  border-top: 1px solid #e6ece2 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-sidebar {
  margin-top: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
  margin-bottom: 12px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table thead th.product-name {
  width: auto;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table thead th.product-total,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tbody td.product-total {
  width: 160px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .cart_item .product-total {
  white-space: nowrap;
  vertical-align: top;
  font-weight: 650;
  color: var(--hvt-checkout-ink);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .cart_item .product-name {
  vertical-align: top;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__thumb {
  width: 64px;
  min-width: 64px;
  height: 64px;
  border: 1px solid #edf0eb;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__content {
  min-width: 0;
  flex: 1 1 auto;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__name,
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__name a {
  color: var(--hvt-checkout-text);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 500;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__meta,
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__meta dl,
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__meta p {
  margin: 6px 0 0 !important;
  color: #6e7687;
  font-size: 12px;
  line-height: 1.5;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-qty-label {
  display: inline-block;
  color: var(--hvt-checkout-ink);
  font-size: 14px;
  font-weight: 700;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
  margin-top: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods li > input,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {
  display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods li > label {
  display: block;
  margin: 0 !important;
  color: var(--hvt-checkout-ink) !important;
  font-size: 15px;
  font-weight: 700;
  cursor: default;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
  padding-top: 16px !important;
}
@media (max-width: 849px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .row > .large-5.col > .col-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table thead th.product-total,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tbody td.product-total {
    width: 132px;
  }
}
@media (max-width: 549px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > .row.pt-0 {
    border-radius: 12px;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .row > .large-5.col > .col-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item {
    gap: 10px;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .hvt-checkout-line-item__thumb {
    width: 54px;
    min-width: 54px;
    height: 54px;
    border-radius: 10px;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table thead th.product-total,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tbody td.product-total {
    width: 110px;
  }
}
/* === HVT INNOPHA CHECKOUT VERTICAL v1.2.0: END === */
