/*
Theme Name: HealthPorter Lab Storefront
Template: twentytwentyfive
Version: 4.0.1
Description: Private HealthPorter NZ WooCommerce lab storefront.
*/
:root{--hp-green:#087c59;--hp-dark:#163e35;--hp-ink:#20362f;--hp-muted:#5b6f66;--hp-cream:#f7f8f3;--hp-line:#e2e9e2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--hp-ink);background:#fff}a{color:var(--hp-green)}.hp-wrap{max-width:1200px;margin:auto}.hp-header{border-bottom:1px solid var(--hp-line);background:#fff;position:relative;z-index:5}.hp-header__inner{max-width:1200px;margin:auto;padding:15px 24px;display:flex;align-items:center;gap:35px}.hp-header .wp-block-site-logo{flex:none}.hp-header .wp-block-site-logo img{width:auto;max-width:210px;max-height:58px;object-fit:contain}.hp-search{display:flex;align-items:center;flex:1;max-width:550px;min-width:160px;height:48px;border:1px solid #d2e1d7;border-radius:9px;overflow:hidden;background:#fff}.hp-search input{flex:1;min-width:0;border:0!important;background:transparent;padding:11px 15px;box-shadow:none!important;font-size:15px}.hp-search button{height:48px;border:0;background:var(--hp-green);color:#fff;font-weight:700;padding:0 21px;cursor:pointer}.hp-header__links{display:flex;gap:18px;white-space:nowrap}.hp-header__links a{text-decoration:none;color:var(--hp-dark);font-weight:700;font-size:14px}.hp-category-nav{background:#f3faf5;border-top:1px solid var(--hp-line)}.hp-category-nav nav{max-width:1200px;margin:auto;display:flex;gap:31px;overflow-x:auto;white-space:nowrap;padding:12px 24px}.hp-category-nav a{color:var(--hp-dark);font-size:13px;font-weight:700;text-decoration:none}.hp-category-nav a:hover,.hp-section-head a:hover{text-decoration:underline}.hp-main,.hp-main .wp-block-post-content,.hp-main .wp-block-post-content>*{max-width:none!important;margin-block-start:0!important}.hp-hero{padding:64px 24px;background:linear-gradient(113deg,#f1f8ef 0%,#fafaf4 66%,#eaf4ed 100%)}.hp-hero-layout{display:grid;grid-template-columns:1fr .78fr;gap:65px;align-items:center}.hp-kicker{font-size:12px;color:var(--hp-green);text-transform:uppercase;letter-spacing:.15em;font-weight:800}.hp-hero h1{font-size:clamp(46px,5.2vw,78px);line-height:1.05;letter-spacing:-.055em;color:var(--hp-dark);max-width:720px;margin:21px 0 22px}.hp-hero-copy>p{font-size:clamp(18px,1.7vw,22px);color:#4c6457;line-height:1.55;max-width:610px;margin:0 0 31px}.hp-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.hp-button{display:inline-flex;align-items:center;gap:15px;min-height:49px;padding:13px 23px;border-radius:7px;background:var(--hp-green);color:#fff;text-decoration:none!important;font-size:15px;font-weight:750}.hp-button:hover{background:var(--hp-dark);color:#fff}.hp-text-link{font-weight:750;color:var(--hp-dark);text-decoration:none}.hp-hero-art{height:405px;border-radius:24px;position:relative;overflow:hidden;background:radial-gradient(circle at 77% 33%,#d3e9d2 0 9%,transparent 10%),linear-gradient(145deg,#e5f2dc,#a9d0b5 72%,#92c3a6);box-shadow:0 22px 45px #18462d16}.hp-hero-art:before{content:"";position:absolute;inset:45px;border:1px solid #ffffff90;border-radius:50%}.hp-orbit{position:absolute;border-radius:50%;background:#ffffff7d}.hp-orbit-one{width:250px;height:250px;left:-35px;bottom:-70px}.hp-orbit-two{width:80px;height:80px;right:35px;top:30px}.hp-hero-art-word{position:absolute;left:12%;top:34%;color:var(--hp-dark);font-size:clamp(40px,4vw,69px);font-weight:700;line-height:1;letter-spacing:-.06em}.hp-hero-art-word em{font-family:Georgia,serif;font-weight:400;font-size:.78em}.hp-hero-art-leaf{position:absolute;right:12%;bottom:8%;color:#2f845e;font-size:145px;line-height:1}.hp-trust{border-bottom:1px solid var(--hp-line);padding:19px 24px}.hp-trust .hp-wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#496c58;font-size:13px;font-weight:700}.hp-trust span:before{content:'Ã¢Å“â€œ';display:inline-flex;align-items:center;justify-content:center;margin-right:8px;background:#e5f3e7;color:var(--hp-green);border-radius:50%;width:23px;height:23px}.hp-section{padding:72px 24px}.hp-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.hp-section-head h2,.hp-purpose h2{font-size:clamp(31px,3vw,45px);line-height:1.13;letter-spacing:-.04em;color:var(--hp-dark);margin:9px 0 0}.hp-section-head>a{font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap}.hp-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.hp-category-card{min-height:200px;background:#f8faf7;border:1px solid var(--hp-line);border-radius:12px;padding:23px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none!important;transition:transform .15s,box-shadow .15s}.hp-category-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #1b4b3415}.hp-category-card>span{width:52px;height:52px;border-radius:14px;background:#e1efe3;color:var(--hp-green);font-size:28px;display:grid;place-items:center}.hp-category-card strong{font-size:18px;line-height:1.2;color:var(--hp-dark)}.hp-category-card small{font-size:12px;font-weight:750;color:var(--hp-green)}.hp-products-section{background:var(--hp-cream)}.hp-products-section .woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.hp-products-section .woocommerce ul.products:before,.hp-products-section .woocommerce ul.products:after{display:none}.hp-products-section .woocommerce ul.products li.product{float:none;width:auto;margin:0;background:#fff;border:1px solid var(--hp-line);border-radius:12px;padding:15px;display:flex;flex-direction:column}.hp-products-section .woocommerce ul.products li.product img{height:230px;width:100%;object-fit:contain;margin:0 0 14px}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--hp-dark);font-size:15px;line-height:1.4;font-weight:700}.woocommerce ul.products li.product .price,.woocommerce div.product p.price{color:var(--hp-green);font-weight:800;font-size:17px}.woocommerce ul.products li.product .button,.woocommerce div.product form.cart .button{background:var(--hp-green);color:#fff;border-radius:6px;margin-top:auto;font-weight:700}.woocommerce ul.products li.product .button:hover,.woocommerce div.product form.cart .button:hover{background:var(--hp-dark)}.hp-empty{border:1px dashed #bdd3bd;padding:28px;border-radius:8px;background:#fff}.hp-purpose-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.hp-purpose-card{min-height:350px;background:#153f35;border-radius:19px;color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.hp-purpose-card .hp-kicker{color:#b7e3c2}.hp-purpose-card strong{font-size:clamp(30px,3vw,48px);line-height:1.14;letter-spacing:-.04em;max-width:420px;z-index:1}.hp-purpose-symbol{position:absolute;right:22px;bottom:-65px;font-size:245px;color:#318361;line-height:1}.hp-purpose p{font-size:17px;line-height:1.65;color:var(--hp-muted);max-width:490px;margin:20px 0 26px}.hp-button-secondary{background:#e7f3e9;color:var(--hp-dark)}.hp-journal{background:#f6faf7}.hp-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hp-journal-card{display:flex;flex-direction:column;justify-content:space-between;min-height:195px;border:1px solid var(--hp-line);border-radius:12px;background:#fff;padding:25px;text-decoration:none}.hp-journal-card span,.hp-journal-card small{color:var(--hp-green);font-size:12px;font-weight:700}.hp-journal-card strong{color:var(--hp-dark);font-size:20px;line-height:1.3}.hp-footer{border-top:1px solid var(--hp-line);background:#f8faf7;padding:35px 24px}.hp-footer__inner{max-width:1200px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.hp-footer strong{font-size:17px;color:var(--hp-dark)}.hp-footer p{color:var(--hp-muted);font-size:14px;margin:5px 0}.hp-footer nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hp-footer a{font-size:14px;color:var(--hp-dark)}.woocommerce div.product{max-width:1200px;margin:45px auto;padding:0 24px}.woocommerce div.product .product_title{font-size:clamp(29px,3vw,43px);letter-spacing:-.035em;color:var(--hp-dark)}.woocommerce div.product .woocommerce-product-gallery img{border-radius:12px}.woocommerce div.product .woocommerce-tabs{margin-top:55px}.woocommerce .woocommerce-ordering select{padding:10px;border:1px solid var(--hp-line);border-radius:6px}.woocommerce-page .site-main{max-width:1200px;margin:auto}
@media(max-width:900px){.hp-hero-layout,.hp-purpose-layout{grid-template-columns:1fr;gap:30px}.hp-hero-art{height:300px}.hp-category-grid{grid-template-columns:repeat(3,1fr)}.hp-products-section .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.hp-header__inner{flex-wrap:wrap;gap:14px}.hp-search{order:3;flex-basis:100%;max-width:none}.hp-journal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hp-header__inner{padding:13px 17px}.hp-header .wp-block-site-logo img{max-width:160px}.hp-header__links{margin-left:auto;gap:10px}.hp-header__links a{font-size:12px}.hp-category-nav nav{padding:11px 17px;gap:18px}.hp-hero{padding:45px 19px}.hp-hero-art{height:235px}.hp-hero-art-leaf{font-size:110px}.hp-trust .hp-wrap{display:grid;grid-template-columns:1fr 1fr}.hp-section{padding:53px 19px}.hp-section-head{align-items:start}.hp-section-head h2{font-size:31px}.hp-category-grid{grid-template-columns:repeat(2,1fr);gap:10px}.hp-category-card{min-height:160px;padding:15px}.hp-category-card strong{font-size:15px}.hp-products-section .woocommerce ul.products{gap:9px}.hp-products-section .woocommerce ul.products li.product{padding:10px}.hp-products-section .woocommerce ul.products li.product img{height:155px}.hp-purpose-card{min-height:260px;padding:27px}.hp-journal-grid{grid-template-columns:1fr}}

.hp-hero-photo{height:455px;overflow:hidden;border-radius:23px;box-shadow:0 22px 45px #18462d16;background:#dceadd}.hp-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.hp-hero-photo:after{content:"";display:block;position:relative;bottom:100%;height:100%;background:linear-gradient(90deg,#eff7eb33,transparent 55%);pointer-events:none}@media(max-width:900px){.hp-hero-photo{height:380px}}@media(max-width:600px){.hp-hero-photo{height:310px}.hp-hero-photo img{object-position:center 25%}}

/* V4: compact routes, readable catalogue and product layouts. No external fonts or scripts. */
.hp-announcement{background:#163e35;color:#fff;text-align:center;padding:8px 14px;font-size:12px;letter-spacing:.02em}.hp-announcement span{padding:0 10px;color:#acd7b4}
.hp-wrap{width:min(100% - 40px,1200px)}.hp-shortcuts{padding:36px 0 5px;background:#fff}.hp-shortcuts-head{display:flex;align-items:baseline;gap:20px}.hp-shortcuts h2{margin:0;font-size:24px;letter-spacing:-.03em}.hp-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 0}.hp-quick-grid a{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f3f8f4;border:1px solid var(--hp-line);border-radius:9px;color:var(--hp-dark);font-weight:700;text-decoration:none;padding:18px}.hp-quick-grid a:hover,.hp-brand-links a:hover{background:#e5f3e7}.hp-quick-grid small{color:var(--hp-green);white-space:nowrap}.hp-brand-links{display:flex;gap:10px;flex-wrap:wrap}.hp-brand-links a{padding:13px 19px;border:1px solid var(--hp-line);border-radius:30px;color:var(--hp-dark);font-weight:700;text-decoration:none}.hp-brand-links span{color:var(--hp-green)}.hp-brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hp-brand-grid a{padding:25px;background:#f5faf6;border:1px solid var(--hp-line);border-radius:12px;display:flex;flex-direction:column;gap:25px;color:var(--hp-dark);text-decoration:none}.hp-brand-grid span{color:var(--hp-green);font-size:13px}.hp-catalog,.hp-product-main,.hp-journal-page,.hp-article,.hp-page{padding:38px 0 75px}.hp-catalog .woocommerce,.hp-product-main .woocommerce{max-width:none}.hp-shop-intro{border-top:1px solid var(--hp-line);padding:16px 0}.hp-shop-intro p{margin:7px 0;color:var(--hp-muted)}.hp-subcats{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.hp-subcats a{background:#edf6ef;border-radius:30px;padding:8px 14px;color:var(--hp-dark);font-size:13px;text-decoration:none}.woocommerce .woocommerce-breadcrumb{color:var(--hp-muted);font-size:13px}.woocommerce .woocommerce-breadcrumb a{color:var(--hp-green)}.woocommerce .woocommerce-result-count{font-size:13px;color:var(--hp-muted)}.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;border:1px solid var(--hp-line);border-radius:12px;padding:14px;display:flex;flex-direction:column;background:#fff}.woocommerce ul.products li.product a img{width:100%;height:235px;object-fit:contain;background:#fff}.woocommerce ul.products li.product .price{margin-top:auto;padding-top:12px}.woocommerce ul.products li.product .button{display:block;text-align:center;margin-top:12px!important;padding:13px 8px}.woocommerce ul.products li.product .stock{color:var(--hp-muted)}.woocommerce span.onsale{background:var(--hp-green);min-height:0;line-height:1.3;border-radius:5px;padding:5px 9px;top:13px;left:13px}.hp-product-eyebrow{color:var(--hp-green);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin:5px 0 15px}.hp-product-main .woocommerce div.product{max-width:none;margin:0;padding:0}.woocommerce div.product .summary{background:#f8faf7;padding:28px;border-radius:14px}.woocommerce div.product .product_title{font-size:clamp(28px,2.7vw,42px);line-height:1.15}.woocommerce div.product p.price{margin:18px 0}.woocommerce div.product .woocommerce-product-details__short-description{line-height:1.6}.woocommerce div.product form.cart .quantity .qty{height:44px;border:1px solid #c8d7cc;border-radius:5px}.woocommerce div.product form.cart .button{min-height:44px}.hp-purchase-note{display:grid;gap:5px;border-top:1px solid var(--hp-line);margin-top:24px;padding-top:17px;font-size:13px;line-height:1.5;color:var(--hp-muted)}.hp-purchase-note strong{color:var(--hp-dark)}.hp-stock-note{font-weight:700;color:#8b3c26}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#f3f8f4;border-color:var(--hp-line)}.woocommerce div.product .related.products{clear:both;padding-top:24px}.hp-page-lede{max-width:670px;margin-bottom:32px}.hp-page-lede h1,.hp-page h1,.hp-article h1{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-.04em;color:var(--hp-dark)}.hp-page-lede p{font-size:17px;color:var(--hp-muted);line-height:1.6}.hp-post-query .wp-block-post-template{gap:18px}.hp-post-card{border:1px solid var(--hp-line);border-radius:13px;overflow:hidden;padding:0 0 22px;background:#fff}.hp-post-card .wp-block-post-date,.hp-post-card .wp-block-post-title,.hp-post-card .wp-block-post-excerpt{margin:10px 20px}.hp-post-card .wp-block-post-title{font-size:22px;line-height:1.25}.hp-post-card .wp-block-post-title a{color:var(--hp-dark);text-decoration:none}.hp-article{max-width:820px}.hp-article .wp-block-post-content{line-height:1.75}.hp-page{max-width:1000px}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.hp-brand-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.hp-wrap{width:min(100% - 28px,1200px)}.hp-shortcuts-head{display:block}.hp-quick-grid{grid-template-columns:repeat(2,1fr)}.hp-quick-grid a{padding:13px;display:block}.hp-quick-grid small{display:block;margin-top:8px}.hp-brand-grid{grid-template-columns:repeat(2,1fr)}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.woocommerce ul.products li.product{padding:9px}.woocommerce ul.products li.product a img{height:150px}.hp-product-main .woocommerce div.product .summary{padding:18px}.hp-journal-page .wp-block-post-template{grid-template-columns:1fr!important}.hp-catalog,.hp-product-main,.hp-journal-page,.hp-page{padding-top:23px}}

/* V4.0.1: compact small-screen header. */
.hp-mobile-nav{display:none}
@media(max-width:650px){
  .hp-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 10px;align-items:center;padding:12px 16px}
  .hp-header__inner>.wp-block-site-logo{grid-column:1;grid-row:1;min-width:0;margin:0}
  .hp-header .wp-block-site-logo img{display:block;width:auto;max-width:min(48vw,165px);max-height:48px}
  .hp-header__links{grid-column:2;grid-row:1;justify-content:flex-end;align-items:center;margin:0;gap:12px}
  .hp-header__links a{font-size:13px}
  .hp-search{grid-column:1/-1;grid-row:2;order:initial;width:100%;max-width:none;min-width:0;height:44px;margin:0}
  .hp-search button{height:44px;padding:0 14px}
  .hp-category-nav .hp-desktop-nav{display:none}
  .hp-category-nav .hp-mobile-nav{display:block;max-width:1200px;margin:auto}
  .hp-mobile-nav summary{cursor:pointer;list-style:none;padding:12px 16px;color:var(--hp-dark);font-weight:750;font-size:14px}
  .hp-mobile-nav summary::-webkit-details-marker{display:none}
  .hp-mobile-nav summary:after{content:"+";float:right;font-size:18px;line-height:1}
  .hp-mobile-nav[open] summary:after{content:"Ã¢Ë†â€™"}
  .hp-mobile-nav nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 10px 12px;overflow:visible;white-space:normal}
  .hp-mobile-nav nav a{padding:11px 7px;border-top:1px solid var(--hp-line);font-size:13px}
  .hp-hero{padding:35px 18px}
  .hp-hero h1{font-size:clamp(35px,9vw,48px)}
  .hp-hero-photo{height:240px}
}


@media(max-width:600px){.hp-hero-photo img{object-position:center top}}

@media(max-width:600px){.hp-hero-photo{height:clamp(330px,80vw,400px)}.hp-hero-photo img{object-position:center top!important}}

/* Mobile portrait and encoding-safe trust ticks. */
.hp-trust span:before{content:"\2713"}
@media(max-width:600px){
  .hp-hero-photo{height:min(88vw,390px)!important}
  .hp-hero-photo img{object-position:center top!important}
}

/* Show the complete presenter photo on mobile. */
@media(max-width:600px){
  .hp-hero-photo{height:auto!important;aspect-ratio:auto!important}
  .hp-hero-photo img{
    display:block;
    width:100%;
    height:auto!important;
    object-fit:contain!important;
  }
}

/* Match the mobile header breakpoint; never crop the portrait. */
@media(max-width:650px){
  .hp-hero-photo{height:auto!important;aspect-ratio:auto!important}
  .hp-hero-photo img{
    display:block;
    width:100%;
    height:auto!important;
    object-fit:contain!important;
    object-position:center top!important;
  }
}
/* Curated homepage products */
.hp-curated-notice{margin:0 0 20px;color:#496c58;font-size:15px}
.hp-curated-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hp-curated-card{overflow:hidden;border:1px solid #dce9df;border-radius:12px;background:#fff}
.hp-curated-image{display:block;padding:16px;background:#fff}
.hp-curated-image img{display:block;width:100%;height:210px;object-fit:contain}
.hp-curated-info{display:flex;flex-direction:column;gap:11px;padding:0 17px 18px}
.hp-curated-info h3{font-size:17px;line-height:1.35;margin:0;min-height:68px}
.hp-curated-info h3 a{text-decoration:none;color:#183f2b}
.hp-curated-price{font-weight:800;color:#183f2b}
.hp-curated-status{font-size:13px;color:#686f69}
.hp-curated-link{margin-top:auto;text-align:center;padding:12px;border-radius:6px;background:#176c3d;color:#fff!important;font-weight:700;text-decoration:none!important}
@media(max-width:850px){.hp-curated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.hp-curated-image img{height:145px}.hp-curated-info{padding:0 11px 12px}.hp-curated-info h3{font-size:14px;min-height:76px}.hp-curated-link{font-size:13px}}

/* HP stock badges */
.woocommerce div.product.outofstock .woocommerce-product-gallery,
.woocommerce ul.products li.product.outofstock a.woocommerce-LoopProduct-link {
  position:relative;
}
.woocommerce div.product.outofstock .woocommerce-product-gallery::after,
.woocommerce ul.products li.product.outofstock a.woocommerce-LoopProduct-link::after {
  content:"Out of stock";
  position:absolute;
  top:14px;
  left:14px;
  z-index:3;
  padding:7px 11px;
  border-radius:5px;
  background:#923d31;
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  pointer-events:none;
}
/* HP readable quantity */
.woocommerce div.product form.cart .quantity input.qty {
  box-sizing:border-box;
  width:86px!important;
  min-width:86px;
  height:46px;
  padding:5px 18px 5px 8px;
  background:#fff!important;
  color:#183f2b!important;
  -webkit-text-fill-color:#183f2b!important;
  opacity:1!important;
  font-size:17px;
  font-weight:700;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
/* Curated homepage cards: clear prices and honest purchase actions. */
.hp-curated-info {
    display: flex;
    flex-direction: column;
}
.hp-curated-price-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 12px;
}
.hp-curated-was {
    color: #68776f;
    font-size: 13px;
    text-decoration: line-through;
}
.hp-curated-special {
    color: #174e37;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.25;
}
.hp-curated-status {
    margin-top: 6px;
}
.hp-curated-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
}
.hp-curated-actions a {
    box-sizing: border-box;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 5px;
    padding: 9px 8px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}
.hp-curated-details {
    border: 1px solid #176342;
    color: #176342;
    background: #fff;
}
.hp-curated-buy {
    border: 1px solid #176342;
    color: #fff;
    background: #176342;
}
.hp-curated-details:hover {
    background: #edf5ef;
}
.hp-curated-buy:hover {
    background: #104c32;
    color: #fff;
}
@media (max-width: 400px) {
    .hp-curated-actions {
        flex-wrap: wrap;
    }
    .hp-curated-actions a {
        flex-basis: 100%;
    }
}
/* Product fulfilment label comes from the product's saved HP field. */
.hp-curated-fulfillment,
.hp-product-fulfillment {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    width: fit-content;
    border: 1px solid #a5d6bf;
    border-radius: 999px;
    background: #eaf7ef;
    color: #165038;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    padding: 5px 10px;
}
.hp-curated-fulfillment { margin: 8px 0 0; }
.hp-product-fulfillment { margin: 8px 0 14px; }
/* Online-only badge overlays the card image so product details stay aligned. */
.hp-curated-card {
    position: relative;
}
.hp-curated-fulfillment {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    margin: 0;
}
/* Give the desktop logo, search and account/cart row the available width. */
@media (min-width: 901px) {
  .hp-header__inner {
    width: 100%;
    max-width: 1600px;
    padding-inline: clamp(24px, 3vw, 56px);
    gap: clamp(24px, 3vw, 48px);
  }
  .hp-header__inner > .wp-block-site-logo { flex: 0 0 auto; }
  .hp-header__inner .hp-search {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
  }
  .hp-header__links {
    flex: 0 0 auto;
    margin-left: auto;
  }
}

/* Spread the desktop shop navigation across the header width. */
@media (min-width: 901px) {
  .hp-category-nav .hp-desktop-nav {
    width: 100%;
    max-width: 1600px;
    margin-inline: auto;
  }
  .hp-category-nav .hp-desktop-nav nav {
    width: 100%;
    max-width: none;
    padding-inline: clamp(24px, 3vw, 56px);
    display: flex;
    justify-content: space-between;
    gap: 18px;
  }
}

/* HP_NAV_DROPDOWN_25SEP */
.hp-category-nav .hp-menu-item{position:relative}
.hp-category-nav .hp-menu-item>a{color:var(--hp-dark);text-decoration:none}
.hp-category-nav .hp-submenu{
  display:none;position:absolute;top:100%;left:0;z-index:30;
  min-width:260px;max-width:360px;padding:9px;
  background:#fff;border:1px solid #d9e7dc;border-radius:9px;
  box-shadow:0 16px 32px #15372a20;white-space:normal
}
.hp-category-nav .hp-menu-item:hover .hp-submenu,
.hp-category-nav .hp-menu-item:focus-within .hp-submenu{display:grid}
.hp-category-nav .hp-submenu a{
  display:block;padding:10px 12px;border-radius:5px;
  color:var(--hp-dark);font-size:13px;line-height:1.35;text-decoration:none
}
.hp-category-nav .hp-submenu a:hover,
.hp-category-nav .hp-submenu a:focus{background:#eef7ef}
@media(max-width:650px){
  .hp-mobile-nav .hp-menu-item{min-width:0}
  .hp-mobile-nav .hp-submenu{
    display:grid;position:static;min-width:0;max-width:none;
    padding:0 0 8px 7px;border:0;box-shadow:none;background:transparent
  }
  .hp-mobile-nav .hp-submenu a{padding:7px;font-size:12px}
}

/* HP original promotional banners */
.hp-banner-section {
    padding: 28px 24px;
    background: #fff;
}

.hp-banner-wrap {
    max-width: 1200px;
    margin: 0 auto;
}

.hp-banner-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 1829 / 860;
    overflow: hidden;
    border-radius: 14px;
    background: #f5f8f5;
}

.hp-banner-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: hpBannerRotate 18s infinite;
}

.hp-banner-slide:nth-child(1) { animation-delay: 0s; }
.hp-banner-slide:nth-child(2) { animation-delay: 6s; }
.hp-banner-slide:nth-child(3) { animation-delay: 12s; }

.hp-banner-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@keyframes hpBannerRotate {
    0%, 30% { opacity: 1; }
    33.333%, 96% { opacity: 0; }
    100% { opacity: 1; }
}

.hp-announcement {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 26px;
}

.hp-announcement a {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.hp-announcement a:hover {
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    .hp-banner-slide { animation: none; }
    .hp-banner-slide:first-child { opacity: 1; }
}

@media (max-width: 650px) {
    .hp-banner-section { padding: 16px 12px; }
    .hp-announcement { gap: 5px 14px; }
    .hp-banner-stage { aspect-ratio: 1547 / 1016; }
}

/* HP banner-first homepage */
.hp-banner-section {
    padding: 28px 24px 12px;
    background: #fff;
}

.hp-banner-stage {
    aspect-ratio: 1829 / 860;
    background: #f7faf7;
}

.hp-banner-slide {
    overflow: hidden;
}

.hp-banner-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center;
}

/* Bazooka's original artwork has a taller aspect ratio. */
.hp-banner-slide:nth-child(3) img {
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: contain !important;
}

.hp-hero {
    padding-top: 48px;
    padding-bottom: 48px;
}

@media (max-width: 650px) {
    .hp-banner-section {
        padding: 12px 12px 0;
    }

    .hp-banner-stage {
        aspect-ratio: 1547 / 1016;
    }

    .hp-banner-slide img {
        width: 100%;
        height: 100%;
        object-fit: contain !important;
    }

    .hp-hero {
        padding-top: 32px;
    }
}

/* HP banner presentation: consistent frame, no distorted artwork */
.hp-banner-section {
    padding: 24px 20px 16px;
}

.hp-banner-wrap {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
}

.hp-banner-stage {
    width: 100%;
    aspect-ratio: 1829 / 860;
    background: #f0f8f3;
    border-radius: 14px;
    overflow: hidden;
}

.hp-banner-slide {
    align-items: center;
    justify-content: center;
    background: #f0f8f3;
}

.hp-banner-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center !important;
}

/* Bazooka: preserve the entire original artwork */
.hp-banner-slide:nth-child(3) {
    background: linear-gradient(
        90deg,
        #e9f3f7 0%,
        #f5fafc 25%,
        #f5fafc 75%,
        #e9f3f7 100%
    );
}

.hp-banner-slide:nth-child(3) img {
    width: auto !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

@media (max-width: 650px) {
    .hp-banner-section {
        padding: 12px 10px;
    }

    .hp-banner-stage {
        aspect-ratio: 1829 / 860;
    }
}

/* HP HEADER REPAIR â€” desktop navigation and brighter branding */
:root {
    --hp-green: #00a65a;
    --hp-dark: #176b43;
}

.hp-announcement {
    background: #00a65a;
    color: #fff;
    min-height: 38px;
    font-size: 13px;
}

.hp-announcement a {
    color: #fff;
    font-weight: 700;
}

.hp-category-nav {
    background: #fff;
    overflow: visible !important;
}

.hp-category-nav .hp-desktop-nav,
.hp-category-nav .hp-desktop-nav nav {
    overflow: visible !important;
}

.hp-category-nav .hp-desktop-nav nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 24px;
}

.hp-category-nav .hp-desktop-nav nav > a,
.hp-category-nav .hp-menu-item > a {
    display: inline-flex;
    align-items: center;
    padding: 15px 0;
    white-space: nowrap;
}

.hp-category-nav .hp-menu-item {
    position: relative;
    flex: 0 0 auto;
}

.hp-category-nav .hp-submenu {
    top: 100%;
}

@media (min-width: 651px) and (max-width: 1100px) {
    .hp-category-nav .hp-desktop-nav nav {
        gap: 15px;
    }

    .hp-category-nav .hp-desktop-nav nav > a,
    .hp-category-nav .hp-menu-item > a {
        font-size: 12px;
    }
}

@media (max-width: 650px) {
    .hp-category-nav .hp-mobile-nav {
        display: block;
    }

    .hp-category-nav .hp-desktop-nav {
        display: none;
    }
}


/* HP_FINAL_NAV_REPAIR_START */
.hp-announcement {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 28px;
    padding: 10px 20px;
    min-height: 42px;
    background: #00a65a;
    color: #fff;
}

.hp-announcement a,
.hp-announcement span {
    color: #fff;
}

.hp-announcement a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

.hp-announcement a:hover {
    text-decoration: underline;
}

.hp-category-nav,
.hp-category-nav .hp-desktop-nav {
    overflow: visible !important;
}

@media (min-width: 651px) {
    .hp-category-nav .hp-desktop-nav > nav {
        display: flex !important;
        align-items: center;
        justify-content: center !important;
        flex-wrap: wrap !important;
        column-gap: clamp(22px, 2.6vw, 42px) !important;
        row-gap: 0 !important;
        max-width: 1440px !important;
        margin: 0 auto !important;
        padding: 0 24px !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    .hp-category-nav .hp-desktop-nav > nav > a,
    .hp-category-nav .hp-desktop-nav > nav > .hp-menu-item {
        display: inline-flex !important;
        align-items: center;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .hp-category-nav .hp-desktop-nav > nav > a,
    .hp-category-nav .hp-menu-item > a {
        display: inline-flex;
        align-items: center;
        min-height: 54px;
        padding: 14px 0;
        white-space: nowrap;
    }

    .hp-category-nav .hp-menu-item {
        position: relative;
    }

    .hp-category-nav .hp-submenu {
        top: 100%;
    }
}

@media (max-width: 650px) {
    .hp-announcement {
        gap: 6px 14px;
        font-size: 11px;
    }

    .hp-announcement__family {
        display: none;
    }
}
/* HP_FINAL_NAV_REPAIR_END */
/* HP_OVERNIGHT_FINISH_25SEP */
@media (min-width: 651px) {
  .hp-category-nav .hp-desktop-nav > nav {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 32px !important;
    overflow: visible !important;
    white-space: normal !important;
    padding: 0 22px !important;
  }
  .hp-category-nav .hp-nav-link,
  .hp-category-nav .hp-menu-item {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 !important;
  }
  .hp-category-nav .hp-nav-link > a,
  .hp-category-nav .hp-menu-item > a {
    display: inline-flex;
    align-items: center;
    min-height: 60px;
    font-size: 15px !important;
    font-weight: 700;
    white-space: nowrap;
    padding: 14px 0;
  }
  .hp-category-nav .hp-submenu a {
    font-size: 14px !important;
  }
}
@media (min-width: 651px) and (max-width: 1000px) {
  .hp-category-nav .hp-desktop-nav > nav {
    gap: 0 20px !important;
  }
  .hp-category-nav .hp-nav-link > a,
  .hp-category-nav .hp-menu-item > a {
    font-size: 13px !important;
  }
}
@media (max-width: 650px) {
  .hp-mobile-nav .hp-nav-link {
    display: block;
  }
  .hp-mobile-nav .hp-nav-link > a {
    display: block;
    font-size: 14px;
  }
}

/* Only one promotional banner is visible at a time. */
.hp-banner-stage .hp-banner-slide {
  animation: none !important;
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
  transition: none !important;
}
.hp-banner-stage .hp-banner-slide.hp-is-active {
  opacity: 1 !important;
  visibility: visible;
  pointer-events: auto;
}
.hp-banner-wrap { position: relative; }
.hp-banner-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 14px 0 0;
}
.hp-banner-controls button {
  cursor: pointer;
  border: 1px solid #c7ded0;
  background: white;
  color: #176b43;
  min-width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 17px;
}
.hp-banner-controls button.hp-is-active {
  background: #00a65a;
  border-color: #00a65a;
  color: white;
}
.hp-banner-controls .hp-banner-dot {
  width: 11px;
  min-width: 11px;
  height: 11px;
  padding: 0;
}
/* HP HEADER READABILITY � 25 SEP */
.hp-announcement {
    font-size: 15px !important;
    min-height: 48px;
    gap: 10px 32px;
}

.hp-announcement a,
.hp-announcement__family {
    font-size: 15px !important;
    font-weight: 700;
}

@media (min-width: 651px) {
    .hp-category-nav .hp-desktop-nav > nav > .hp-nav-link > a,
    .hp-category-nav .hp-desktop-nav > nav > .hp-menu-item > a {
        font-size: 17px !important;
        min-height: 65px;
        padding: 17px 0;
    }

    .hp-category-nav .hp-desktop-nav > nav {
        column-gap: 32px !important;
    }
}

@media (max-width: 650px) {
    .hp-announcement {
        min-height: 44px;
        gap: 6px 15px;
    }

    .hp-announcement a {
        font-size: 12px !important;
    }
}
/* END HP HEADER READABILITY */
/* HP_FULL_LAYOUT_26SEP_START */

/* Consistent layout */
.hp-section,
.hp-newsletter,
.hp-trust-section {
    box-sizing: border-box;
}

.hp-section {
    max-width: 1240px;
    margin: 0 auto;
    padding: 76px 24px;
}

.hp-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 32px;
}

.hp-section-heading h2 {
    font-size: clamp(29px, 3vw, 43px);
    line-height: 1.15;
    letter-spacing: -.035em;
    color: #14573e;
    margin: 9px 0 12px;
}

.hp-section-heading p {
    max-width: 640px;
    color: #62766b;
    line-height: 1.65;
    margin: 0;
}

.hp-eyebrow {
    display: block;
    color: #008c58;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.hp-text-link {
    color: #087a4d;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
}

/* Desktop navigation and dropdown arrows */
.hp-category-nav .hp-desktop-nav > nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 27px !important;
    row-gap: 8px;
}

.hp-category-nav .hp-desktop-nav .hp-nav-link,
.hp-category-nav .hp-desktop-nav .hp-menu-item {
    flex: 0 0 auto;
}

.hp-category-nav .hp-desktop-nav .hp-menu-item > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.hp-category-nav .hp-desktop-nav .hp-menu-item > a span[aria-hidden] {
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    margin-left: 2px;
    transform: translateY(-2px);
}

.hp-category-nav .hp-desktop-nav .hp-nav-link > a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.hp-category-nav .hp-desktop-nav .hp-submenu {
    min-width: 245px;
    padding: 12px;
    border: 1px solid #e1ece5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(15,70,45,.12);
    z-index: 100;
}

.hp-category-nav .hp-desktop-nav .hp-submenu a {
    display: block;
    padding: 11px 13px;
    line-height: 1.4;
    border-radius: 7px;
    white-space: normal;
}

.hp-category-nav .hp-desktop-nav .hp-submenu a:hover,
.hp-category-nav .hp-desktop-nav .hp-submenu a:focus-visible {
    background: #edf8f1;
    color: #006b43;
}

/* Health-concern cards */
.hp-concerns {
    padding-top: 78px;
}

.hp-concern-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}

.hp-concern-card {
    min-height: 205px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 27px;
    background: #f4faf5;
    border: 1px solid #dcece1;
    border-radius: 17px;
    color: #164e39;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.hp-concern-card:nth-child(2),
.hp-concern-card:nth-child(5) {
    background: #f2f8fc;
}

.hp-concern-card:nth-child(3),
.hp-concern-card:nth-child(6) {
    background: #faf8f0;
}

.hp-concern-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(20,65,40,.09);
}

.hp-concern-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 49px;
    height: 49px;
    background: #fff;
    border-radius: 13px;
    color: #008e58;
    font-size: 26px;
}

.hp-concern-name {
    font-size: 23px;
    font-weight: 750;
    letter-spacing: -.025em;
}

.hp-concern-action {
    font-size: 13px;
    font-weight: 700;
    color: #008e58;
}

/* Product grid */
.hp-favourites {
    max-width: none;
    background: #f7faf8;
}

.hp-favourites > * {
    max-width: 1192px;
    margin-left: auto;
    margin-right: auto;
}

.hp-product-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 19px;
}

.hp-product-card {
    min-width: 0;
    background: #fff;
    border: 1px solid #e3eae5;
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s ease;
}

.hp-product-card:hover {
    box-shadow: 0 12px 28px rgba(20,65,40,.09);
}

.hp-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 225px;
    padding: 20px;
    background: #fff;
}

.hp-product-image img {
    max-width: 100%;
    max-height: 185px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.hp-product-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    padding: 21px;
}

.hp-product-info h3 {
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
}

.hp-product-info h3 a {
    color: #193e30;
    text-decoration: none;
}

.hp-product-price {
    font-size: 20px;
    font-weight: 800;
    color: #087b4c;
    margin-top: auto;
}

.hp-buy-button {
    display: block;
    text-align: center;
    padding: 13px;
    background: #009e60;
    color: #fff !important;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}

.hp-buy-button:hover {
    background: #007c4a;
}

/* Featured collections */
.hp-featured-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
}

.hp-featured-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 270px;
    padding: 39px;
    border-radius: 19px;
    background: linear-gradient(125deg,#eaf6ec,#f7fbf4);
    color: #164e39;
    text-decoration: none;
}

.hp-featured-card:nth-child(2) {
    background: linear-gradient(125deg,#e9f4fa,#f8fbfd);
}

.hp-featured-card h3 {
    margin: 18px 0 9px;
    font-size: clamp(26px,3vw,35px);
    letter-spacing: -.035em;
}

.hp-featured-card p {
    line-height: 1.6;
    color: #577164;
    max-width: 340px;
}

.hp-featured-action {
    margin-top: auto;
    font-weight: 800;
    color: #008d56;
}

/* Brands */
.hp-brands {
    padding-top: 65px;
    padding-bottom: 85px;
}

.hp-brand-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
}

.hp-brand-grid a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 90px;
    padding: 17px;
    border: 1px solid #e1eae3;
    border-radius: 11px;
    background: #fff;
    color: #24543e;
    text-align: center;
    font-size: 16px;
    font-weight: 750;
    text-decoration: none;
}

.hp-brand-grid a:hover {
    border-color: #009b5b;
    background: #f4faf6;
}

/* Trust strip */
.hp-trust-section {
    background: #eaf6ed;
    padding: 35px 24px;
}

.hp-trust-grid {
    max-width: 1192px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 26px;
}

.hp-trust-grid > div {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.hp-trust-grid strong {
    color: #15533a;
    font-size: 15px;
}

.hp-trust-grid span {
    color: #60796a;
    font-size: 13px;
    line-height: 1.5;
}

/* Journal */
.hp-journal-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
}

.hp-journal-card {
    padding: 30px;
    border: 1px solid #e2eae4;
    border-radius: 14px;
}

.hp-journal-card h3 {
    font-size: 23px;
    line-height: 1.35;
}

.hp-journal-card a {
    color: #087e4c;
    text-decoration: none;
}

/* Newsletter introduction */
.hp-newsletter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 56px max(24px,calc((100% - 1192px)/2));
    background: #dff1e5;
}

.hp-newsletter h2 {
    color: #14573e;
    font-size: clamp(27px,3vw,40px);
    margin: 11px 0;
    line-height: 1.2;
}

.hp-newsletter p {
    max-width: 570px;
    color: #557464;
    line-height: 1.65;
}

.hp-newsletter > a {
    flex-shrink: 0;
    padding: 15px 23px;
    background: #008f56;
    color: #fff;
    border-radius: 9px;
    font-weight: 750;
    text-decoration: none;
}

/* Footer */
.hp-site-footer {
    background: #113d2d;
    color: #e8f4eb;
    padding: 64px 24px 25px;
}

.hp-footer-inner {
    max-width: 1192px;
    margin: 0 auto;
}

.hp-footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
    gap: 43px;
}

.hp-footer-brand {
    font-size: 25px;
    font-weight: 800;
    color: #fff;
}

.hp-footer-grid h3 {
    color: #fff;
    font-size: 15px;
    margin: 5px 0 21px;
}

.hp-footer-grid p {
    color: #c0d9c9;
    line-height: 1.7;
    font-size: 14px;
}

.hp-footer-grid a {
    display: block;
    margin: 0 0 13px;
    color: #d7e9dc;
    text-decoration: none;
    font-size: 14px;
}

.hp-footer-grid a:hover {
    color: #fff;
    text-decoration: underline;
}

.hp-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.16);
    margin-top: 44px;
    padding-top: 24px;
    color: #c0d9c9;
    font-size: 12px;
    line-height: 1.6;
}

/* Tablet */
@media (max-width: 1024px) {
    .hp-section {
        padding: 58px 22px;
    }

    .hp-concern-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .hp-product-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .hp-trust-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .hp-footer-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 35px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .hp-section {
        padding: 45px 17px;
    }

    .hp-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
        margin-bottom: 25px;
    }

    .hp-section-heading h2 {
        font-size: 29px;
    }

    .hp-concern-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 11px;
    }

    .hp-concern-card {
        min-height: 175px;
        padding: 17px;
    }

    .hp-concern-name {
        font-size: 18px;
    }

    .hp-concern-action {
        font-size: 11px;
    }

    .hp-product-grid {
        gap: 11px;
    }

    .hp-product-image {
        height: 160px;
        padding: 10px;
    }

    .hp-product-image img {
        max-height: 145px;
    }

    .hp-product-info {
        padding: 14px;
        gap: 10px;
    }

    .hp-product-info h3 {
        font-size: 13px;
    }

    .hp-product-price {
        font-size: 17px;
    }

    .hp-buy-button {
        font-size: 12px;
        padding: 11px 6px;
    }

    .hp-featured-grid,
    .hp-journal-grid {
        grid-template-columns: 1fr;
    }

    .hp-featured-card {
        min-height: 235px;
        padding: 27px;
    }

    .hp-brand-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .hp-trust-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 23px 15px;
    }

    .hp-newsletter {
        padding: 45px 20px;
        flex-direction: column;
        align-items: flex-start;
    }

    .hp-footer-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 31px 18px;
    }

    .hp-site-footer {
        padding: 45px 19px 23px;
    }
}

@media (max-width: 370px) {
    .hp-concern-grid,
    .hp-product-grid {
        grid-template-columns: 1fr;
    }

    .hp-footer-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hp-concern-card,
    .hp-product-card {
        transition: none;
    }
}

/* HP_FULL_LAYOUT_26SEP_END *//* HP product image badges */
.single-product .woocommerce-product-gallery {
    position: relative;
}

.single-product .woocommerce-product-gallery .onsale,
.single-product div.product .onsale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 5;
}
/* HP product enquiry form */
.single-product #hp-interest {
    width: 100%;
    box-sizing: border-box;
    margin: 18px 0;
    padding: 22px;
    border: 1px solid #cdded2;
    border-radius: 12px;
    background: #fafffb;
}

.single-product #hp-interest h3 {
    margin: 0 0 12px;
    color: #075b3b;
    font-size: 21px;
}

.single-product #hp-interest input:not([type=hidden]),
.single-product #hp-interest textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 43px;
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid #b8cfc1;
    border-radius: 6px;
    font: inherit;
}

.single-product #hp-interest textarea {
    min-height: 90px;
}

.single-product #hp-interest button[type=submit] {
    width: 100%;
    padding: 12px 16px;
    background: #009d62;
    color: white;
    border: 0;
    border-radius: 6px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.single-product #hp-interest button[type=submit]:hover {
    background: #007d4e;
}
/* HP discontinued badges */
.woocommerce div.product.hp-discontinued.outofstock
.woocommerce-product-gallery::after,
.woocommerce ul.products li.product.hp-discontinued.outofstock
a.woocommerce-LoopProduct-link::after {
    content: "Discontinued";
}

/* Sale badge positioning */
.single-product .woocommerce-product-gallery {
    position: relative;
}

.single-product div.product .onsale {
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 5;
}

/* HP final single-product badge alignment */
.single-product div.product .onsale {
    position: absolute !important;
    top: 32px !important;
    left: 24px !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 6 !important;
}

/* HP HOMEPAGE COMPACT SECTIONS — 29 Sep 2026 */
.hp-health-goals,
.hp-featured-collections,
.hp-brands {
    width: min(100% - 40px, 1200px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.hp-health-goals {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.hp-featured-collections {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.hp-brands {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.hp-brand-grid {
    gap: 16px !important;
}

.hp-brand-grid a {
    min-height: 78px !important;
    padding: 18px 16px !important;
}

@media(max-width:650px) {
    .hp-health-goals,
    .hp-featured-collections,
    .hp-brands {
        width: min(100% - 28px, 1200px) !important;
    }
}

/* HP HOMEPAGE UNIFIED CONTENT WIDTH — 29 Sep 2026 */
.hp-section {
    width: min(100% - 40px, 1200px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media(max-width:650px) {
    .hp-section {
        width: min(100% - 28px, 1200px) !important;
    }
}

/* HP clean product-tag chips: native links and migrated tag fallbacks */
.hp-clean-tag-list span {
    display: inline-block;
    padding: 9px 13px;
    border: 1px solid #c6dbce;
    border-radius: 7px;
    color: #176344;
    font-size: 13px;
    margin: 0 6px 8px 0;
}

/* HP product metadata - clean global spacing */
.single-product .product_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    margin-top: 18px;
    line-height: 1.55;
}

.single-product .product_meta > span {
    display: inline-block;
}

@media (max-width: 640px) {
    .single-product .product_meta {
        gap: 6px 12px;
    }
}

/* =========================================================
   HP Delivery & Shipping page
   Scoped to .hp-shipping-page
   ========================================================= */

.hp-shipping-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 54px 24px 72px;
    color: #234766;
}

.hp-shipping-hero {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.hp-shipping-eyebrow {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    color: #348AC7;
}

.hp-shipping-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.05;
    color: #245E91;
}

.hp-shipping-intro {
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
    color: #60758A;
}

.hp-shipping-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 0 0 46px;
}

.hp-shipping-card {
    padding: 28px;
    background: #fff;
    border: 1px solid #D6E8F7;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(36, 94, 145, .07);
}

.hp-shipping-card-nz {
    border-top: 4px solid #348AC7;
}

.hp-shipping-card h2 {
    margin: 0 0 8px;
    font-size: 25px;
    color: #245E91;
}

.hp-shipping-card-note {
    min-height: 52px;
    margin: 0 0 18px;
    color: #65798C;
    line-height: 1.5;
}

.hp-shipping-rate {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 14px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid #E5EFF8;
}

.hp-shipping-rate span {
    font-weight: 600;
}

.hp-shipping-rate strong {
    font-size: 18px;
    color: #245E91;
}

.hp-shipping-rate small {
    grid-column: 1 / -1;
    color: #75889A;
    font-size: 13px;
}

.hp-shipping-free {
    margin-top: 18px;
    padding: 13px 15px;
    border-radius: 8px;
    background: #E8F4FF;
    color: #245E91;
    text-align: center;
}

.hp-shipping-info {
    padding: 38px;
    margin-bottom: 32px;
    background: #F3F9FF;
    border: 1px solid #D9EAF8;
    border-radius: 14px;
}

.hp-shipping-info > h2 {
    margin: 0 0 25px;
    font-size: 30px;
    color: #245E91;
}

.hp-shipping-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 42px;
}

.hp-shipping-info h3 {
    margin: 0 0 7px;
    font-size: 18px;
    color: #234766;
}

.hp-shipping-info p {
    margin: 0;
    line-height: 1.65;
    color: #60758A;
}

.hp-shipping-help {
    padding: 36px;
    text-align: center;
    border: 1px solid #D6E8F7;
    border-radius: 14px;
    background: #fff;
}

.hp-shipping-help h2 {
    margin: 0 0 9px;
    color: #245E91;
}

.hp-shipping-help p {
    max-width: 680px;
    margin: 0 auto 20px;
    line-height: 1.6;
    color: #60758A;
}

.hp-shipping-contact {
    display: inline-block;
    padding: 11px 22px;
    border-radius: 6px;
    background: #348AC7;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.hp-shipping-contact:hover {
    opacity: .9;
}

@media (max-width: 850px) {
    .hp-shipping-grid {
        grid-template-columns: 1fr;
    }

    .hp-shipping-card-note {
        min-height: 0;
    }

    .hp-shipping-info-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .hp-shipping-page {
        padding: 34px 16px 50px;
    }

    .hp-shipping-card,
    .hp-shipping-info,
    .hp-shipping-help {
        padding: 22px;
    }

    .hp-shipping-intro {
        font-size: 16px;
    }
}

/* HP compact four-column footer */
.hp-footer-grid-compact {
    grid-template-columns: 1.25fr 1fr 1.25fr .75fr;
    gap: 34px;
    align-items: start;
}

.hp-footer-grid-compact h3 {
    margin-bottom: 12px;
}

.hp-footer-grid-compact a,
.hp-footer-grid-compact p {
    margin-bottom: 7px;
}

.hp-footer-social {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hp-footer-bottom {
    margin-top: 28px;
}

@media (max-width: 850px) {
    .hp-footer-grid-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .hp-footer-grid-compact {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .hp-footer-bottom-separator {
        display: none;
    }
}

/* HP compact footer - restore dark storefront treatment */
.hp-footer {
    background: #0f4939;
    color: #ffffff;
}

.hp-footer .hp-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 38px 24px 22px;
}

.hp-footer-grid-compact h3 {
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
}

.hp-footer-grid-compact a {
    color: #d9f0e5 !important;
    text-decoration: none;
}

.hp-footer-grid-compact a:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

.hp-footer-grid-compact p {
    color: #d9f0e5;
}

.hp-footer-bottom {
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.18);
    color: #cce3d8;
    line-height: 1.5;
}


/* HP compact footer - final typography polish */
.hp-footer-grid-compact a,
.hp-footer-grid-compact p {
    font-size: 14px;
    line-height: 1.55;
}

.hp-footer-grid-compact h3 {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
}

.hp-footer-bottom {
    font-size: 12px;
    line-height: 1.55;
}


/* HP compact footer - mobile refinement */
@media (max-width: 560px) {
    .hp-footer .hp-wrap {
        padding: 30px 20px 20px;
    }

    .hp-footer-grid-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 22px;
    }

    .hp-footer-grid-compact h3 {
        margin-bottom: 10px;
    }

    .hp-footer-grid-compact a,
    .hp-footer-grid-compact p {
        font-size: 13px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .hp-footer-bottom {
        grid-column: 1 / -1;
        margin-top: 24px;
        font-size: 11px;
        line-height: 1.5;
    }
}

@media (max-width: 340px) {
    .hp-footer-grid-compact {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   HP policy pages - Returns & Refunds
   ========================================================= */

.hp-policy-page {
    max-width: 1080px;
    margin: 0 auto;
    padding: 54px 24px 72px;
    color: #234766;
}

.hp-policy-hero {
    max-width: 780px;
    margin: 0 auto 38px;
    text-align: center;
}

.hp-policy-eyebrow {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    color: #348AC7;
}

.hp-policy-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(38px, 5vw, 56px);
    line-height: 1.05;
    color: #245E91;
}

.hp-policy-hero > p:last-child {
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
    color: #60758A;
}

.hp-policy-highlight {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 30px;
}

.hp-policy-highlight > div {
    padding: 22px;
    border: 1px solid #D6E8F7;
    border-top: 3px solid #348AC7;
    border-radius: 12px;
    background: #F3F9FF;
}

.hp-policy-highlight strong {
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
    color: #245E91;
}

.hp-policy-highlight span {
    display: block;
    line-height: 1.55;
    color: #60758A;
}

.hp-policy-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.hp-policy-card {
    padding: 28px;
    border: 1px solid #D6E8F7;
    border-radius: 12px;
    background: #ffffff;
}

.hp-policy-card h2 {
    margin: 0 0 13px;
    font-size: 22px;
    color: #245E91;
}

.hp-policy-card p {
    margin: 0 0 12px;
    line-height: 1.65;
    color: #60758A;
}

.hp-policy-card p:last-child {
    margin-bottom: 0;
}

.hp-policy-help {
    margin-top: 30px;
    padding: 34px;
    text-align: center;
    border: 1px solid #D6E8F7;
    border-radius: 12px;
    background: #F3F9FF;
}

.hp-policy-help h2 {
    margin: 0 0 9px;
    color: #245E91;
}

.hp-policy-help p {
    max-width: 650px;
    margin: 0 auto 19px;
    line-height: 1.6;
    color: #60758A;
}

.hp-policy-help a {
    display: inline-block;
    padding: 11px 22px;
    border-radius: 6px;
    background: #348AC7;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
}

@media (max-width: 760px) {
    .hp-policy-highlight,
    .hp-policy-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .hp-policy-page {
        padding: 34px 16px 50px;
    }

    .hp-policy-hero > p:last-child {
        font-size: 16px;
    }

    .hp-policy-highlight > div,
    .hp-policy-card,
    .hp-policy-help {
        padding: 21px;
    }

    .hp-policy-card h2 {
        font-size: 20px;
    }
}


/* HP Returns & Refunds - custom page contains its own hero H1 */
body.page-id-10 main.hp-page > .wp-block-post-title {
    display: none;
}


/* HP Delivery & Shipping - custom page contains its own hero H1 */
body.page-id-9189 main.hp-page > .wp-block-post-title {
    display: none;
}


/* =========================================================
   HP Contact page
   ========================================================= */

body.page-id-9118 main.hp-page > .wp-block-post-title {
    display: none;
}

.hp-contact-page {
    max-width: 1080px;
    margin: 0 auto;
    padding: 54px 24px 72px;
    color: #18352b;
}

.hp-contact-hero {
    max-width: 780px;
    margin: 0 auto 40px;
    text-align: center;
}

.hp-contact-eyebrow {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    color: #00a85a;
}

.hp-contact-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(38px, 5vw, 56px);
    line-height: 1.05;
    color: #0b6849;
}

.hp-contact-hero > p:last-child {
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
    color: #53645e;
}

.hp-contact-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.hp-contact-card {
    display: block;
    padding: 28px;
    border: 1px solid #dbe9e1;
    border-top: 3px solid #00a85a;
    border-radius: 12px;
    background: #f6faf7;
    color: #18352b !important;
    text-decoration: none !important;
}

.hp-contact-card:hover {
    border-color: #00a85a;
}

.hp-contact-label {
    display: block;
    margin-bottom: 9px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #00a85a;
}

.hp-contact-card h2 {
    margin: 0 0 12px;
    font-size: 24px;
    color: #0b6849;
}

.hp-contact-card p {
    margin: 0 0 18px;
    line-height: 1.6;
    color: #5e6e68;
    overflow-wrap: anywhere;
}

.hp-contact-action {
    font-weight: 700;
    color: #08744f;
}

.hp-contact-social {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-top: 28px;
    padding: 30px 34px;
    border: 1px solid #dbe9e1;
    border-radius: 12px;
    background: #fff;
}

.hp-contact-social h2 {
    margin: 0 0 8px;
    color: #0b6849;
}

.hp-contact-social p:last-child {
    margin: 0;
    color: #5e6e68;
}

.hp-contact-social-links {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.hp-contact-social-links a {
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid #00a85a;
    border-radius: 6px;
    color: #08744f !important;
    font-weight: 700;
    text-decoration: none !important;
}

.hp-contact-social-links a:hover {
    background: #00a85a;
    color: #fff !important;
}

@media (max-width: 760px) {
    .hp-contact-grid {
        grid-template-columns: 1fr;
    }

    .hp-contact-social {
        display: block;
    }

    .hp-contact-social-links {
        margin-top: 20px;
    }
}

@media (max-width: 600px) {
    .hp-contact-page {
        padding: 34px 16px 50px;
    }

    .hp-contact-hero > p:last-child {
        font-size: 16px;
    }

    .hp-contact-card,
    .hp-contact-social {
        padding: 21px;
    }

    .hp-contact-social-links {
        flex-direction: column;
    }

    .hp-contact-social-links a {
        text-align: center;
    }
}


/* HP Contact cards - internal action links */
.hp-contact-card .hp-contact-action {
    display: inline-block;
    font-weight: 700;
    color: #08744f !important;
    text-decoration: none !important;
}

.hp-contact-card a.hp-contact-action:hover {
    text-decoration: underline !important;
}


/* HP Contact cards - internal action links */
.hp-contact-card .hp-contact-action {
    display: inline-block;
    font-weight: 700;
    color: #08744f !important;
    text-decoration: none !important;
}

.hp-contact-card a.hp-contact-action:hover {
    text-decoration: underline !important;
}


/* =========================================================
   HP WooCommerce - My Account
   ========================================================= */

body.woocommerce-account main.hp-page {
    max-width: 1080px;
    padding-top: 52px;
    padding-bottom: 72px;
}

body.woocommerce-account main.hp-page > .wp-block-post-title {
    margin: 0 0 34px;
    font-size: clamp(38px, 5vw, 54px);
    line-height: 1.08;
    color: #0b6849;
}

body.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 230px minmax(0,1fr);
    gap: 34px;
    align-items: start;
}

/* Left account navigation */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: auto;
    margin: 0;
    padding: 14px;
    border: 1px solid #dbe9e1;
    border-radius: 12px;
    background: #f6faf7;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 11px 13px;
    border-radius: 7px;
    color: #315c4e;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: #e8f5ed;
    color: #08744f;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: #00a85a;
    color: #fff;
}

/* Main account content */
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    min-width: 0;
    padding: 30px 32px;
    border: 1px solid #dbe9e1;
    border-radius: 12px;
    background: #fff;
    color: #425d54;
}

body.woocommerce-account .woocommerce-MyAccount-content > *:first-child {
    margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content p {
    line-height: 1.7;
}

body.woocommerce-account .woocommerce-MyAccount-content a {
    color: #00a85a;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: #0b6849;
}

/* Tables */
body.woocommerce-account table.shop_table {
    width: 100%;
    border: 1px solid #dbe9e1;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 9px;
    overflow: hidden;
}

body.woocommerce-account table.shop_table th,
body.woocommerce-account table.shop_table td {
    padding: 12px 14px;
}

/* Forms */
body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account .woocommerce-MyAccount-content textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #cfded6;
    border-radius: 6px;
    background: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-content button.button,
body.woocommerce-account .woocommerce-MyAccount-content a.button {
    border-radius: 6px;
    background: #00a85a;
    color: #fff !important;
    font-weight: 700;
}

/* Addresses */
body.woocommerce-account .woocommerce-Address {
    padding: 20px;
    border: 1px solid #dbe9e1;
    border-radius: 10px;
    background: #f9fbfa;
}

/* Mobile */
@media (max-width: 760px) {
    body.woocommerce-account main.hp-page {
        padding-top: 34px;
        padding-bottom: 50px;
    }

    body.woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        padding: 9px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 5px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation a {
        padding: 10px;
        font-size: 14px;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 22px 18px;
    }
}

@media (max-width: 380px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   HP My Account - layout correction
   Override legacy WooCommerce float/clear behaviour
   ========================================================= */

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 230px minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none !important;
    clear: none !important;
    width: auto !important;
    grid-column: 1 !important;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-column: 2 !important;
    margin: 0 !important;
}

@media (max-width: 760px) {
    body.woocommerce-account .woocommerce {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        grid-column: 1 !important;
        width: auto !important;
    }
}


/* HP My Account - customer care page treatment */
body.woocommerce-account main.hp-page > .wp-block-post-title {
    display: none;
}

body.woocommerce-account .hp-account-hero {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

body.woocommerce-account .hp-account-hero .hp-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #00a85a;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .11em;
}

body.woocommerce-account .hp-account-hero h1 {
    margin: 0 0 14px;
    color: #0b6849;
    font-size: clamp(40px,5vw,58px);
    line-height: 1.08;
    font-weight: 400;
}

body.woocommerce-account .hp-account-hero p {
    max-width: 650px;
    margin: 0 auto;
    color: #5b6e67;
    font-size: 17px;
    line-height: 1.65;
}

body.woocommerce-account main.hp-page {
    padding-top: 64px;
    padding-bottom: 64px;
}

@media (max-width:760px) {
    body.woocommerce-account .hp-account-hero {
        margin-bottom: 30px;
    }

    body.woocommerce-account main.hp-page {
        padding-top: 40px;
        padding-bottom: 48px;
    }

    body.woocommerce-account .hp-account-hero p {
        font-size: 15px;
    }
}


/* =========================================================
   HP My Account - Orders & Downloads polish
   ========================================================= */

/* WooCommerce account notices */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
    position: relative;
    margin: 0 0 22px !important;
    padding: 18px 20px !important;
    border: 1px solid #cfe4d8 !important;
    border-top: 3px solid #00a85a !important;
    border-radius: 10px;
    background: #f5faf7 !important;
    color: #315c4e !important;
    box-shadow: none !important;
    line-height: 1.55;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
    color: #00a85a !important;
}

/* Buttons inside notices */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
    float: right;
    margin: -5px 0 -5px 18px;
    padding: 10px 16px !important;
    border: 1px solid #00a85a !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #08744f !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button:hover {
    background: #00a85a !important;
    color: #fff !important;
}

/* Orders table */
body.woocommerce-account .woocommerce-orders-table {
    border: 1px solid #d5e5dc !important;
    border-radius: 10px !important;
    background: #fff;
    overflow: hidden;
}

body.woocommerce-account .woocommerce-orders-table thead th {
    padding: 14px !important;
    background: #f3f8f5;
    color: #174f3d;
    font-size: 14px;
    font-weight: 700;
}

body.woocommerce-account .woocommerce-orders-table tbody td {
    padding: 16px 14px !important;
    border-top: 1px solid #e1ebe5 !important;
    vertical-align: middle;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:hover {
    background: #fafcfb;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a {
    color: #008f4d !important;
    font-weight: 700;
}

/* Order action buttons */
body.woocommerce-account .woocommerce-orders-table .woocommerce-button {
    min-width: 84px;
    padding: 10px 16px !important;
    border-radius: 6px !important;
    background: #00a85a !important;
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
    font-weight: 700 !important;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-button:hover {
    background: #08744f !important;
}

/* Downloads table - ready for future digital products */
body.woocommerce-account .woocommerce-table--order-downloads,
body.woocommerce-account .woocommerce-MyAccount-downloads-file {
    border-color: #d5e5dc;
}

body.woocommerce-account .woocommerce-table--order-downloads thead th {
    background: #f3f8f5;
    color: #174f3d;
}

/* Give empty Downloads state breathing room */
body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:only-child {
    min-height: 74px;
    display: flex;
    align-items: center;
}

/* Mobile Orders / Downloads */
@media (max-width: 760px) {
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
        padding: 16px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
        float: none;
        display: inline-block;
        margin: 12px 0 0;
    }

    body.woocommerce-account .woocommerce-orders-table tbody td {
        padding: 12px !important;
    }
}


/* HP My Account - force branded WooCommerce notices */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    border: 1px solid #cfe4d8 !important;
    border-top: 3px solid #00a85a !important;
    border-radius: 10px !important;
    background: #f3f8f5 !important;
    color: #315c4e !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
    color: #00a85a !important;
}

/* Notice action - make it clearly visible */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.button {
    background: #ffffff !important;
    border: 1px solid #00a85a !important;
    color: #08744f !important;
    opacity: 1 !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.button:hover {
    background: #00a85a !important;
    color: #ffffff !important;
}

/* Woo Blocks / newer Woo notice fallback */
body.woocommerce-account .wc-block-components-notice-banner {
    border: 1px solid #cfe4d8 !important;
    border-top: 3px solid #00a85a !important;
    border-radius: 10px !important;
    background: #f3f8f5 !important;
    color: #315c4e !important;
}

body.woocommerce-account .wc-block-components-notice-banner > svg {
    background: #00a85a !important;
}

body.woocommerce-account .wc-block-components-notice-banner a,
body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-notice-banner__content a {
    color: #08744f !important;
    opacity: 1 !important;
    font-weight: 700 !important;
}

/* =========================================================
   HP CART ? STOREFRONT POLISH
   Presentation only. WooCommerce cart logic remains native.
   ========================================================= */

body.woocommerce-cart .wp-site-blocks main,
body.woocommerce-cart main {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

/* Main Cart heading */
body.woocommerce-cart main > h1,
body.woocommerce-cart .wp-block-post-title {
    color: #0b6849;
    font-size: clamp(40px, 5vw, 56px);
    line-height: 1.08;
    font-weight: 400;
    margin-bottom: 28px;
}

/* Main cart columns */
body.woocommerce-cart .wp-block-woocommerce-cart {
    color: #18352b;
}

body.woocommerce-cart .wc-block-cart {
    gap: 38px;
}

/* Product table */
body.woocommerce-cart .wc-block-cart-items {
    border-collapse: separate;
    border-spacing: 0;
}

body.woocommerce-cart .wc-block-cart-items thead th {
    color: #0b6849;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding-bottom: 14px;
}

body.woocommerce-cart .wc-block-cart-items__row {
    border-color: #d8e6df;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    border: 1px solid #e0ebe5;
    border-radius: 10px;
    background: #fff;
}

body.woocommerce-cart .wc-block-components-product-name {
    color: #08734f !important;
    font-weight: 700;
    line-height: 1.35;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata__description {
    color: #5e7169;
    line-height: 1.5;
}

body.woocommerce-cart .wc-block-components-product-price {
    color: #18352b;
}

/* Quantity */
body.woocommerce-cart .wc-block-components-quantity-selector {
    border-color: #cbded5;
    border-radius: 7px;
    overflow: hidden;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    color: #5e7169 !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #08734f !important;
}

/* Totals card */
body.woocommerce-cart .wc-block-cart__sidebar {
    background: #f7faf8;
    border: 1px solid #d6e5dd;
    border-radius: 14px;
    padding: 24px !important;
    align-self: start;
}

body.woocommerce-cart .wc-block-cart__totals-title {
    color: #0b6849;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
    border-color: #dbe7e1 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #18352b;
    font-size: 20px;
    font-weight: 700;
}

/* Checkout CTA */
body.woocommerce-cart .wc-block-cart__submit-button {
    background: #00ad63 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 7px !important;
    min-height: 56px;
    font-size: 17px;
    font-weight: 700;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
    background: #08734f !important;
    color: #fff !important;
}

/* Coupon */
body.woocommerce-cart .wc-block-components-totals-coupon__button {
    color: #08734f;
    font-weight: 700;
}

/* Empty cart */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 0 64px;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:first-child,
body.woocommerce-cart .wc-block-cart__empty-cart__title {
    color: #0b6849;
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 400;
    text-align: center;
    margin-bottom: 12px;
}

/* Empty-cart recommendations */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading {
    color: #0b6849;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    gap: 20px;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    border: 1px solid #dce9e2;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    width: 100%;
    height: 220px;
    object-fit: contain;
}

/* Buttons inside recommendation area */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a {
    background: #00ad63 !important;
    color: #fff !important;
    border-radius: 6px;
    font-weight: 700;
}

/* Mobile cart */
@media (max-width: 700px) {
    body.woocommerce-cart main {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.woocommerce-cart main > h1,
    body.woocommerce-cart .wp-block-post-title {
        font-size: 38px;
        margin-top: 34px;
        margin-bottom: 22px;
    }

    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-cart .wc-block-cart__sidebar {
        width: 100% !important;
    }

    body.woocommerce-cart .wc-block-cart__sidebar {
        padding: 18px !important;
        margin-top: 24px;
    }

    body.woocommerce-cart .wc-block-cart-item__image {
        width: 72px !important;
    }

    body.woocommerce-cart .wc-block-components-product-metadata__description {
        display: none;
    }

    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
        height: 170px;
    }
}

/* =========================================================
   HP Cart - safe desktop balance
   Keep Woo Blocks native stacking; improve width and centering.
   ========================================================= */

@media (min-width: 900px) {

    body.woocommerce-cart main.hp-page,
    body.woocommerce-cart main {
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart {
        width: 100% !important;
        max-width: 1050px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.woocommerce-cart .wc-block-cart {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.woocommerce-cart .wc-block-cart__main {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart__sidebar {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 28px 0 0 !important;
        box-sizing: border-box !important;
    }
}


/* =========================================================
   HP Checkout Blocks polish
   Presentation only ? no checkout logic changes
   ========================================================= */

body.woocommerce-checkout .wc-block-checkout {
    --hp-green: #007a53;
    --hp-bright-green: #00b86b;
    --hp-border: #d7e3dc;
    --hp-soft: #f7faf8;
}

body.woocommerce-checkout .wc-block-checkout a {
    color: var(--hp-green);
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
    color: #123d31;
    font-weight: 650;
}

body.woocommerce-checkout .wc-block-components-radio-control__option {
    border-color: var(--hp-border) !important;
    border-radius: 8px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--checked {
    border-color: var(--hp-green) !important;
    background: var(--hp-soft) !important;
}

body.woocommerce-checkout .wc-block-components-address-card {
    border-color: var(--hp-border) !important;
    border-radius: 8px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary {
    border-color: var(--hp-border) !important;
    border-radius: 8px !important;
    overflow: hidden;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-wrapper {
    border-color: var(--hp-border) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background: var(--hp-bright-green) !important;
    border-color: var(--hp-bright-green) !important;
    color: #fff !important;
    border-radius: 7px !important;
    min-height: 54px !important;
    font-weight: 700 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background: var(--hp-green) !important;
    border-color: var(--hp-green) !important;
    color: #fff !important;
}

@media (max-width: 700px) {
    body.woocommerce-checkout .wc-block-checkout {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__image {
        width: 54px !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__description {
        line-height: 1.35;
    }
}


/* =========================================================
   HP Customer Care - Legal Pages
   Terms & Conditions + Privacy Policy
   ========================================================= */

.hp-legal-page {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px 56px;
    color: #243b34;
    line-height: 1.7;
}

.hp-legal-page .hp-care-hero {
    text-align: center;
    padding: 54px 28px 42px;
    margin: 0 0 32px;
    background: #f4faf6;
    border: 1px solid #dcebe2;
    border-radius: 14px;
}

.hp-legal-page .hp-care-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #00875a;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hp-legal-page .hp-care-hero h1 {
    margin: 0 0 12px;
    color: #123d31;
    font-size: clamp(32px, 5vw, 46px);
    line-height: 1.12;
    font-weight: 750;
}

.hp-legal-page .hp-care-hero p {
    max-width: 650px;
    margin: 0 auto;
    color: #587068;
    font-size: 17px;
}

.hp-legal-intro {
    margin: 0 0 28px;
    padding: 24px 28px;
    background: #fff;
    border-left: 4px solid #00a86b;
    box-shadow: 0 4px 20px rgba(20, 60, 47, .06);
}

.hp-legal-intro p:last-child {
    margin-bottom: 0;
}

.hp-legal-section {
    margin: 0 0 18px;
    padding: 26px 30px;
    background: #fff;
    border: 1px solid #e1ebe5;
    border-radius: 10px;
}

.hp-legal-section h2 {
    margin: 0 0 12px;
    color: #123d31;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
}

.hp-legal-section p {
    margin: 0 0 12px;
}

.hp-legal-section p:last-child {
    margin-bottom: 0;
}

.hp-legal-page a {
    color: #007a53;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.hp-legal-page a:hover {
    color: #005f40;
}

.hp-legal-contact {
    margin: 34px 0 20px;
    padding: 34px 30px;
    text-align: center;
    background: #f4faf6;
    border: 1px solid #d7e9df;
    border-radius: 12px;
}

.hp-legal-contact h2 {
    margin: 4px 0 10px;
    color: #123d31;
    font-size: 26px;
}

.hp-legal-contact p {
    max-width: 620px;
    margin: 0 auto 20px;
    color: #587068;
}

.hp-legal-page .hp-care-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 22px;
    background: #00a86b;
    border-radius: 6px;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none;
}

.hp-legal-page .hp-care-button:hover {
    background: #007a53;
}

.hp-legal-updated {
    margin: 22px 0 0;
    text-align: center;
    color: #6d7e77;
    font-size: 13px;
}

@media (max-width: 700px) {
    .hp-legal-page {
        padding: 0 14px 38px;
    }

    .hp-legal-page .hp-care-hero {
        padding: 36px 18px 30px;
        margin-bottom: 22px;
        border-radius: 10px;
    }

    .hp-legal-page .hp-care-hero h1 {
        font-size: 32px;
    }

    .hp-legal-page .hp-care-hero p {
        font-size: 15px;
    }

    .hp-legal-intro {
        padding: 20px 18px;
        margin-bottom: 20px;
    }

    .hp-legal-section {
        padding: 21px 18px;
        margin-bottom: 14px;
    }

    .hp-legal-section h2 {
        font-size: 19px;
    }

    .hp-legal-contact {
        padding: 28px 18px;
    }

    .hp-legal-contact h2 {
        font-size: 23px;
    }

    .hp-legal-page .hp-care-button {
        width: 100%;
        box-sizing: border-box;
    }
}

.hp-category-nav .hp-desktop-nav > nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 2px;
}

.hp-category-nav .hp-desktop-nav > nav > .hp-nav-link,
.hp-category-nav .hp-desktop-nav > nav > .hp-menu-item {
    flex: 0 0 auto;
}

.hp-category-nav .hp-desktop-nav > nav > .hp-nav-link > a,
.hp-category-nav .hp-desktop-nav > nav > .hp-menu-item > a {
    padding-left: 9px;
    padding-right: 9px;
    white-space: nowrap;
}

.hp-category-nav .hp-desktop-nav .hp-menu-item--shop .hp-submenu {
    min-width: 260px;
}

@media (max-width: 1180px) {
    .hp-category-nav .hp-desktop-nav > nav > .hp-nav-link > a,
    .hp-category-nav .hp-desktop-nav > nav > .hp-menu-item > a {
        padding-left: 7px;
        padding-right: 7px;
        font-size: 14px;
    }
}

/* BHP Terms page blue accents */
.hp-legal-page .hp-care-eyebrow { color: #348AC7; }
.hp-legal-page .hp-care-hero h1,
.hp-legal-page .hp-legal-section h2,
.hp-legal-page .hp-legal-contact h2 { color: #245E91; }
.hp-legal-page .hp-care-button {
    background: #348AC7;
    color: #fff;
}
.hp-legal-page .hp-care-button:hover { background: #245E91; }

/* HP outer-shell top-gap safeguard */
html,
body {
    margin: 0;
    padding: 0 !important;
    background: #fff !important;
}



body > .wp-site-blocks > header.wp-block-template-part {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* HP_SEARCH_FOCUS_POLISH */
.hp-search input:focus,
.hp-search input:focus-visible {
    outline: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.hp-search:focus-within {
    border-color: #00a85a !important;
    box-shadow: 0 0 0 3px rgba(0, 168, 90, 0.14) !important;
}
/* END HP_SEARCH_FOCUS_POLISH */


/* HP_PRODUCT_CARD_ALIGNMENT_20261003
   Keep catalogue titles, prices and action buttons visually aligned. */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 4.2em;
}

/* HP_HOMEPAGE_CARD_ACTION_ALIGNMENT_20261003
   Keep homepage featured-product action areas aligned. */
.hp-product-card .hp-curated-actions {
    margin-top: auto;
}

/* HP_CURATED_CARD_EQUAL_HEIGHT_20261003
   Equal-height Featured for you cards using the actual rendered classes. */
.hp-curated-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.hp-curated-card .hp-curated-info {
    flex: 1;
}

/* HP_PRODUCT_PURCHASE_ROW_ALIGNMENT_20261003
   Keep quantity, Add to cart and Buy Now vertically aligned. */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form) {
    align-items:center;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .hp-buy-now {
    margin-top:0!important;
    margin-bottom:0!important;
    height:46px;
    min-height:46px;
    align-self:center;
}

.woocommerce div.product form.cart .quantity {
    margin-top:0!important;
    margin-bottom:0!important;
    align-self:center;
}
/* HP_ADD_TO_CART_TEXT_CENTER_20261003 */
.woocommerce div.product form.cart .single_add_to_cart_button {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1.2!important;
    padding-top:0!important;
    padding-bottom:0!important;
}
/* HP Checkout - Edit cart link */
.wp-block-woocommerce-checkout-order-summary-block .hp-edit-cart-link {
    display: block !important;
    width: fit-content;
    margin: 0 0 10px auto !important;
    padding: 5px 10px;
    border: 1px solid #d7e5dc;
    border-radius: 5px;
    background: #f7faf8;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    text-decoration: none;
}

.wp-block-woocommerce-checkout-order-summary-block .hp-edit-cart-link:hover {
    text-decoration: underline;
}

/* HP checkout: prevent admin toolbar overlapping checkout header */




/* HP local lab: currency selector and logged-in admin toolbar */
.hp-currency-selector {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 12px;
    font-size: 12px;
}
.hp-currency-selector select {
    padding: 6px;
    border: 1px solid #d4e5da;
    border-radius: 5px;
    background: #fff;
    color: #174d39;
}



/* HP_ADMIN_BAR_AND_CURRENCY_ALIGNMENT_FIX */

/* Keep the logged-in admin toolbar above the storefront,
   without adding extra spacing to the entire site. */




/* Align currency controls with Account and Cart. */
.hp-header__inner > * {
    margin-block: 0 !important;
}

.hp-header__inner .hp-currency-selector {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    margin: 0 14px !important;
    padding: 0 !important;
    height: auto;
    white-space: nowrap;
}

.hp-header__inner .hp-currency-selector label {
    font-size: 12px;
    line-height: 1.3;
    margin: 0;
}

.hp-header__inner .hp-currency-selector select {
    box-sizing: border-box;
    height: 34px;
    min-height: 34px;
    padding: 4px 8px;
    margin: 0;
    font-size: 12px;
    line-height: normal;
    vertical-align: middle;
}



/* HP top-bar repair: one admin toolbar offset */



.hp-curated-was{color:#42574b;font-size:14px;font-weight:500;line-height:1.45}.hp-curated-was small{font-size:12px}.hp-curated-special{color:#174e37;font-size:20px;font-weight:750;line-height:1.35}.hp-curated-special small{font-size:12px;font-weight:500}.hp-curated-price-block{gap:4px}

.hp-curated-special small{font-size:11px;white-space:nowrap}.hp-curated-was small{font-size:11px;white-space:nowrap}
/* BHP blue and white identity */
:root {
  --hp-green:#3289c8;
  --hp-dark:#174d78;
  --hp-ink:#253648;
  --hp-muted:#607487;
  --hp-cream:#f5f9fd;
  --hp-line:#dce8f2;
}
.hp-announcement {background:#3289c8}
.hp-category-nav {background:#f1f7fc}
.hp-hero {background:#f5f9fd}
.hp-products-section,.hp-journal {background:#f5f9fd}
.hp-footer {background:#f8fbff}

/* BHP_FOOTER_CONTRAST_20261010 */
.hp-footer {
    background: #f8fbff;
    color: #24394d;
    border-top: 1px solid #dbe6f0;
}
.hp-footer .hp-footer-grid h3 {
    color: #163b60;
}
.hp-footer .hp-footer-grid a,
.hp-footer .hp-footer-grid p {
    color: #30485e !important;
}
.hp-footer .hp-footer-grid a:hover {
    color: #0864a6 !important;
}
.hp-footer .hp-footer-bottom {
    color: #465d71;
    border-top-color: #d5e1eb;
}
/* BHP_PRODUCT_IMAGE_STOCK_FIX_20261010 */
.single-product .woocommerce-product-gallery img {width:100%!important;height:auto!important;max-height:520px!important;object-fit:contain!important;object-position:center!important;}
.single-product .summary p.stock.in-stock {display:none!important;}

/* BHP_GALLERY_THUMBNAILS_20261010 */
.single-product .woocommerce-product-gallery .flex-control-thumbs{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:12px 0 0!important;padding:0!important;list-style:none!important;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{float:none!important;width:58px!important;height:58px!important;flex:0 0 58px!important;margin:0!important;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img{display:block!important;width:100%!important;height:100%!important;max-height:58px!important;object-fit:contain!important;border:1px solid #dce5dc;border-radius:7px;}

/* BHP_BRAND_DIRECTORY_IMAGE_FIX_20261010 */
.bhp-brand-logo-grid > a {
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    box-sizing: border-box;
}
.bhp-brand-logo-grid > a > img {
    display: block;
    width: 100%;
    max-width: 160px;
    height: 125px;
    max-height: 125px;
    object-fit: contain;
    object-position: center;
    margin: 0 auto;
    flex: 0 0 125px;
}
.bhp-brand-logo-grid > a > strong,
.bhp-brand-logo-grid > a > span {
    text-align: center;
}
/* BHP JOURNAL ? READING AND ARTICLE CARD STYLES */
.hp-journal-page {
    padding-top: 32px;
    padding-bottom: 72px;
}
.hp-journal-page .hp-page-lede {
    margin-bottom: 38px;
}
.hp-journal-page .hp-page-lede h1 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.15;
    letter-spacing: -.025em;
}
.hp-journal-page .hp-page-lede p {
    font-size: 18px;
    line-height: 1.65;
}
.hp-post-query .wp-block-post-template {
    gap: 28px;
}
.hp-post-card {
    overflow: hidden;
    border: 1px solid #e4e9ee;
    border-radius: 14px;
    background: #fff;
    padding: 18px;
    box-shadow: 0 5px 20px rgba(0,0,0,.035);
}
.hp-post-card .wp-block-post-featured-image {
    margin: 0 0 18px;
}
.hp-post-card .wp-block-post-featured-image img {
    border-radius: 9px;
    object-fit: cover;
}
.hp-post-card .wp-block-post-date {
    font-size: 13px;
    color: #667785;
}
.hp-post-card .wp-block-post-title {
    font-size: clamp(20px, 2vw, 24px);
    line-height: 1.3;
    margin: 10px 0;
}
.hp-post-card .wp-block-post-title a {
    text-decoration: none;
}
.hp-post-card .wp-block-post-excerpt {
    font-size: 15px;
    line-height: 1.7;
}
.hp-article {
    max-width: 840px;
    padding-top: 38px;
    padding-bottom: 80px;
}
.hp-article > .wp-block-post-date {
    font-size: 14px;
    color: #667785;
    margin-bottom: 14px;
}
.hp-article > .wp-block-post-title {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.16;
    letter-spacing: -.025em;
    margin-bottom: 28px;
}
.hp-article > .wp-block-post-featured-image {
    margin-bottom: 36px;
}
.hp-article > .wp-block-post-featured-image img {
    border-radius: 12px;
}
.hp-article .wp-block-post-content {
    font-size: 18px;
    line-height: 1.85;
    overflow-wrap: anywhere;
}
.hp-article .wp-block-post-content p {
    margin-bottom: 1.3em;
}
.hp-article .wp-block-post-content h2 {
    font-size: clamp(25px, 3vw, 32px);
    line-height: 1.3;
    margin-top: 1.8em;
    margin-bottom: .7em;
}
.hp-article .wp-block-post-content h3 {
    font-size: 23px;
    line-height: 1.35;
    margin-top: 1.5em;
}
.hp-article .wp-block-post-content li {
    margin-bottom: .55em;
}
.hp-article .wp-block-post-content a {
    text-decoration: underline;
    text-underline-offset: 3px;
}
@media (max-width: 700px) {
    .hp-journal-page {
        padding-top: 22px;
    }
    .hp-post-query .wp-block-post-template {
        grid-template-columns: 1fr;
    }
    .hp-article {
        padding-top: 24px;
    }
    .hp-article .wp-block-post-content {
        font-size: 17px;
        line-height: 1.75;
    }
}

/* BHP JOURNAL VISUAL POLISH 20261010 */
.hp-post-card {
    transition: transform .2s ease, box-shadow .2s ease;
}
.hp-post-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 55, 105, .10);
}
.hp-post-card .wp-block-post-featured-image {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: 10px;
    background: #f5f8fa;
}
.hp-post-card .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.hp-post-card .wp-block-post-title {
    font-weight: 650;
}
.hp-post-card .wp-block-post-excerpt__more-link {
    display: inline-block;
    margin-top: 12px;
    padding: 10px 17px;
    background: #07518b;
    color: #fff;
    border-radius: 7px;
    font-weight: 600;
    text-decoration: none;
}
.hp-post-card .wp-block-post-excerpt__more-link:hover {
    background: #063b66;
    color: #fff;
}
.hp-article .wp-block-post-content h2 {
    font-size: clamp(27px, 3vw, 34px);
    font-weight: 700;
    color: #073e70;
    line-height: 1.3;
}
.hp-article .wp-block-post-content h3 {
    font-size: clamp(21px, 2.5vw, 25px);
    font-weight: 650;
    color: #124f80;
}
.hp-article .wp-block-post-content h2,
.hp-article .wp-block-post-content h3 {
    scroll-margin-top: 110px;
}
.hp-article .wp-block-post-featured-image img {
    max-height: 460px;
    object-fit: contain;
    background: #f6f9fb;
}
@media (prefers-reduced-motion: reduce) {
    .hp-post-card { transition: none; }
}

/* BHP JOURNAL FULL IMAGE DISPLAY 20261010 */
.hp-journal-page .hp-post-card .wp-block-post-featured-image {
    width: 100%;
    height: 200px;
    aspect-ratio: auto !important;
    overflow: hidden;
    background: #f5f8fa;
}
.hp-journal-page .hp-post-card .wp-block-post-featured-image a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
.hp-journal-page .hp-post-card .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* BHP CONTACT PAGE ? LOCAL STORE IDENTITY */
.bhp-contact-page{max-width:1120px;margin:0 auto;padding:42px 24px 76px;color:#153c59}
.bhp-contact-page *{box-sizing:border-box}
.bhp-contact-hero{position:relative;overflow:hidden;padding:clamp(30px,5vw,62px);border-radius:18px;background:linear-gradient(120deg,#edf5fc 0%,#f4f9f4 100%);border:1px solid #d9e7f2}
.bhp-contact-eyebrow,.bhp-contact-label{margin:0 0 12px;color:#24824c;font-size:12px;font-weight:750;letter-spacing:1.35px}
.bhp-contact-hero h1{max-width:680px;margin:0 0 16px;color:#124d80;font-size:clamp(34px,5vw,52px);line-height:1.12;letter-spacing:-1.5px}
.bhp-contact-hero>p:not(.bhp-contact-eyebrow){max-width:620px;margin:0 0 24px;color:#526a7d;font-size:17px;line-height:1.75}
.bhp-contact-primary{display:inline-flex;gap:12px;align-items:center;padding:13px 20px;border-radius:7px;background:#1768a5;color:#fff!important;font-weight:700;text-decoration:none!important}
.bhp-contact-primary:hover{background:#105385}
.bhp-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.bhp-contact-card{min-width:0;padding:26px 24px;border:1px solid #dce6ec;border-top:4px solid #3d9b64;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(25,60,85,.045)}
.bhp-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:18px;border-radius:50%;background:#eaf3fb;color:#1768a5;font-size:24px}
.bhp-contact-card .bhp-contact-label{margin-bottom:9px;font-size:11px}
.bhp-contact-card h2,.bhp-contact-hours h2,.bhp-contact-bottom h2{margin:0 0 12px;color:#164f7c;font-size:22px;line-height:1.3}
.bhp-contact-card>p:not(.bhp-contact-label){color:#586d7d;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
.bhp-contact-card a,.bhp-contact-bottom>a{display:inline-block;margin-top:8px;color:#1768a5;font-weight:750;text-decoration:none}
.bhp-contact-card a:hover,.bhp-contact-bottom>a:hover{text-decoration:underline}
.bhp-contact-hours{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;margin-top:24px;padding:32px;border-radius:12px;background:#f4f8fb}
.bhp-contact-hours>div:first-child>p:last-child,.bhp-contact-bottom>p:not(.bhp-contact-eyebrow){color:#586d7d;line-height:1.75}
.bhp-hours-list p{display:flex;justify-content:space-between;gap:14px;padding:12px 0;margin:0;border-bottom:1px solid #dbe5eb;font-size:14px}
.bhp-hours-list p:last-child{border-bottom:0}
.bhp-hours-list span{color:#536b7d}
.bhp-hours-list strong{color:#174d72;text-align:right}
.bhp-contact-bottom{margin-top:24px;padding:32px;border:1px solid #dce6ec;border-radius:12px;text-align:center}
.bhp-contact-bottom h2{font-size:28px}
.bhp-contact-bottom>p:not(.bhp-contact-eyebrow){margin:0 auto;max-width:620px}
@media(max-width:760px){.bhp-contact-page{padding:24px 16px 48px}.bhp-contact-cards{grid-template-columns:1fr;gap:12px}.bhp-contact-card{padding:22px}.bhp-contact-hours{grid-template-columns:1fr;gap:12px;padding:24px}.bhp-contact-hero{padding:30px 24px}.bhp-hours-list p{font-size:13px}}

/* BHP CATEGORY CARD LAYOUT FIX 20261012 */
.hp-category-grid.bhp-image-category-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.hp-category-grid.bhp-image-category-grid > .hp-category-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 12px !important;
    border: 1px solid #d8e7dc !important;
    border-radius: 12px !important;
    background: #fff !important;
    text-align: left !important;
    text-decoration: none !important;
}
.bhp-image-category-grid .bhp-category-image {
    display: flex !important;
    flex: 0 0 88px !important;
    width: 88px !important;
    height: 88px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #f6f8f6 !important;
    border-radius: 9px !important;
    overflow: hidden !important;
}
.bhp-image-category-grid .bhp-category-image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}
.bhp-image-category-grid .bhp-category-copy {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    text-align: left !important;
}
.bhp-image-category-grid .bhp-category-copy strong {
    display: block !important;
    width: auto !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    overflow-wrap: normal !important;
}
.bhp-image-category-grid .bhp-category-copy small {
    display: block !important;
    width: auto !important;
    color: #007e55 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    white-space: normal !important;
}
@media (max-width: 850px) {
    .hp-category-grid.bhp-image-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 550px) {
    .hp-category-grid.bhp-image-category-grid {
        grid-template-columns: 1fr !important;
    }
}

/* HP_BHP_BRAND_GRID_4X2_20261012 */
.hp-brand-links {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.hp-brand-links > a {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
@media (max-width: 850px) {
    .hp-brand-links {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 420px) {
    .hp-brand-links {
        gap: 8px !important;
    }
    .hp-brand-links > a {
        padding: 12px 8px;
        font-size: 13px;
    }
}


/* BHP_ABOUT_BLUE_READABILITY_20261012 */
.hp-purpose-bhp .hp-purpose-card {
    background: #0879c9 !important;
    color: #ffffff !important;
}
.hp-purpose-bhp .hp-purpose-card strong,
.hp-purpose-bhp .hp-purpose-card .hp-kicker,
.hp-purpose-bhp .hp-purpose-card .hp-purpose-signature {
    color: #ffffff !important;
}
.hp-purpose-bhp .hp-purpose-layout > div:last-child p {
    color: #334155 !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
}
.hp-purpose-bhp .hp-purpose-layout > div:last-child h2 {
    color: #07518b !important;
}


/* JOURNAL_LAYOUT_REFINEMENT_20261012 */
.hp-journal-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)) !important;
    gap: 20px !important;
}
.hp-journal-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
    padding: 26px !important;
}
.hp-journal-card strong {
    line-height: 1.4 !important;
    font-size: clamp(18px, 1.5vw, 21px) !important;
}
.hp-journal-card small {
    margin-top: auto !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
.hp-journal .hp-section-head > a {
    font-weight: 600 !important;
    text-decoration: none;
}
@media (max-width: 650px) {
    .hp-journal-grid {
        grid-template-columns: 1fr !important;
    }
}


/* BHP_SINGLE_ARTICLE_IMAGE_FIX_20261012 */
.hp-article > .wp-block-post-featured-image {
    width: 100%;
    margin: 20px auto 30px;
}
.hp-article > .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 420px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 12px;
}

/* HEALTH_GOALS_SITE_IDENTITY_20261012 */
.hp-concerns .hp-section-heading h2 {
    color: #07518b !important;
}
.hp-concerns .hp-section-heading p {
    color: #334155 !important;
    font-size: 17px !important;
}
.hp-concerns .hp-concern-card {
    background: #eef7ff !important;
    border: 1px solid #cfe4f6 !important;
    border-radius: 16px !important;
}
.hp-concerns .hp-concern-card:nth-child(even) {
    background: #f8fbff !important;
}
.hp-concerns .hp-concern-name {
    color: #07518b !important;
}
.hp-concerns .hp-concern-action {
    color: #0879c9 !important;
}
.hp-concerns .hp-concern-symbol {
    color: #0879c9 !important;
}

/* BHP_HEALTH_GOAL_LABEL_BLUE_20261012 */
.hp-concerns .hp-section-heading .hp-eyebrow {
    color: #0879c9 !important;
}


/* BHP_FEATURED_COLLECTION_IDENTITY_20261012 */
.hp-featured .hp-section-heading h2 {
    color: #07518b !important;
}
.hp-featured .hp-eyebrow {
    color: #0879c9 !important;
}
.hp-featured .hp-featured-card {
    background: #edf7ff !important;
    border: 1px solid #d0e5f7 !important;
}
.hp-featured .hp-featured-card:nth-child(2) {
    background: #f4f9ff !important;
}
.hp-featured .hp-featured-card h3 {
    color: #07518b !important;
}
.hp-featured .hp-featured-card p {
    color: #334155 !important;
}
.hp-featured .hp-featured-action {
    color: #0879c9 !important;
}


/* BHP_TRUST_STRIP_BLUE_20261012 */
.hp-trust-section {
    background: #eaf5ff !important;
    border-top: 1px solid #d0e5f7;
    border-bottom: 1px solid #d0e5f7;
}
.hp-trust-section .hp-trust-grid strong {
    color: #07518b !important;
    font-weight: 700 !important;
}
.hp-trust-section .hp-trust-grid span {
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}


/* ACCOUNT_LOGIN_LAYOUT_20261012 */
body.woocommerce-account:not(.logged-in) .woocommerce {
    max-width: 620px;
    margin: 0 auto;
}
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .col-2 {
    width: 100%;
    max-width: 100%;
    float: none;
    margin: 0 auto;
}
body.woocommerce-account:not(.logged-in) .woocommerce h2 {
    text-align: center;
    color: #245E91;
    margin-bottom: 22px;
}
body.woocommerce-account:not(.logged-in) .woocommerce form.login {
    box-sizing: border-box;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 30px;
    border: 1px solid #D6E8F7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36,94,145,.07);
}
body.woocommerce-account:not(.logged-in) .woocommerce form.login input.input-text {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}
body.woocommerce-account:not(.logged-in) .woocommerce form.login button.button {
    background: #348AC7;
    color: #fff;
    border-radius: 7px;
    padding: 12px 24px;
}
body.woocommerce-account .hp-account-hero .hp-eyebrow {
    color: #348AC7;
}
body.woocommerce-account .hp-account-hero h1 {
    color: #245E91;
}
body.woocommerce-account .hp-account-hero p {
    color: #60758A;
}
@media (max-width: 600px) {
    body.woocommerce-account:not(.logged-in) .woocommerce form.login {
        padding: 22px;
    }
}


/* ACCOUNT_LOGIN_WIDTH_FIX_20261012 */
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce {
    width: 100% !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce #customer_login,
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce #customer_login .col-1,
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce #customer_login .col-2 {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce form.login {
    display: block !important;
    width: 100% !important;
    max-width: 520px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
    padding: 36px 42px !important;
}
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce form.login .form-row,
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce form.login .form-row-wide {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}
body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce form.login input.input-text {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px;
}
@media (max-width: 600px) {
    body.woocommerce-account:not(.logged-in) main.hp-page .woocommerce form.login {
        padding: 26px 22px !important;
    }
}

/* ACCOUNT_GUEST_GRID_FIX_20261012 */
/* Single centred column for guests; retain sidebar for signed-in customers. */
body.woocommerce-account:not(.logged-in) .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    width: 100% !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 520px !important;
    min-width: 0 !important;
    justify-self: center !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce form.login {
    width: 100% !important;
    max-width: 520px !important;
    box-sizing: border-box !important;
}

/* BHP_TERMS_FINAL_BLUE_20261013 */
/* Scoped exclusively to BHP Terms & Conditions. */
.hp-legal-page .hp-care-hero {
    background: #F3F9FF !important;
    border-color: #D6E8F7 !important;
}
.hp-legal-page .hp-legal-intro {
    border-left-color: #348AC7 !important;
    background: #F3F9FF !important;
}
.hp-legal-page .hp-legal-section {
    border-color: #D6E8F7 !important;
}
.hp-legal-page a:not(.hp-care-button) {
    color: #245E91 !important;
    text-decoration-color: #348AC7 !important;
}
.hp-legal-page a:not(.hp-care-button):hover {
    color: #348AC7 !important;
}
.hp-legal-page .hp-legal-contact {
    background: #F3F9FF !important;
    border-color: #D6E8F7 !important;
}

/* BHP_PRIVACY_BLUE_20261013 */
/* BHP Privacy Policy only ? page ID 3 */
body.page-id-3 main.hp-page {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

body.page-id-3 main.hp-page .wp-block-post-content {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    color: #234766;
    line-height: 1.75;
}

body.page-id-3 main.hp-page .wp-block-post-content > p:first-child {
    color: #60758A;
    font-size: 14px;
    font-weight: 600;
}

body.page-id-3 main.hp-page .wp-block-post-content > p:nth-child(2) {
    padding: 25px 28px;
    background: #F3F9FF;
    border-left: 4px solid #348AC7;
    border-radius: 0 10px 10px 0;
    color: #234766;
}

body.page-id-3 main.hp-page .wp-block-post-content h2 {
    color: #245E91;
    font-size: clamp(21px, 2.5vw, 27px);
    line-height: 1.35;
    margin-top: 32px;
    margin-bottom: 14px;
}

body.page-id-3 main.hp-page .wp-block-post-content p,
body.page-id-3 main.hp-page .wp-block-post-content li {
    line-height: 1.75;
}

body.page-id-3 main.hp-page .wp-block-post-content a {
    color: #245E91;
    text-decoration-color: #348AC7;
}

body.page-id-3 main.hp-page .wp-block-post-content a:hover {
    color: #348AC7;
}

body.page-id-3 main.hp-page .wp-block-post-content ul {
    padding-left: 28px;
    border-left: 3px solid #D6E8F7;
}

body.page-id-3 main.hp-page .wp-block-post-title {
    color: #245E91;
    text-align: center;
    margin-bottom: 30px;
}

@media (max-width: 760px) {
    body.page-id-3 main.hp-page .wp-block-post-content > p:nth-child(2) {
        padding: 20px;
    }
}body.woocommerce-cart .wc-block-cart__submit-button { background: #1463b8 !important; color: white !important; } body.woocommerce-cart .wc-block-cart__submit-button:hover { background: #104d91 !important; }
body.woocommerce-checkout .wc-block-checkout__actions_row button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button {
    background-color: #1463b8 !important;
    color: #ffffff !important;
    border-color: #1463b8 !important;
}
body.woocommerce-checkout .wc-block-checkout__actions_row button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background-color: #104d91 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.woocommerce-checkout .wc-block-components-order-summary__edit-link,
body.woocommerce-checkout a[href*="/cart/"] {
    color: #1463b8 !important;
}
/* BHP mobile checkout - local lab only */
@media (max-width: 600px) {
  body.woocommerce-checkout main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px !important;
  }
  body.woocommerce-checkout main h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .wc-block-checkout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.woocommerce-checkout main p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}
