/* Wellspring CBD — Homepage v1 design system (responsive).
   Merged from the board's homecard-{desktop,tablet,mobile}.html seeds.
   Canonical selector names are the DESKTOP card's (wshd_* sections + shared wsh_* components);
   tablet/mobile differences are handled by media queries below.
   Enqueued on the front page only (see loader.php). Version: 1.0.0 */

:root {
  --wsh-pine: #192c27; --wsh-lemon: #62b414; --wsh-ink: #434f58; --wsh-slate: #5c6b66;
  --wsh-indigo: #1614b4; --wsh-gold: #f0bc00; --wsh-amber: #b46614;
  --wsh-mint: #F2F7F6; --wsh-nearw: #FBFCFC; --wsh-line: #e7ece9; --wsh-linemid: #828d89;
}

/* ------------- shared home components (wsh_ = token-ready) ------------- */
.wsh_sec { padding-inline: 32px; }
.wsh_kick { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--wsh-lemon); margin: 0 0 10px; }
.wsh_h2 { font-size: 24px; font-weight: 800; line-height: 1.16; color: var(--wsh-pine); margin: 0 0 8px; letter-spacing: -.01em; }
.wsh_sub { font-size: 13.5px; color: var(--wsh-slate); margin: 0 0 20px; max-width: 640px; }
.wsh_btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border: 0; border-radius: 11px; background: var(--wsh-lemon, #62b414); color: #fff !important; font-weight: 800; font-size: 14px; cursor: pointer; box-shadow: 0 4px 14px rgba(98,180,20,.32); text-decoration: none !important; transition: all .2s cubic-bezier(.4,0,.2,1) !important; }
.wsh_btn:hover { background: var(--wsh-lemon-hover, #529810) !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 8px 22px rgba(98,180,20,.45) !important; }
.wsh_btn:active { transform: translateY(0) scale(.98) !important; box-shadow: 0 4px 10px rgba(98,180,20,.3) !important; }
.wsh_btn_ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border: 1.5px solid var(--wsh-pine, #192c27); border-radius: 11px; background: #fff; color: var(--wsh-pine, #192c27); font-weight: 800; font-size: 14px; cursor: pointer; text-decoration: none !important; transition: all .2s cubic-bezier(.4,0,.2,1) !important; }
.wsh_btn_ghost:hover { background: var(--wsh-pine, #192c27) !important; color: #fff !important; border-color: var(--wsh-pine, #192c27) !important; transform: translateY(-2px) !important; box-shadow: 0 8px 22px rgba(25,44,39,.25) !important; }
.wsh_btn_ghost:active { transform: translateY(0) scale(.98) !important; }
.wsh_btnrow { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.wsh_stars { color: var(--wsh-gold); font-size: 13px; letter-spacing: .06em; white-space: nowrap; }
.wsh_rate { font-size: 12.5px; color: var(--wsh-slate); line-height: 1.55; }
.wsh_rate b { color: var(--wsh-pine); }
.wsh_ver { color: var(--wsh-lemon); font-weight: 800; white-space: nowrap; }

/* Hero Rating Strip (flows naturally as a single sentence that wraps onto line 2) */
.wshd_hero .wsh_rate {
  display: block !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: var(--wsh-slate) !important;
  margin-top: 10px !important;
}
.wshd_hero .wsh_rate > * {
  display: inline !important;
}
.wshd_hero .wsh_rate .wsh_stars {
  display: inline-block !important;
  white-space: nowrap !important;
  margin-right: 6px !important;
  vertical-align: baseline !important;
}
.wshd_hero .wsh_rate .wsh_rate_sep {
  color: #a3b2ab !important;
  margin: 0 4px !important;
}
.wshd_hero .wsh_rate .wsh_ver {
  display: inline !important;
  white-space: normal !important;
}

.wsh_trust { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--wsh-line); font-size: 11.5px; color: var(--wsh-slate); }
.wsh_trust .lck { color: var(--wsh-pine); font-weight: 800; display: inline-flex; align-items: center; gap: 6px; }
.wsh_pay { height: 26px; white-space: nowrap; padding: 0 11px; border: 1px solid var(--wsh-line); border-radius: 6px; background: #fff; display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: #2a3a45; font-weight: 700; }
.wsh_pay.visa { font-style: italic; letter-spacing: .04em; color: #1a1f71; }
.wsh_pay.mc i { display: inline-block; width: 14px; height: 14px; border-radius: 50%; }
.wsh_pay.mc i:nth-child(1) { background: #eb001b; }
.wsh_pay.mc i:nth-child(2) { background: #f79e1b; margin-left: -6px; }
.wsh_pay.amex { font-weight: 700; color: #2e77bc; letter-spacing: .02em; }
.wsh_pay.ppl { font-style: italic; color: #003087; }
.wsh_pay.disc { color: #e0532c; }
.wsh_pay.cry { color: #f7931a; font-weight: 700; }

.wsh_prod { border: 1px solid var(--wsh-line); border-radius: 14px; background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.wsh_prodpic { position: relative; aspect-ratio: 1/1.02; display: grid; place-items: center; font-size: 64px; }
.wsh_prodpic img, .wsh_prodpic .pic { width: 100%; height: 100%; object-fit: cover; display: grid; place-items: center; font-size: 64px; }
.wsh_badge { position: absolute; top: 10px; left: 10px; font-size: 10px; font-weight: 800; color: #fff; padding: 4px 9px; border-radius: 999px; letter-spacing: .03em; }
.wsh_badge.new { background: var(--wsh-lemon); }
.wsh_badge.lst { background: var(--wsh-indigo); }
.wsh_badge.best { background: var(--wsh-gold); color: var(--wsh-pine); }
.wsh_pbody { padding: 12px 13px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.wsh_pname { font-size: 13px; font-weight: 800; color: var(--wsh-pine); line-height: 1.35; }
.wsh_pmeta { font-size: 10.5px; color: var(--wsh-slate); }
.wsh_price { display: flex; align-items: baseline; gap: 8px; font-size: 15px; font-weight: 800; color: var(--wsh-pine); flex-wrap: wrap; }
.wsh_price .was { font-size: 11.5px; color: var(--wsh-slate); text-decoration: line-through; font-weight: 600; }
.wsh_price .save { font-size: 9.5px; font-weight: 800; color: #fff; background: var(--wsh-lemon); border-radius: 999px; padding: 2px 7px; }
.wsh_pfoot { display: flex; gap: 8px; align-items: center; margin-top: auto; }
.wsh_pfoot .wsh_rate { font-size: 11px; }
.wsh_atc { flex: 1; min-height: 38px; border: 0; border-radius: 9px; background: var(--wsh-pine); color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; line-height: 1; }
.wsh_atc:hover { background: #24413a; color: #fff; }

.wsh_soft { background: var(--wsh-mint); }
.wsh_pine { background: var(--wsh-pine); color: #fff; }

/* --------------------------------- HERO --------------------------------- */
.wshd_hero { display: grid; grid-template-columns: 1.08fr .92fr; gap: 26px; padding: 34px 34px 26px; background: radial-gradient(120% 130% at 85% -20%, #e8f3e0 0%, #F2F7F6 46%, var(--wsh-mint) 100%); border-radius: 18px !important; overflow: hidden !important; margin-bottom: 24px !important; }
.wshd_hbody { display: flex; flex-direction: column; justify-content: center; }
.wshd_pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; color: var(--wsh-pine); background: #fff; border: 1px solid var(--wsh-line); border-radius: 999px; padding: 6px 14px; margin-bottom: 14px; }
.wshd_pill i, .wshd_pill .highlight { font-style: normal; color: var(--wsh-indigo); }
.wshd_pill_item { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.wshd_pill_sep { color: #a3b2ab; }
.wshd_h1 { font-size: 33px; font-weight: 800; line-height: 1.12; color: var(--wsh-pine); margin: 0 0 12px; letter-spacing: -.015em; }
.wshd_h1 span { color: var(--wsh-lemon); }
.wshd_hsub { font-size: 14px; color: var(--wsh-slate); margin: 0 0 8px; max-width: 460px; }
.wshd_hmedia { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 0.92/1; background: linear-gradient(150deg,#dceee0,#b7d9c6 55%,#9ec9ae); display: grid; place-items: center; }
.wshd_hmedia a.wshd_hmedia_link { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: 1; text-decoration: none; cursor: pointer; }
.wshd_hmedia .himg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 8px; filter: drop-shadow(0 16px 26px rgba(25,43,38,.25)); transition: transform 0.25s ease; }
.wshd_hmedia a.wshd_hmedia_link:hover .himg { transform: scale(1.03); }
a.wshd_featchip, .wshd_featchip { position: absolute; left: 14px; bottom: 14px; right: 14px; background: rgba(255,255,255,.94); border: 1px solid var(--wsh-line); border-radius: 12px; padding: 11px 13px; backdrop-filter: blur(4px); z-index: 2; text-decoration: none !important; display: block; transition: all 0.2s ease; cursor: pointer; }
a.wshd_featchip:hover { background: #ffffff; box-shadow: 0 6px 18px rgba(25,43,38,.16); transform: translateY(-1px); }
.wshd_featchip b { display: block; font-size: 11.5px; font-weight: 700; color: var(--wsh-pine); line-height: 1.35; }
.wshd_featchip span { font-size: 10.5px; color: var(--wsh-slate); display: block; margin-top: 3px; line-height: 1.35; }
.wshd_hero .wsh_trust { display: flex; flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; padding-top: 10px; }

/* --------------------------- AS RECOMMENDED BY --------------------------- */
.wshd_press { display: none !important; }

/* ------------------------- THE TRANSFORMATION ---------------------------- */
.wshd_steps { padding-block: 34px 30px; display: flex; flex-direction: column; gap: 18px; }
.wshd_stepshead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.wshd_stepshead .wsh_sub { margin-bottom: 0; }
.wshd_steprow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.wsh_step { position: relative; border: 1px solid var(--wsh-line); border-radius: 14px; background: #fff; padding: 22px 18px 18px; }
.wsh_step .num { position: absolute; top: -11px; left: 18px; min-width: 32px; height: 32px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--wsh-indigo); color: #fff; font-size: 11px; font-weight: 800; border-radius: 999px; box-shadow: 0 4px 10px rgba(22,20,180,.3); }
.wsh_step .ic { font-size: 28px; line-height: 1; margin: 6px 0 10px; }
.wsh_step b { display: block; font-size: 14px; color: var(--wsh-pine); margin-bottom: 5px; }
.wsh_step p { font-size: 12px; color: var(--wsh-slate); margin: 0; }

/* --------------------------- SHOP BY CATEGORY ---------------------------- */
.wshd_cats { padding-block: 30px 32px; }
.wshd_catgrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.wsh_cat { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 1/0.95; display: flex; align-items: flex-end; color: #fff; text-decoration: none; }
.wsh_cat .cover { position: absolute; inset: 0; background-size: cover; background-position: center; display: grid; place-items: center; font-size: 58px; z-index: 0; }
.wsh_cat .shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(25,43,38,0) 30%, rgba(25,43,38,.4) 60%, rgba(15,28,24,.92) 100%); z-index: 1; pointer-events: none; transition: background .3s ease; }
.wsh_cat:hover .shade { background: linear-gradient(180deg, rgba(25,43,38,0) 20%, rgba(25,43,38,.5) 55%, rgba(15,28,24,.96) 100%); }
.wsh_cat .cap { position: relative; width: 100% !important; box-sizing: border-box !important; padding: 22px 18px 16px !important; z-index: 3 !important; display: flex !important; flex-direction: column !important; gap: 4px !important; text-align: left !important; }
.wsh_cat b { display: block !important; font-size: 16px !important; font-weight: 800 !important; color: #ffffff !important; line-height: 1.25 !important; margin: 0 !important; text-shadow: 0 2px 6px rgba(0,0,0,0.7) !important; }
.wsh_cat .cap span { font-size: 12px !important; color: #cfe6d4 !important; display: inline-flex !important; align-items: center !important; gap: 5px !important; line-height: 1.35 !important; margin: 0 !important; text-shadow: 0 1px 4px rgba(0,0,0,0.7) !important; transition: color .2s ease; }
.wsh_cat:hover .cap span { color: #8be036 !important; }
.wsh_cat.g1 .cover { background: linear-gradient(150deg,#dceee0,#b7d9c6 55%,#9ec9ae); }
.wsh_cat.g2 .cover { background: linear-gradient(150deg,#e2e8f5,#c3cfe9 55%,#a9badc); }
.wsh_cat.g3 .cover { background: linear-gradient(150deg,#f5efda,#ecdcae 55%,#dfc889); }
.wsh_cat .cover img.wsh_cat_thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.wsh_cat:hover .cover img.wsh_cat_thumb { transform: scale(1.05); }

/* Shop All Products CTA Button */
.wshd_cat_btn_wrap { display: flex !important; justify-content: center !important; align-items: center !important; margin-top: 26px !important; width: 100% !important; }
.wshd_cat_btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 13px 34px !important; background: var(--wsh-lemon, #62b414) !important; color: #ffffff !important; font-weight: 800 !important; font-size: 14px !important; border-radius: 9px !important; text-decoration: none !important; box-shadow: 0 6px 18px rgba(98,180,20,.35) !important; transition: all .18s ease !important; }
.wshd_cat_btn:hover { background: var(--wsh-lemon-hover, #529810) !important; transform: translateY(-2px) !important; box-shadow: 0 8px 22px rgba(98,180,20,.45) !important; color: #ffffff !important; }

/* ---------------------------- FEATURED BANNER ---------------------------- */
.wshd_feat { display: grid; grid-template-columns: .86fr 1.14fr; gap: 26px; align-items: center; padding: 34px; background: linear-gradient(140deg,#eef5e8 0%,#F2F7F6 60%, #eef3ef 100%); border: 1.5px solid var(--wsh-line) !important; border-radius: 18px !important; overflow: hidden !important; margin-block: 24px !important; }
.wshd_featpic { aspect-ratio: 1/0.86; border-radius: 16px; overflow: hidden; background: linear-gradient(150deg,#dceee0,#b7d9c6 55%,#9ec9ae); display: grid; place-items: center; position: relative; }
.wshd_featpic .himg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 8px; filter: drop-shadow(0 16px 26px rgba(25,43,38,.25)); z-index: 1; }
.wshd_featpic .price { position: absolute; left: 12px; top: 12px; background: #fff; border: 1px solid var(--wsh-line); border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 800; color: var(--wsh-pine); z-index: 2; }
.wshd_featpic .tag { position: absolute; right: 12px; top: 12px; background: var(--wsh-gold); color: var(--wsh-pine); font-size: 10px; font-weight: 800; border-radius: 999px; padding: 5px 11px; letter-spacing: .04em; z-index: 2; }
.wshd_feat h2 { font-size: 22px; font-weight: 800; color: var(--wsh-pine); line-height: 1.2; margin: 0 0 8px; }
.wshd_feat p { font-size: 13px; color: var(--wsh-slate); margin: 0 0 6px; max-width: 480px; }
.wshd_feat .wsh_btnrow { margin-top: 16px; }
.wshd_feat .wsh_trust { justify-content: flex-start; margin-top: 16px; }

/* --------------------------- BENEFIT BANNER ------------------------------ */
.wshd_benefit { padding: 30px 34px; background: var(--wsh-pine); color: #fff; border-radius: 18px !important; overflow: hidden !important; margin-block: 24px !important; }
.wshd_benefit .wsh_kick { color: var(--wsh-lemon); }
.wshd_benefit .wsh_h2 { color: #fff; }
.wshd_benefit .wsh_sub { color: #b9c8c1; }
.wshd_benefitgrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 20px; }
.wsh_bb { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 16px 14px; }
.wsh_bb .ic { font-size: 24px; line-height: 1; }
.wsh_bb b { display: block; font-size: 13px; margin: 9px 0 4px; color: #fff; }
.wsh_bb p { font-size: 11px; color: #b9c8c1; margin: 0; line-height: 1.5; }
.wshd_benefit .wsh_trust { display: flex; flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 6px; border-top-color: rgba(255,255,255,.16); color: #b9c8c1; margin-top: 18px; padding-top: 10px; }
.wshd_benefit .wsh_trust .lck { color: #fff; }

/* -------------------------- EXPLORE BY SERIES ---------------------------- */
.wshd_series { padding-block: 32px 8px; }
.wshd_seriestabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.wshd_seriestab { font-size: 12px; font-weight: 700; color: var(--wsh-pine); background: #fff; border: 1px solid var(--wsh-line); border-radius: 999px; padding: 8px 16px; cursor: pointer; display: inline-flex; align-items: center; text-decoration: none; line-height: 1; }
.wshd_seriestab:hover { background: var(--wsh-pine); color: #fff; border-color: var(--wsh-pine); }
.wshd_seriestab.on { background: var(--wsh-pine); color: #fff; border-color: var(--wsh-pine); }
.wshd_seriesgrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.wsh_seriescard { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 1/0.78; display: flex; align-items: flex-end; color: #fff; text-decoration: none; }
.wsh_seriescard .cover { position: absolute; inset: 0; display: grid; place-items: center; font-size: 56px; }
.wsh_seriescard .shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(25,43,38,0) 32%, rgba(25,43,38,.84) 100%); }
.wsh_seriescard .cap { position: relative; z-index: 1; padding: 15px 14px; }
.wsh_seriescard b { display: block; font-size: 15px; }
.wsh_seriescard span { font-size: 11px; color: #cfe6d4; display: block; margin: 2px 0 4px; }
.wsh_seriescard .lnk { font-size: 11px; font-weight: 800; color: var(--wsh-lemon); }
.wsh_seriescard.s1 .cover { background: linear-gradient(150deg,#dceee0,#b7d9c6 55%,#9ec9ae); }
.wsh_seriescard.s2 .cover { background: linear-gradient(150deg,#e2e8f5,#c3cfe9 55%,#a9badc); }
.wsh_seriescard.s3 .cover { background: linear-gradient(150deg,#f5efda,#ecdcae 55%,#dfc889); }

/* ------------------------------ PRODUCT GRID ----------------------------- */
.wshd_grid { padding-block: 30px 34px; border-radius: 18px !important; overflow: hidden !important; margin-block: 24px !important; }
.wshd_prodgrid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; grid-auto-rows: 1fr !important; align-items: stretch !important; gap: 16px !important; }
.wshd_prodgrid > .wsc_card { height: 100% !important; }
.wshd_prodgrid .added_to_cart,
.wshd_grid .added_to_cart,
.wsc_card .added_to_cart { display: none !important; visibility: hidden !important; opacity: 0 !important; }
.wshd_prodgrid--3 { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.wshd_prodgrid--2 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.wshd_prodgrid .pic1 { background: linear-gradient(150deg,#dceee0,#b7d9c6 55%,#9ec9ae); }
.wshd_prodgrid .pic2 { background: linear-gradient(150deg,#e2e8f5,#c3cfe9 55%,#a9badc); }
.wshd_prodgrid .pic3 { background: linear-gradient(150deg,#f5efda,#ecdcae 55%,#dfc889); }
.wshd_prodgrid .pic4 { background: linear-gradient(150deg,#ece7f2,#d8cfe6 55%,#c2b4d8); }
.wsh_prodpic img.pimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wshd_prodgrid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wshd_prodgrid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.wshd_prodgrid .pic1 { background: linear-gradient(150deg,#dceee0,#b7d9c6 55%,#9ec9ae); }
.wshd_prodgrid .pic2 { background: linear-gradient(150deg,#e2e8f5,#c3cfe9 55%,#a9badc); }
.wshd_prodgrid .pic3 { background: linear-gradient(150deg,#f5efda,#ecdcae 55%,#dfc889); }
.wshd_prodgrid .pic4 { background: linear-gradient(150deg,#ece7f2,#d8cfe6 55%,#c2b4d8); }
.wsh_prodpic img.pimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------ SOCIAL PROOF ----------------------------- */
.wshd_proof { padding-block: 32px 34px; }
.wshd_proofhead { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-bottom: 16px; }
.wshd_proofbig { font-size: 44px; font-weight: 800; color: var(--wsh-pine); line-height: 1; }
.wshd_proof .wsh_stars { font-size: 16px; }
.wshd_proofrow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.wsh_testi { border: 1px solid var(--wsh-line); border-radius: 14px; background: #fff; padding: 18px 17px; }
.wsh_testi .wsh_stars { font-size: 12px; }
.wsh_testi b { display: block; font-size: 13px; color: var(--wsh-pine); margin: 8px 0 5px; }
.wsh_testi p { font-size: 12.5px; color: var(--wsh-ink); margin: 0 0 9px; line-height: 1.6; }
.wsh_testi .by { font-size: 11px; color: var(--wsh-slate); }
.wsh_testi .by .ver { color: var(--wsh-lemon); font-weight: 800; }

/* --------------------------------- FAQ ----------------------------------- */
.wshd_faq { padding-block: 34px; }
.wshd_faq .wsh_h2 { text-align: center; }
.wshd_faq .wsh_sub { text-align: center; margin-inline: auto; margin-bottom: 22px; }
.wsh_faqcol { max-width: 640px; margin-inline: auto; }
.wsh_faq details { border: 1px solid var(--wsh-line); border-radius: 12px; background: #fff; margin-bottom: 9px; }
.wsh_faq summary { list-style: none; min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 14px; font-weight: 700; color: var(--wsh-pine); cursor: pointer; padding: 0 18px; font-size: 14px; }
.wsh_faq summary::-webkit-details-marker { display: none; }
.wsh_faq summary::after { content: "+"; color: var(--wsh-lemon); font-size: 21px; font-weight: 800; flex: none; }
.wsh_faq details[open] summary::after { content: "\2212"; }
.wsh_faq .wsh_faqbd { padding: 0 18px 16px; }
.wsh_faq .wsh_faqbd p { font-size: 13px; color: var(--wsh-ink); line-height: 1.65; margin: 0 0 8px; }
.wsh_faq .wsh_faqbd p:last-child { margin-bottom: 0; }

/* ------------------------------- FINAL CTA ------------------------------- */
.wshd_cta { margin: 0 32px 32px; padding: 34px 30px; border-radius: 20px; background: radial-gradient(130% 150% at 85% -30%, #24413a 0%, #192c27 60%), var(--wsh-pine); color: #fff; text-align: center; }
.wshd_cta .wsh_kick { color: var(--wsh-lemon); }
.wshd_cta h2 { font-size: 26px; font-weight: 800; margin: 0 0 8px; line-height: 1.15; }
.wshd_cta p { font-size: 13px; color: #b9c8c1; margin: 0 auto 4px; max-width: 480px; }
.wshd_cta .wsh_btnrow { justify-content: center; }
.wshd_cta .wsh_rate { justify-content: center; color: #b9c8c1; }
.wshd_cta .wsh_rate b { color: #fff; }
.wshd_cta .wsh_trust { border-top-color: rgba(255,255,255,.16); color: #b9c8c1; margin-top: 20px; }
.wshd_cta .wsh_trust .lck { color: #fff; }
.wshd_cta .wsh_btn_ghost { border: 1.5px solid rgba(255, 255, 255, 0.85) !important; background: transparent !important; color: #ffffff !important; box-shadow: none !important; }
.wshd_cta .wsh_btn_ghost:hover { background: #ffffff !important; color: var(--wsh-pine, #192c27) !important; border-color: #ffffff !important; transform: translateY(-2px) !important; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3) !important; }
.wshd_cta .wsh_btn_ghost:active { transform: translateY(0) scale(0.98) !important; }

/* --------------------------- GENRE LANDING PAGES (wshg_) --------------------------- */
.wshg_hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 26px; padding: 34px 34px 26px; background: radial-gradient(120% 130% at 85% -20%, #e8f3e0 0%, #F2F7F6 46%, var(--wsh-mint) 100%); }
.wshg_hbody { display: flex; flex-direction: column; justify-content: center; }
.wshg_h1 { font-size: 36px; font-weight: 800; line-height: 1.1; color: var(--wsh-pine); margin: 0 0 12px; letter-spacing: -.015em; }
.wshg_hsub { font-size: 14px; color: var(--wsh-slate); margin: 0 0 8px; max-width: 500px; }
.wshg_heroimg { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 1.05/1; background: linear-gradient(150deg,#dceee0,#b7d9c6 55%,#9ec9ae); display: grid; place-items: center; }
.wshg_heroimg .ph { font-size: 84px; line-height: 1; filter: drop-shadow(0 18px 26px rgba(25,43,38,.28)); }
.wshg_trust { justify-content: center; }
.wshg_nav { padding-block: 14px 4px; }
.wshg_tabs { margin-bottom: 10px; }
.wshg_grid { padding-block: 26px 30px; }
.wshg_grid .wshd_prodgrid { margin-top: 6px; }
.wshg_why { padding: 30px 34px; }
.wshg_why .wshd_benefitgrid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wshg_whyt { border-top-color: rgba(255,255,255,.16); color: #b9c8c1; margin-top: 22px; }
.wshg_whyt .lck { color: #fff; }
.wshg_cta { margin-top: 8px; }
.wshg_ctabtn { justify-content: center; }

/* --------------------------- TABLET (768-1023) --------------------------- */
@media (max-width: 1023px) {
  .wsh_sec { padding-inline: 22px; }
  .wsh_kick { font-size: 10.5px; margin: 0 0 9px; }
  .wsh_h2 { font-size: 21px; margin: 0 0 7px; }
  .wsh_sub { font-size: 13px; margin: 0 0 17px; }
  .wsh_btn, .wsh_btn_ghost { min-height: 47px; padding: 0 22px; }
  .wsh_btnrow { margin-top: 16px; }
  .wsh_pay { height: 25px; padding: 0 10px; font-size: 10.5px; }

  .wshd_hero { grid-template-columns: 1fr; gap: 18px; padding: 24px 22px 18px; border-radius: 14px !important; margin-bottom: 18px !important; }
  .wshd_h1 { font-size: 27px; }
  .wshd_hsub { font-size: 13.5px; }
  .wshd_hmedia { aspect-ratio: 1.5/1; }
  .wshd_pill { font-size: 10.5px; padding: 6px 11px; margin-bottom: 10px; }

  .wshd_press { display: none !important; }

  .wshd_steps { padding-block: 28px 26px; gap: 16px; }
  .wshd_steprow { grid-template-columns: 1fr; gap: 12px; }
  .wsh_step { padding: 18px 16px 15px; }

  .wshd_cats { padding-block: 26px 28px; }
  .wshd_catgrid { gap: 10px; }
  .wsh_cat { aspect-ratio: 1/1; border-radius: 14px; }

  .wshd_feat { grid-template-columns: 1fr; gap: 16px; padding: 26px 22px; border-radius: 14px !important; margin-block: 18px !important; }
  .wshd_featpic { aspect-ratio: 1.6/1; }

  .wshg_hero { grid-template-columns: 1fr; gap: 18px; padding: 24px 22px 18px; }
  .wshg_h1 { font-size: 30px; }
  .wshg_heroimg { aspect-ratio: 1.5/1; }
  .wshg_why { padding: 26px 22px; }

  .wshd_benefit { padding: 26px 22px; border-radius: 14px !important; margin-block: 18px !important; }
  .wshd_benefitgrid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin-top: 16px; }
  .wsh_bb { padding: 14px 12px; }

  .wshd_series { padding-block: 28px 8px; }
  .wshd_seriestabs { gap: 7px; margin-bottom: 14px; }
  .wshd_seriestab { font-size: 11.5px; padding: 7px 14px; }
  .wshd_seriesgrid { grid-template-columns: 1fr; gap: 12px; }
  .wsh_seriescard { aspect-ratio: 1/0.52; border-radius: 14px; }

  .wshd_grid { padding-block: 26px 28px; border-radius: 14px !important; margin-block: 18px !important; }
  .wshd_prodgrid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-auto-rows: 1fr !important; align-items: stretch !important; gap: 14px !important; }
  .wshd_prodgrid--3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wshd_prodgrid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .wshd_proof { padding-block: 28px 30px; }
  .wshd_proofhead { gap: 16px; margin-bottom: 14px; }
  .wshd_proofbig { font-size: 40px; }
  .wshd_proofrow { grid-template-columns: 1fr; gap: 11px; }
  .wsh_testi { padding: 16px 15px; }

  .wshd_faq { padding-block: 30px; }

  .wshd_cta { margin: 0 22px 26px; padding: 30px 22px; border-radius: 18px; }
}

/* ---------------------------- MOBILE (<768) ------------------------------ */
@media (max-width: 767px) {
  .wsh_sec { padding-inline: 16px; }
  .wsh_trust { gap: 7px; margin-top: 16px; padding-top: 12px; font-size: 10.5px; }

  .wshd_hero { gap: 16px; padding: 20px 16px 16px; border-radius: 12px !important; margin-bottom: 14px !important; }
  .wshd_pill {
    align-self: center !important;
    display: block !important;
    text-align: center !important;
    margin: 0 auto 14px !important;
    padding: 7px 16px !important;
    border-radius: 999px !important;
    width: fit-content !important;
    max-width: 100% !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
  }
  .wshd_pill .wshd_pill_sep {
    display: inline !important;
    color: #a3b2ab !important;
    margin: 0 4px !important;
  }
  .wshd_pill .wshd_pill_item {
    display: inline !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }
  .wshd_h1 { font-size: 23px; }
  .wshd_hsub { font-size: 13px; }
  .wshd_hero .wsh_rate {
    font-size: 12px !important;
    line-height: 1.55 !important;
    text-align: center !important;
    margin-inline: auto !important;
  }
  .wshd_hmedia { border-radius: 15px; aspect-ratio: 1.05/1; }
  .wshd_featchip { left: 10px; bottom: 10px; right: 10px; border-radius: 11px; padding: 9px 11px; }
  .wshd_hero .wsh_trust { gap: 6px; margin-top: 9px; padding-top: 8px; }

  .wshd_press { display: none !important; }
  .wshd_pressrow { gap: 14px; }
  .wshd_pressmark { font-size: 14px; }

  .wshd_catgrid { grid-template-columns: 1fr; gap: 11px; }
  .wsh_cat { aspect-ratio: 1/0.62; }
  .wshd_cat_btn_wrap { margin-top: 18px !important; }
  .wshd_cat_btn { width: 100% !important; padding: 13px 20px !important; }

  .wshd_feat { border-radius: 12px !important; margin-block: 14px !important; }
  .wshd_featpic { aspect-ratio: 1.3/1; }

  .wshg_hero { gap: 16px; padding: 20px 16px 16px; }
  .wshg_h1 { font-size: 25px; }
  .wshg_heroimg { border-radius: 15px; aspect-ratio: 1.05/1; }
  .wshg_why { padding: 24px 16px; }
  .wshg_why .wshd_benefitgrid { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .wshd_benefit { border-radius: 12px !important; margin-block: 14px !important; }
  .wshd_grid { border-radius: 12px !important; margin-block: 14px !important; }

  .wshd_prodgrid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-auto-rows: 1fr !important; align-items: stretch !important; gap: 10px !important; }
  .wshd_prodgrid--3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wshd_prodgrid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .wshd_proof { padding-block: 26px 28px; }
  .wshd_proofbig { font-size: 36px; }

  .wshd_cta { margin: 0 16px 24px; padding: 28px 18px; }
  .wshd_cta h2 { font-size: 22px; }
}

/* ----------------- NEWSLETTER POPUP (BLOCKSY 376657 / POST 806578) ----------------- */
.wsc_popup_wrap {
  max-width: 860px !important;
  width: 100% !important;
  margin: 0 auto !important;
  background: #ffffff !important;
  border: 1.5px solid var(--wsh-line, #e3dcce) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.35), 0 8px 24px rgba(25,44,39,.2) !important;
  display: grid !important;
  grid-template-columns: 0.85fr 1.15fr !important;
  font-family: inherit !important;
  text-align: left !important;
}
.wsc_pop_vis {
  background: radial-gradient(130% 130% at 50% 20%, #25423a 0%, #192c27 55%, #101c19 100%) !important;
  padding: 34px 24px 26px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
}
.wsc_pop_badge {
  display: none !important;
}
.wsc_pop_imgs {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  width: 100% !important;
}
.wsc_pop_imgs img.jar {
  width: 170px !important;
  height: auto !important;
  filter: drop-shadow(0 14px 22px rgba(0,0,0,.5)) !important;
  transform: rotate(-3deg) !important;
}
.wsc_pop_imgs img.drops {
  width: 120px !important;
  height: auto !important;
  filter: drop-shadow(0 14px 20px rgba(0,0,0,.45)) !important;
  margin-left: -38px !important;
  margin-top: 24px !important;
  transform: rotate(4deg) !important;
}
.wsc_pop_pill {
  display: none !important;
}
.wsc_pop_body {
  background: #fbf9f4 !important;
  padding: 34px 30px 26px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.wsc_pop_tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: #5a7c33 !important;
  margin-bottom: 6px !important;
}
.wsc_pop_h2 {
  font-family: Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #192c27 !important;
  line-height: 1.18 !important;
  margin: 0 0 8px !important;
  letter-spacing: -.01em !important;
}
.wsc_pop_h2 span { color: #62b414 !important; }
.wsc_pop_sub {
  font-size: 13px !important;
  color: #5f7067 !important;
  line-height: 1.5 !important;
  margin: 0 0 16px !important;
}
/* FluentForm styling inside popup */
.wsc_pop_body .fluentform { margin: 0 0 12px !important; }
.wsc_pop_body .ff-el-group { margin-bottom: 10px !important; }
.wsc_pop_body .ff-el-input--label { display: none !important; }
.wsc_pop_body .ff-el-form-control {
  height: 46px !important;
  border-radius: 9px !important;
  border: 1.5px solid #e3dcce !important;
  background: #ffffff !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  color: #192c27 !important;
  box-shadow: 0 2px 4px rgba(25,44,39,.03) !important;
}
.wsc_pop_body .ff-el-form-control:focus {
  border-color: #62b414 !important;
  box-shadow: 0 0 0 3px rgba(98,180,20,.2) !important;
}
.wsc_pop_body .ff-btn-submit {
  width: 100% !important;
  height: 48px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(98,180,20,.35) !important;
  transition: all .15s ease !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.wsc_pop_body .ff-btn-submit:hover {
  background: #529810 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(98,180,20,.45) !important;
}
.wsc_pop_trust {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #728279 !important;
  margin-bottom: 12px !important;
}
.wsc_pop_trust span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
.wsc_pop_disc {
  font-size: 9.5px !important;
  color: #9aa8a2 !important;
  text-align: center !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .wsc_popup_wrap {
    grid-template-columns: 1fr !important;
    max-width: 92vw !important;
    border-radius: 18px !important;
  }
  /* Hide the visual/image column on mobile to keep form compact and above the fold */
  .wsc_pop_vis {
    display: none !important;
  }
  .wsc_pop_body {
    padding: 26px 20px 22px !important;
  }
  .wsc_pop_h2 {
    font-size: 23px !important;
  }
  .wsc_pop_trust {
    flex-wrap: wrap !important;
    gap: 6px 10px !important;
    font-size: 10.5px !important;
  }
}