/* Only FAQ, My Account, Privacy Policy and Contact Us. */
body.htsp-page { --htsp-green:#284f39; --htsp-dark:#20392b; --htsp-cream:#f5f6ed; --htsp-line:#dce4d8; color:var(--htsp-dark); background:#fbfcf8; }
body.htsp-page .entry-hero, body.htsp-page .entry-hero .entry-hero-container-inner { background:var(--htsp-cream); }
body.htsp-page .entry-hero .entry-header { padding:44px 20px; text-align:center; }
body.htsp-page .entry-title { color:var(--htsp-dark); font-size:clamp(32px,4vw,48px); line-height:1.15; font-weight:700; }
body.htsp-page .htsp-intro { max-width:640px; margin:16px auto 0; font-size:17px; line-height:1.6; color:#4a5c4d; }
body.htsp-page .content-container { max-width:1100px; }
body.htsp-page .content-area { margin-top:36px; margin-bottom:50px; }
body.htsp-page .entry-content-wrap { padding:clamp(22px,4vw,46px); background:#fff; border:1px solid var(--htsp-line); border-radius:18px; box-shadow:0 8px 28px #233c2510; }
body.htsp-page .entry-content { line-height:1.75; font-size:16px; }
body.htsp-page a { color:var(--htsp-green); }
body.htsp-page a:focus-visible,body.htsp-page summary:focus-visible,body.htsp-page button:focus-visible,body.htsp-page input:focus-visible,body.htsp-page textarea:focus-visible { outline:3px solid #8da95f; outline-offset:3px; }
body.htsp-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),body.htsp-page select,body.htsp-page textarea { border:1px solid #bdcbbd; border-radius:9px; background:#fff; color:var(--htsp-dark); padding:12px 14px; max-width:100%; font-size:16px; }
body.htsp-page label { color:var(--htsp-dark); font-weight:600; }
body.htsp-page .content-area button:not(.show-password-input),body.htsp-page input[type=submit],body.htsp-page .woocommerce a.button { background:var(--htsp-green); color:#fff; border:0; border-radius:999px; padding:12px 25px; font-weight:700; }
body.htsp-page .content-area button:hover,body.htsp-page input[type=submit]:hover { background:#1c3d2a; }
body.htsp-page .entry-content img { max-width:100%; height:auto; }
body.htsp-faq .htsp-faq-nav { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:26px; }
body.htsp-faq .htsp-faq-nav a { display:block; padding:8px 14px; border:1px solid var(--htsp-line); border-radius:999px; font-size:14px; text-decoration:none; background:var(--htsp-cream); }
body.htsp-faq .htsp-faq-item { border:1px solid var(--htsp-line); border-radius:12px; margin-bottom:12px; overflow:hidden; scroll-margin-top:110px; }
body.htsp-faq .htsp-faq-item summary { cursor:pointer; padding:19px 22px; background:var(--htsp-cream); font-size:18px; font-weight:700; color:var(--htsp-green); }
body.htsp-faq .htsp-faq-answer { padding:22px; }
body.htsp-faq .htsp-faq-answer > :last-child { margin-bottom:0; }
body.htsp-my-account .woocommerce form.login,body.htsp-my-account .woocommerce form.register { border:0; padding:0; margin:20px 0; }
body.htsp-my-account:not(.logged-in) .content-container { max-width:740px; }
body.htsp-my-account .woocommerce form .form-row input.input-text { width:100%; }
body.htsp-my-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; border:1px solid var(--htsp-line); border-radius:12px; overflow:hidden; }
body.htsp-my-account .woocommerce-MyAccount-navigation li a { display:block; padding:12px 16px; border-bottom:1px solid var(--htsp-line); text-decoration:none; }
body.htsp-my-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--htsp-green); color:#fff; }
body.htsp-privacy-policy .content-container { max-width:940px; }
body.htsp-privacy-policy .entry-content h2,body.htsp-privacy-policy .entry-content h3 { color:var(--htsp-green); margin-top:32px; }
body.htsp-contact-us .entry-content-wrap { max-width:960px; margin:auto; }
body.htsp-contact-us form textarea { width:100%; min-height:180px; }
body.htsp-contact-us form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]) { width:100%; }
@media(max-width:767px) {
 body.htsp-page .entry-hero .entry-header { padding:30px 18px; }
 body.htsp-page .content-area { margin-top:22px; }
 body.htsp-page .entry-content-wrap { padding:22px 18px; border-radius:12px; }
 body.htsp-page .htsp-intro { font-size:16px; }
 body.htsp-faq .htsp-faq-item summary { padding:16px; font-size:17px; }
 body.htsp-faq .htsp-faq-answer { padding:18px 16px; }
 body.htsp-my-account .woocommerce-MyAccount-navigation,body.htsp-my-account .woocommerce-MyAccount-content { width:100%; float:none; }
 body.htsp-my-account .woocommerce-MyAccount-content { margin-top:24px; }
}

/* V2: readable tea education articles and topic navigation. */
body.htsp-education .content-container { max-width:1040px; }
body.htsp-education .entry-content { max-width:850px; margin-inline:auto; font-size:17px; line-height:1.85; }
body.htsp-education .entry-content h1,body.htsp-education .entry-content h2,body.htsp-education .entry-content h3,body.htsp-education .entry-content h4 { color:var(--htsp-green); line-height:1.3; margin-top:32px; margin-bottom:14px; scroll-margin-top:110px; }
body.htsp-education .entry-content h1,body.htsp-education .entry-content h2 { font-size:clamp(24px,3vw,30px); }
body.htsp-education .entry-content h3,body.htsp-education .entry-content h4 { font-size:21px; }
body.htsp-education .entry-content figure { max-width:100%; }
body.htsp-education .entry-content img { border-radius:12px; }
body.htsp-education .entry-content figcaption { color:#52614f; font-size:14px; line-height:1.5; }
body.htsp-education .entry-content a { text-underline-offset:3px; overflow-wrap:anywhere; }
body.htsp-education .entry-content table { width:100%; font-size:15px; }
body.htsp-education .wp-block-table { overflow-x:auto; }
body.htsp-education .htsp-article-toc { background:var(--htsp-cream); border:1px solid var(--htsp-line); border-radius:12px; margin-bottom:26px; }
body.htsp-education .htsp-article-toc summary { cursor:pointer; padding:15px 20px; font-weight:700; color:var(--htsp-green); }
body.htsp-education .htsp-article-toc nav { padding:0 20px 18px; display:grid; gap:8px; }
body.htsp-education .htsp-topic-links { margin-top:40px; padding-top:24px; border-top:1px solid var(--htsp-line); }
body.htsp-education .htsp-topic-links > h2 { margin-bottom:22px; text-align:center; }
body.htsp-education .htsp-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
body.htsp-education .htsp-topic-column { min-width:0; padding:20px; border:1px solid var(--htsp-line); border-radius:16px; background:#fff; }
body.htsp-education .htsp-topic-column h3 { margin:0 0 14px; color:var(--htsp-dark); font-size:21px; font-weight:750; text-align:center; }
body.htsp-education .htsp-topic-column-links { display:grid; grid-template-columns:1fr; gap:10px; }
body.htsp-education .htsp-topic-column-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:1px solid var(--htsp-line); border-radius:12px; background:var(--htsp-cream); font-size:15px; font-weight:600; text-decoration:none; }
body.htsp-education .htsp-topic-column-links a:hover { background:#e9efdd; }
@media(max-width:767px) {
 body.htsp-education .entry-content { font-size:16px; line-height:1.75; }
 body.htsp-education .htsp-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.htsp-education .entry-content .alignleft,body.htsp-education .entry-content .alignright { float:none; margin:20px auto; }
}
@media(max-width:520px) { body.htsp-education .htsp-topic-grid { grid-template-columns:1fr; } }

/* V4: dry-leaf examples and unbulleted FAQ preparation instructions. */
body.htsp-tea-types .entry-content img.htsp-tea-example { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#fff; }
body.htsp-faq .htsp-faq-item--brewing ul { list-style:none; padding-left:0; margin-left:0; }
body.htsp-faq .htsp-faq-item--brewing ul > li { list-style:none; padding-left:0; }
body.htsp-faq .htsp-faq-item--brewing ul > li::marker { content:""; }

/* V5: the shared Wellness closing section on every support/education page. */
body.htsp-page .htsp-wellness { background:#284f39; color:#fff; text-align:center; padding:48px 22px; margin-top:30px; }
body.htsp-page .htsp-wellness > div { max-width:760px; margin:auto; }
body.htsp-page .htsp-wellness .htsp-wellness-eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:700; margin:0 0 12px; color:#e6eccf; }
body.htsp-page .htsp-wellness h2 { color:#fff; font-size:clamp(29px,4vw,43px); line-height:1.2; margin:0 0 16px; }
body.htsp-page .htsp-wellness p { font-size:17px; line-height:1.65; }
body.htsp-page .htsp-wellness a { display:inline-block; border-radius:999px; padding:13px 25px; background:#fff; color:#284f39; font-weight:700; text-decoration:none; margin-top:8px; }

/* V9: member offers and official rules, scoped to these four pages. */
body.htsp-partner .content-container { max-width:1180px; }
body.htsp-partner .entry-content > .wp-block-group:first-child { text-align:center; }
body.htsp-partner .entry-content > .wp-block-image:first-child { margin:0 auto 30px; max-width:680px; }
body.htsp-partner .entry-content > .wp-block-group:first-child .alignright { float:none; margin:0 auto 16px; max-width:520px; }
body.htsp-partner .entry-content > .wp-block-group:first-child .has-text-align-right { text-align:center; }
body.htsp-partner .entry-content > .wp-block-group:first-child img { width:100%!important; height:auto!important; object-fit:contain; }
body.htsp-partner .entry-content .wp-block-media-text { width:100%; margin:24px 0 40px; grid-template-columns:150px minmax(0,1fr)!important; gap:28px; padding:30px; border:1px solid var(--htsp-line); border-radius:18px; background:var(--htsp-cream); box-sizing:border-box; }
body.htsp-partner .wp-block-media-text__media img { width:130px; height:140px; object-fit:contain; margin:auto; }
body.htsp-partner .wp-block-media-text__content { min-width:0; padding:0!important; }
body.htsp-partner .wp-block-media-text blockquote { border:0; padding:0; margin:0 0 18px; font-style:normal; text-align:left; }
body.htsp-partner .wp-block-media-text blockquote p:first-child { font-size:clamp(22px,3vw,30px)!important; font-weight:700; line-height:1.4; color:var(--htsp-green)!important; }
body.htsp-partner .wp-block-media-text blockquote p:not(:first-child),body.htsp-partner .wp-block-media-text cite { font-size:16px!important; line-height:1.65; font-style:normal; color:var(--htsp-dark); }
body.htsp-partner .wp-block-media-text__content > p,body.htsp-partner .wp-block-media-text__content .wp-block-column p { font-size:16px!important; text-align:left; color:var(--htsp-dark)!important; }
body.htsp-partner .entry-content > blockquote { border:0; border-bottom:1px solid var(--htsp-line); padding:0 0 12px; margin:42px 0 22px; font-style:normal; }
body.htsp-partner .entry-content > blockquote p { margin:0; font-size:clamp(22px,3vw,28px)!important; font-weight:700; line-height:1.35; color:var(--htsp-green); }
body.htsp-partner .wc-block-grid__products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0!important; padding:0; align-content:start; }
body.htsp-partner .wc-block-grid__product { display:flex!important; flex-direction:column; max-width:none!important; width:auto!important; flex-basis:auto!important; padding:16px!important; margin:0!important; border:1px solid var(--htsp-line)!important; border-radius:14px; background:#fff; box-shadow:none; min-width:0; }
body.htsp-partner .wc-block-grid__product-link { display:block; }
body.htsp-partner .wc-block-grid__product img { width:100%!important; height:170px!important; object-fit:contain; margin:0!important; }
body.htsp-partner .wc-block-grid__product .product-details { padding:16px 0 0!important; background:transparent; }
body.htsp-partner .wc-block-grid__product-title { font-size:17px; font-weight:600; line-height:1.4; margin:0!important; }
body.htsp-partner .wc-block-grid__product a { text-decoration:none; }
body.htsp-partner .wp-block-separator { border-color:var(--htsp-line); }
body.htsp-sweepstakes-official-rules .content-container { max-width:980px; }
body.htsp-sweepstakes-official-rules .entry-content { max-width:760px; margin:auto; font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
body.htsp-sweepstakes-official-rules .entry-content > p { margin:0 0 24px; }
body.htsp-sweepstakes-official-rules .entry-content > p:nth-child(-n+2) { text-align:center; font-weight:700; color:var(--htsp-green); }
body.htsp-sweepstakes-official-rules .entry-content > p:nth-child(3) { padding:22px; background:var(--htsp-cream); border-left:4px solid var(--htsp-green); border-radius:10px; font-size:15px; font-weight:700; line-height:1.65; }
body.htsp-sweepstakes-official-rules .entry-content strong { color:var(--htsp-green); }
@media(max-width:900px) { body.htsp-partner .wc-block-grid__products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
 body.htsp-partner .entry-content .wp-block-media-text { grid-template-columns:1fr!important; gap:16px; padding:22px 18px; margin:24px 0 30px; }
 body.htsp-partner .wp-block-media-text__media,body.htsp-partner .wp-block-media-text__content { grid-column:1!important; grid-row:auto!important; }
 body.htsp-partner .wp-block-media-text__media img { width:92px; height:98px; }
 body.htsp-partner .wc-block-grid__products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 body.htsp-partner .wc-block-grid__product { padding:12px!important; }
 body.htsp-partner .wc-block-grid__product img { height:135px!important; }
 body.htsp-partner .wc-block-grid__product-title { font-size:15px; }
 body.htsp-sweepstakes-official-rules .entry-content { font-size:16px; line-height:1.75; }
}

/* V10: larger member-offer terms and preparation for checkout. */
body.htsp-partner .wp-block-media-text blockquote p:not(:first-child),
body.htsp-partner .wp-block-media-text cite,
body.htsp-partner .wp-block-media-text__content > p,
body.htsp-partner .wp-block-media-text__content .wp-block-column p { font-size:19px!important; line-height:1.65; }
body.htsp-partner .wp-block-media-text .htsp-offer-shipping { font-weight:800; font-size:21px; color:var(--htsp-green); }
