/* Health&Tea Product V1. Every rule is restricted to opted-in single product pages. */
body.htpp-global .woocommerce-product-gallery .zoomImg { display:none!important; }
body.htpp-global .htpp-certification { margin:12px 0 16px; }
body.htpp-global .htpp-certification img { width:64px!important; height:64px!important; object-fit:contain; display:block; }
body.htpp-v1 #kadence-breadcrumbs, body.htpp-v1 .woocommerce-breadcrumb { display:none!important; }
body.htpp-v1 .htpp-breadcrumb { font-size:13px; line-height:1.6; margin:0 0 20px; }
body.htpp-global .woocommerce-tabs ul.tabs li { background:#fffefb!important; border:1px solid #617a45!important; }
body.htpp-global .woocommerce-tabs ul.tabs li a,
body.htpp-global .woocommerce-tabs ul.tabs li a:visited { color:#17392a!important; opacity:1!important; }
body.htpp-global .woocommerce-tabs ul.tabs li.active { background:#17392a!important; }
body.htpp-global .woocommerce-tabs ul.tabs li.active a,
body.htpp-global .woocommerce-tabs ul.tabs li.active a:visited { color:#fff!important; }
body.htpp-global .woocommerce-tabs ul.tabs li:not(.active):hover { background:#e8eedb!important; }
body.htpp-global .woocommerce-tabs ul.tabs li a:focus-visible { outline:2px solid #617a45; outline-offset:4px; }
body.htpp-v1 { --htpp-ink:#17392a; --htpp-muted:#687169; --htpp-cream:#f5f0e6; --htpp-paper:#fffefb; --htpp-line:#dce3d8; }
body.htpp-v1 #primary { margin-top:30px; }
body.htpp-v1 .content-container { max-width:1240px; }
body.htpp-v1 .htpp-product-top { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:clamp(28px,5vw,72px); align-items:start; margin:22px 0 55px; }
body.htpp-v1 .htpp-product-top > .woocommerce-product-gallery,
body.htpp-v1 .htpp-product-top > .summary { float:none!important; width:100%!important; min-width:0; margin:0!important; }
body.htpp-v1 .htpp-product-top > .onsale { position:absolute; z-index:3; left:16px; top:16px; }
body.htpp-v1 .woocommerce-product-gallery__wrapper { margin:0; border-radius:20px; overflow:hidden; background:var(--htpp-cream); }
body.htpp-v1 .woocommerce-product-gallery__image img { object-fit:contain; }
body.htpp-v1 .flex-control-thumbs { display:flex; gap:10px; margin-top:12px!important; }
body.htpp-v1 .flex-control-thumbs li { width:70px!important; flex:0 0 70px; border:1px solid var(--htpp-line); border-radius:10px; overflow:hidden; }
body.htpp-v1 .htpp-eyebrow { margin:0 0 12px; color:#617a45; font-size:12px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
body.htpp-v1 .summary .product_title { color:var(--htpp-ink); font-family:Georgia,serif; font-size:clamp(34px,3.7vw,48px); font-weight:500; line-height:1.1; margin:0 0 14px; letter-spacing:-.025em; }
body.htpp-v1 .htpp-tagline { color:var(--htpp-muted); font-size:18px; line-height:1.5; margin:0 0 18px; }
body.htpp-v1 .summary .price { color:var(--htpp-ink); font-size:27px; font-weight:650; margin:14px 0 20px; }
body.htpp-v1 .summary .woocommerce-product-details__short-description { margin:18px 0 22px; font-size:16px; line-height:1.5; color:var(--htpp-muted); }
body.htpp-v1 .summary .woocommerce-product-details__short-description table { width:100%; border:0; border-collapse:collapse; margin:0 0 16px; }
body.htpp-v1 .summary .woocommerce-product-details__short-description tr { border-bottom:1px solid var(--htpp-line); }
body.htpp-v1 .summary .woocommerce-product-details__short-description th,
body.htpp-v1 .summary .woocommerce-product-details__short-description td { border:0; padding:9px 0; vertical-align:top; background:transparent; }
body.htpp-v1 .summary .woocommerce-product-details__short-description td:first-child { width:28%; padding-right:14px; color:var(--htpp-ink); font-weight:650; }
body.htpp-v1 .summary .stock { color:#617a45; font-size:14px; margin:12px 0; }
body.htpp-v1 .summary form.cart { margin:15px 0 12px; }
body.htpp-v1 .summary form.cart:not(.variations_form):not(.grouped_form) { display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; }
body.htpp-v1 .quantity input.qty { min-height:50px; width:74px; border:1px solid var(--htpp-line); border-radius:10px; }
body.htpp-v1 .single_add_to_cart_button.button { min-height:50px; flex:1; padding:14px 24px; border-radius:999px; border:0; background:var(--htpp-ink); color:white; font-size:16px; font-weight:700; line-height:1.3; }
body.htpp-v1 .single_add_to_cart_button.button:hover { background:#426044; }
body.htpp-v1 .summary .variations { width:100%; }
body.htpp-v1 .summary .variations select { min-height:46px; border-radius:8px; max-width:100%; }
body.htpp-v1 .summary .woocommerce-variation-add-to-cart { display:flex; gap:12px; flex-wrap:wrap; }
body.htpp-v1 .htpp-shipping { font-size:12px; color:var(--htpp-muted); margin:12px 0 18px; }
body.htpp-v1 .product_meta { font-size:12px; line-height:1.6; color:var(--htpp-muted); }
body.htpp-v1 .woocommerce-tabs { clear:both; border-top:1px solid var(--htpp-line); padding-top:25px; margin:0 0 55px; }
body.htpp-v1 .woocommerce-tabs ul.tabs { display:flex; gap:12px; flex-wrap:wrap; padding:0!important; border:0; }
body.htpp-v1 .woocommerce-tabs ul.tabs::before,
body.htpp-v1 .woocommerce-tabs ul.tabs li::before,
body.htpp-v1 .woocommerce-tabs ul.tabs li::after { display:none!important; }
body.htpp-v1 .woocommerce-tabs ul.tabs li { border:1px solid var(--htpp-line)!important; border-radius:999px!important; padding:0 20px!important; margin:0!important; background:var(--htpp-paper)!important; }
body.htpp-v1 .woocommerce-tabs ul.tabs li a { color:var(--htpp-ink); font-size:15px; padding:10px 0; }
body.htpp-v1 .woocommerce-tabs ul.tabs li.active { background:var(--htpp-ink)!important; }
body.htpp-v1 .woocommerce-tabs ul.tabs li.active a { color:white; }
body.htpp-v1 .woocommerce-tabs .panel { color:var(--htpp-muted); font-size:17px; line-height:1.7; max-width:100%; }
body.htpp-v1 .woocommerce-tabs h2,
body.htpp-v1 .related > h2,
body.htpp-v1 .up-sells > h2 { font-family:Georgia,serif; color:var(--htpp-ink); font-weight:500; font-size:32px; }
body.htpp-v1 .woocommerce-tabs .panel table { width:100%; }
body.htpp-v1 .related ul.products li.product,
body.htpp-v1 .up-sells ul.products li.product { border:1px solid var(--htpp-line); border-radius:15px; overflow:hidden; padding:14px; background:var(--htpp-paper); }
body.htpp-v1 .related .button,
body.htpp-v1 .up-sells .button { border-radius:999px; background:var(--htpp-ink); color:white; font-size:12px; padding:10px 18px; }
@media(max-width:767px) {
 body.htpp-v1 #primary { margin-top:12px; }
 body.htpp-v1 .htpp-product-top { grid-template-columns:1fr; gap:24px; margin:18px 0 36px; }
 body.htpp-v1 .summary .product_title { font-size:36px; }
 body.htpp-v1 .woocommerce-tabs { margin-bottom:36px; }
 body.htpp-v1 .woocommerce-tabs .panel { font-size:16px; }
 body.htpp-v1 .woocommerce-tabs .panel table { display:block; overflow-x:auto; }
 body.htpp-v1 .summary .woocommerce-product-details__short-description td:first-child { width:30%; }
}
/* V2: product reviews remain private to the moderation workflow. */
body.htpp-v1 .summary .woocommerce-product-rating,
body.htpp-v1 .related .star-rating,
body.htpp-v1 .up-sells .star-rating { display:none!important; }
body.htpp-v1 .htpp-category { display:inline-block; font-size:12px; margin-bottom:15px; color:#617a45; text-decoration:none; }
body.htpp-v1 .htpp-feedback { margin:25px 0 40px; padding:20px 24px; border:1px solid var(--htpp-line); border-radius:14px; }
body.htpp-v1 .htpp-feedback summary { cursor:pointer; font-size:17px; font-weight:650; }
body.htpp-v1 .htpp-feedback label { display:block; margin-bottom:6px; }
body.htpp-v1 .htpp-feedback input:not([type=checkbox]):not([type=submit]),
body.htpp-v1 .htpp-feedback textarea { width:100%; max-width:600px; border:1px solid var(--htpp-line); border-radius:8px; padding:10px; }
body.htpp-v1 .htpp-feedback select { min-height:40px; }
body.htpp-v1 .htpp-feedback p { font-size:14px; color:var(--htpp-muted); }
body.htpp-v1 .htpp-feedback input[type=submit] { border:0; border-radius:999px; background:var(--htpp-ink); color:white; padding:12px 24px; }
body.htpp-v1 .woocommerce-tabs .panel img { max-width:100%; height:auto; }

/* V3: compact preview layout and stronger scoped overrides for Kadence. */
body.htpp-v1 .content-container { max-width:1190px; }
body.htpp-v1 .htpp-product-top { gap:clamp(28px,4vw,64px); }
body.htpp-v1 .htpp-product-top .summary .price { margin:10px 0 3px!important; font-size:27px!important; }
body.htpp-v1 .htpp-product-top .summary .woocommerce-product-details__short-description { margin:0 0 14px!important; }
body.htpp-v1 .htpp-category { margin-bottom:8px; }
body.htpp-v1 .htpp-weight { font-size:12px; margin:0 0 18px; }
body.htpp-v1 .htpp-profile { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; background:var(--htpp-cream); border-radius:12px; padding:14px; margin:0 0 18px; }
body.htpp-v1 .htpp-profile span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
body.htpp-v1 .htpp-profile strong { display:block; font-size:13px; color:var(--htpp-ink); }
body.htpp-v1 .htpp-ingredients,body.htpp-v1 .htpp-values { font-size:13px; margin:0 0 14px; }
body.htpp-v1 .htpp-story { display:grid; grid-template-columns:1.5fr 1fr; gap:50px; }
body.htpp-v1 .htpp-story aside { background:var(--htpp-cream); padding:25px; border-radius:14px; }
body.htpp-v1 .htpp-facts { display:grid; grid-template-columns:1fr 1fr; gap:10px; font-size:13px; margin:0; }
body.htpp-v1 .htpp-facts dd { margin:0; }
body.htpp-v1 .summary .woocommerce-product-details__short-description table th,
body.htpp-v1 .summary .woocommerce-product-details__short-description table td { border:0!important; background:transparent!important; padding:9px 0!important; }
@media(max-width:767px) { body.htpp-v1 .htpp-story { grid-template-columns:1fr; gap:20px; } }

body.htpp-global .htpp-final-cta {
    position: relative;
    width: 100%;
    padding: 32px 0;
    overflow: hidden;
    background: #17392a;
}

body.htpp-global .htpp-final-cta::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    top: -250px;
    right: -150px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .035);
}

body.htpp-global .htpp-final-cta::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    bottom: -240px;
    left: -100px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .03);
}

body.htpp-global .htpp-final-inner {
    position: relative;
    z-index: 2;
    max-width: 1080px;
    text-align: center;
}

body.htpp-global .htpp-final-eyebrow {
    margin-bottom: 8px;
    color: #cdd9b8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

body.htpp-global .htpp-final-inner h2 {
    margin: 0 auto 10px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 4.4vw, 60px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.035em;
    white-space: nowrap;
}

body.htpp-global .htpp-final-inner p {
    max-width: 680px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
    line-height: 1.55;
}

body.htpp-global .htpp-final-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 16px;
}

body.htpp-global .htpp-final-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 24px;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: all .2s ease;
}

body.htpp-global .htpp-final-button-light {
    background: #ffffff;
    color: #17392a !important;
}

body.htpp-global .htpp-final-button-light:hover {
    background: #e8eedb;
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    body.htpp-global .htpp-final-cta {
        padding: 28px 0;
    }

    body.htpp-global .htpp-final-inner h2 {
        font-size: clamp(34px, 10vw, 46px);
        white-space: normal;
    }

    body.htpp-global .htpp-final-actions {
        flex-direction: column;
    }

    body.htpp-global .htpp-final-button {
        width: 100%;
    }

}


body.htpp-global .htpp-final-cta { margin:45px 0 0; }
body.htpp-global .htpp-final-inner { width:calc(100% - 40px); margin:0 auto; }
body.htpp-global .htpp-final-inner h2 { white-space:normal; }

body.htpp-global .woocommerce-tabs ul.tabs li:not(.active) a { color:#17392a!important; }

/* V5: certification beside the ingredients/non-GMO area, before purchasing. */
body.htpp-global .htpp-certification { display:flex; align-items:center; gap:14px; margin:8px 0 20px; }
body.htpp-global .htpp-certification span { color:#687169; font-size:13px; line-height:1.5; }

/* V6: separated compact related-product cards on desktop and mobile. */
body.htpp-v1 .related { clear:both; margin:32px 0; }
body.htpp-v1 .related ul.products {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px!important;
    max-width:1000px;
    margin:0!important;
    padding:0!important;
}
body.htpp-v1 .related ul.products::before,
body.htpp-v1 .related ul.products::after { display:none!important; }
body.htpp-v1 .related ul.products li.product {
    float:none!important;
    width:auto!important;
    min-width:0;
    margin:0!important;
    padding:12px!important;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    border:1px solid #dce3d8;
    border-radius:12px;
    background:#fffefb;
}
body.htpp-v1 .related ul.products li.product img {
    width:100%!important;
    height:150px!important;
    object-fit:contain!important;
    margin:0 0 10px!important;
}
body.htpp-v1 .related ul.products li.product .woocommerce-loop-product__title,
body.htpp-v1 .related ul.products li.product h2 {
    font-size:16px!important;
    line-height:1.3!important;
    padding:0!important;
    margin:0 0 8px!important;
    overflow-wrap:anywhere;
}
body.htpp-v1 .related ul.products li.product .price { font-size:15px!important; margin:0 0 10px!important; }
body.htpp-v1 .related ul.products li.product .product-action-wrap { margin-top:auto; }
body.htpp-v1 .related ul.products li.product .button {
    font-size:12px!important;
    line-height:1.3!important;
    padding:9px 12px!important;
    min-height:36px;
    white-space:normal;
    text-align:center;
}
@media(max-width:767px) {
    body.htpp-v1 .related ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px!important; }
    body.htpp-v1 .related ul.products li.product { padding:10px!important; }
    body.htpp-v1 .related ul.products li.product img { height:115px!important; }
    body.htpp-v1 .related ul.products li.product .woocommerce-loop-product__title,
    body.htpp-v1 .related ul.products li.product h2 { font-size:14px!important; }
    body.htpp-v1 .related ul.products li.product .price { font-size:14px!important; }
    body.htpp-v1 .related ul.products li.product .button { width:100%; font-size:11px!important; padding:9px 6px!important; }
}

/* V10: Protein Matcha preparation and nutrition; scoped to the two product pages. */
body.htpp-protein .htpp-protein-prep { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 22px; }
body.htpp-protein .htpp-protein-prep > div { padding:20px; border:1px solid var(--htpp-line); border-radius:14px; background:var(--htpp-cream); }
body.htpp-protein .htpp-protein-prep h3 { color:var(--htpp-ink); font-size:22px; margin:0 0 10px; }
body.htpp-protein .htpp-protein-prep p { font-size:15px; line-height:1.6; margin:0; }
body.htpp-protein .htpp-protein-nutrition { border-top:1px solid var(--htpp-line); margin-top:30px; padding-top:24px; }
body.htpp-protein .htpp-nutrition-label { display:block; width:auto; max-width:min(100%,520px); height:auto; margin:16px 0; }
body.htpp-protein .htpp-facts { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); overflow-wrap:anywhere; }
@media(max-width:767px) { body.htpp-protein .htpp-protein-prep { grid-template-columns:1fr; gap:12px; } }

/* V12: protein benefit below the gallery; prominent shipping on all products. */
body.htpp-protein .htpp-gallery-column { min-width:0; }
body.htpp-protein .htpp-gallery-column > .woocommerce-product-gallery { float:none!important; width:100%!important; margin:0!important; }
body.htpp-protein .htpp-protein-benefit { clear:both; margin:20px 0 0; padding:22px 16px; border-radius:14px; background:var(--htpp-cream); color:var(--htpp-ink); text-align:center; }
body.htpp-protein .htpp-protein-benefit p { margin:0 0 5px; font-size:clamp(21px,2.3vw,29px); line-height:1.35; }
body.htpp-protein .htpp-protein-benefit strong { font-weight:750; display:inline-block; }
body.htpp-protein .htpp-per-serving { display:block; font-size:14px; line-height:1.5; color:var(--htpp-muted); }
body.htpp-global .summary .htpp-shipping { font-size:16px!important; font-weight:600; line-height:1.6; color:#17392a; margin:14px 0 18px; }
@media(max-width:767px) {
 body.htpp-protein .htpp-protein-benefit { margin-top:16px; padding:18px 12px; }
 body.htpp-protein .htpp-protein-benefit p { font-size:22px; }
 body.htpp-global .summary .htpp-shipping { font-size:15px!important; }
}

/* V13: allow longer source taste descriptions to wrap comfortably. */
body.htpp-matcha .htpp-profile strong { overflow-wrap: anywhere; line-height: 1.45; }
body.htpp-matcha .htpp-profile > div { min-width: 0; }
@media (max-width: 600px) {
    body.htpp-matcha .htpp-profile { grid-template-columns: 1fr 1fr; }
    body.htpp-matcha .htpp-profile > div:first-child { grid-column: 1 / -1; }
}

/* October 2026: keep each product's protein/calorie message on one line. */
body.htpp-protein .htpp-protein-benefit p {
    white-space: nowrap;
    font-size: clamp(13px, 3.5vw, 24px);
    letter-spacing: -.025em;
}
body.htpp-global .summary .htpp-shipping strong { font-weight: 800; }
body.htpp-global .summary .htpp-shipping span { font-weight: 500; }
