/* ==========================================================================
   WellspringCBD — Unified Button Design System (v1.0.0)
   Aligns My Account, Review Drawers, and Off-Canvas Cart buttons to the site's
   signature primary (#62b414) and secondary (#192c27 / white) styling.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. OFF-CANVAS MINI-CART BUTTONS (#woo-cart-panel / .ct-panel)
   -------------------------------------------------------------------------- */
#woo-cart-panel .woocommerce-mini-cart__buttons,
.ct-panel .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 18px !important;
  padding: 0 !important;
}

/* Primary Action: Checkout Button */
#woo-cart-panel .woocommerce-mini-cart__buttons a.button.checkout,
.ct-panel .woocommerce-mini-cart__buttons a.button.checkout {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 20px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 4px 12px rgba(98, 180, 20, 0.3) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
#woo-cart-panel .woocommerce-mini-cart__buttons a.button.checkout:hover,
.ct-panel .woocommerce-mini-cart__buttons a.button.checkout:hover {
  background: #529810 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(98, 180, 20, 0.4) !important;
}
#woo-cart-panel .woocommerce-mini-cart__buttons a.button.checkout:active,
.ct-panel .woocommerce-mini-cart__buttons a.button.checkout:active {
  transform: scale(0.98) !important;
}

/* Secondary Action: View Cart Button */
#woo-cart-panel .woocommerce-mini-cart__buttons a.button:not(.checkout),
.ct-panel .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  background: #ffffff !important;
  color: #192c27 !important;
  border: 1.5px solid #d1dcd5 !important;
  border-radius: 12px !important;
  padding: 12px 20px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease !important;
}
#woo-cart-panel .woocommerce-mini-cart__buttons a.button:not(.checkout):hover,
.ct-panel .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
  background: #192c27 !important;
  border-color: #192c27 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Empty Cart "Return to Shop" */
#woo-cart-panel .return-to-shop a.button,
.ct-panel .return-to-shop a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 12px 24px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(98, 180, 20, 0.25) !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
#woo-cart-panel .return-to-shop a.button:hover,
.ct-panel .return-to-shop a.button:hover {
  background: #529810 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(98, 180, 20, 0.35) !important;
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   2. SUBMIT REVIEW & REVIEW DRAWER BUTTONS
   -------------------------------------------------------------------------- */
.wsc_rev_bd .wsc_rev_sub,
#wsc_rev_submit,
#review_form #submit,
#respond input#submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(98, 180, 20, 0.3) !important;
  box-sizing: border-box !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
.wsc_rev_bd .wsc_rev_sub:hover,
#wsc_rev_submit:hover,
#review_form #submit:hover,
#respond input#submit:hover {
  background: #529810 !important;
  box-shadow: 0 6px 16px rgba(98, 180, 20, 0.4) !important;
  transform: translateY(-1px) !important;
  color: #ffffff !important;
}
.wsc_rev_bd .wsc_rev_sub:active,
#wsc_rev_submit:active,
#review_form #submit:active,
#respond input#submit:active {
  transform: scale(0.98) !important;
}

/* Write a review trigger button on PDP */
.wsc_rev_wrot {
  border-radius: 12px !important;
  min-height: 48px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  padding: 12px 24px !important;
  box-shadow: 0 4px 12px rgba(98, 180, 20, 0.25) !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
.wsc_rev_wrot:hover {
  background: #529810 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(98, 180, 20, 0.35) !important;
}

/* --------------------------------------------------------------------------
   3. MY ACCOUNT & ORDERS PAGE BUTTONS (/my-account/)
   -------------------------------------------------------------------------- */
/* Review Action button on Orders list and details */
.wsc-btn-review-item,
.woocommerce-orders-table__cell-order-actions a.button.review {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 9px !important;
  padding: 8px 16px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 3px 8px rgba(98, 180, 20, 0.25) !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
.wsc-btn-review-item:hover,
.woocommerce-orders-table__cell-order-actions a.button.review:hover {
  background: #529810 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 12px rgba(98, 180, 20, 0.35) !important;
}

/* "View" Action button on Orders list */
.woocommerce-orders-table__cell-order-actions a.button.view {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  color: #192c27 !important;
  border: 1.5px solid #d1dcd5 !important;
  border-radius: 9px !important;
  padding: 7px 16px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease !important;
}
.woocommerce-orders-table__cell-order-actions a.button.view:hover {
  background: #192c27 !important;
  border-color: #192c27 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Orders Table Vertical Alignment */
table.woocommerce-orders-table tbody tr td,
table.woocommerce-orders-table tbody tr th {
  vertical-align: middle !important;
}

table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number {
  vertical-align: middle !important;
}

table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number a {
  display: inline-flex !important;
  align-items: center !important;
  font-weight: 700 !important;
  vertical-align: middle !important;
  line-height: 1.2 !important;
}

table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-date,
table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status,
table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
  vertical-align: middle !important;
}

/* Orders actions cell alignment (preserve table-cell so vertical-align centers row cleanly) */
table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
  vertical-align: middle !important;
  text-align: right !important;
}

table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.button {
  width: auto !important;
  margin: 3px 0 3px 6px !important;
  vertical-align: middle !important;
}

/* Account form submit buttons (Save Account, Addresses, Login, Register) */
.woocommerce-MyAccount-content form .button,
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-form-login button[type="submit"],
.woocommerce-form-register button[type="submit"],
.woocommerce-ResetPassword button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 11px !important;
  padding: 13px 26px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(98, 180, 20, 0.28) !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
.woocommerce-MyAccount-content form .button:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-form-register button[type="submit"]:hover,
.woocommerce-ResetPassword button[type="submit"]:hover {
  background: #529810 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(98, 180, 20, 0.38) !important;
}
.woocommerce-MyAccount-content form .button:active,
.woocommerce-MyAccount-content button[type="submit"]:active,
.woocommerce-MyAccount-content input[type="submit"]:active {
  transform: scale(0.98) !important;
}

/* Address edit buttons on My Account dashboard */
.woocommerce-Addresses a.button.edit,
.woocommerce-MyAccount-content p a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  color: #192c27 !important;
  border: 1.5px solid #d1dcd5 !important;
  border-radius: 9px !important;
  padding: 8px 18px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all .15s ease !important;
}
.woocommerce-Addresses a.button.edit:hover,
.woocommerce-MyAccount-content p a.button:hover {
  background: #192c27 !important;
  border-color: #192c27 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================================
   4. ON-BRAND NEWSLETTER SIGNUP COMPONENT (BANNER & FOOTER VARIANTS)
   ========================================================================== */

/* Base container */
.wsc_nl_signup {
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
}

/* 1. Banner Variant (Homepage / Landing Sections) */
.wsc_nl_banner {
  max-width: var(--theme-normal-container-max-width, 1200px) !important;
  margin: 36px auto !important;
  padding: 0 20px !important;
}

.wsc_nl_banner .wsc_nl_inner {
  background: radial-gradient(130% 140% at 50% -20%, #25423a 0%, #192c27 60%, #101c19 100%) !important;
  border-radius: 18px !important;
  padding: 40px 36px !important;
  color: #ffffff !important;
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  align-items: center !important;
  gap: 32px !important;
  box-shadow: 0 16px 40px rgba(25, 44, 39, 0.22) !important;
}

.wsc_nl_tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #62b414 !important;
  margin-bottom: 8px !important;
}

.wsc_nl_title {
  font-family: Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin: 0 0 10px !important;
}
.wsc_nl_title span {
  color: #62b414 !important;
}

.wsc_nl_desc {
  font-size: 14px !important;
  color: #cfe0d8 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  max-width: 500px !important;
}

/* Banner-variant reveal button (CTA → FluentForm). Base style lives here so
   any banner-reveal usage (e.g. the 404 page) matches the site button system;
   hover/active come from the master CTA system at the bottom of this file. */
.wsc_nl_banner .wsc_nl_action_wrap {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.wsc_nl_banner .wsc_nl_reveal_btn {
  height: 52px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 0 28px !important;
  font-family: inherit !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(98, 180, 20, 0.4) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Form Styles inside Newsletter Component */
.wsc_nl_form_wrap {
  width: 100% !important;
}
.wsc_nl_form_wrap .fluentform {
  margin: 0 0 10px !important;
  width: 100% !important;
}
.wsc_nl_form_wrap .ff-el-group {
  margin-bottom: 10px !important;
}
.wsc_nl_form_wrap .ff-el-input--label {
  display: none !important;
}
.wsc_nl_form_wrap .ff-el-tooltip {
  display: none !important;
}
.wsc_nl_form_wrap input[type="hidden"],
.wsc_nl_form_wrap legend.ff_screen_reader_title {
  display: none !important;
}
.wsc_nl_form_wrap .ff-t-container,
.wsc_nl_form_wrap .ff-t-cell {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.wsc_nl_form_wrap .ff-name-field-wrapper .ff-el-group {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .wsc_nl_banner .wsc_nl_form_wrap form.fluent_form_4 fieldset {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .wsc_nl_banner .wsc_nl_form_wrap .ff-field_container.ff-name-field-wrapper {
    grid-column: 1 / 2 !important;
    margin-bottom: 0 !important;
  }
  .wsc_nl_banner .wsc_nl_form_wrap .ff-el-group:not(.ff_submit_btn_wrapper) {
    grid-column: 2 / 3 !important;
    margin-bottom: 0 !important;
  }
  .wsc_nl_banner .wsc_nl_form_wrap .ff_submit_btn_wrapper {
    grid-column: 1 / -1 !important;
    margin-bottom: 0 !important;
  }
}
.wsc_nl_form_wrap .ff-el-form-control {
  height: 46px !important;
  border-radius: 9px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  background: #ffffff !important;
  padding: 0 14px !important;
  font-size: 13.5px !important;
  color: #192c27 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  box-sizing: border-box !important;
}
.wsc_nl_form_wrap .ff-el-form-control:focus {
  border-color: #62b414 !important;
  box-shadow: 0 0 0 3px rgba(98, 180, 20, 0.35) !important;
}
.wsc_nl_form_wrap .ff-btn-submit {
  width: 100% !important;
  height: 48px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(98, 180, 20, 0.4) !important;
  transition: all 0.15s ease !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.wsc_nl_form_wrap .ff-btn-submit:hover {
  background: #529810 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(98, 180, 20, 0.5) !important;
}

.wsc_nl_trust {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #b9cfc5 !important;
  margin-top: 6px !important;
  white-space: nowrap !important;
}

/* 2. Footer Variant (Single Column Widget in Footer Widget Area) */
.wsc_nl_footer {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 18px 0 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#block-45 > p,
.ct-widget > p:has(.wsc_nl_footer) {
  margin: 0 !important;
  padding: 0 !important;
}

.wsc_nl_footer .wsc_nl_inner {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: radial-gradient(130% 140% at 50% -20%, #25423a 0%, #192c27 60%, #101c19 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  padding: 22px 18px !important;
  gap: 12px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
  text-align: left !important;
}

.wsc_nl_footer .wsc_nl_text {
  width: 100% !important;
  max-width: 100% !important;
}

.wsc_nl_footer .wsc_nl_tag {
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #62b414 !important;
  margin-bottom: 4px !important;
  display: inline-flex !important;
}

.wsc_nl_footer .wsc_nl_title {
  font-family: Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #ffffff !important;
  margin: 0 0 6px !important;
}
.wsc_nl_footer .wsc_nl_title span {
  color: #62b414 !important;
}

.wsc_nl_footer .wsc_nl_desc {
  font-size: 12.5px !important;
  color: #cfe0d8 !important;
  line-height: 1.45 !important;
  margin: 0 0 8px !important;
  max-width: 100% !important;
}

/* Reveal button in Footer Widget */
.wsc_nl_footer .wsc_nl_action_wrap {
  width: 100% !important;
}
.wsc_nl_footer .wsc_nl_reveal_btn {
  width: 100% !important;
  height: 42px !important;
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-align: center !important;
  box-shadow: 0 4px 14px rgba(98, 180, 20, 0.35) !important;
  transition: all 0.15s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wsc_nl_footer .wsc_nl_reveal_btn:hover {
  background: #529810 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(98, 180, 20, 0.5) !important;
}

/* Revealed Form in Footer Widget: Strictly 1-column */
.wsc_nl_footer .wsc_nl_form_wrap {
  width: 100% !important;
  max-width: 100% !important;
  animation: wscNlFadeIn .25s ease forwards;
}
@keyframes wscNlFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.wsc_nl_footer .wsc_nl_form_wrap form.fluent_form_4 fieldset {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
}
.wsc_nl_footer .wsc_nl_form_wrap .ff-field_container.ff-name-field-wrapper,
.wsc_nl_footer .wsc_nl_form_wrap .ff-el-group {
  width: 100% !important;
  margin-bottom: 0 !important;
}
.wsc_nl_footer .wsc_nl_form_wrap .ff-el-form-control {
  height: 40px !important;
  font-size: 12.5px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  width: 100% !important;
}
.wsc_nl_footer .wsc_nl_form_wrap .ff-btn-submit {
  height: 42px !important;
  font-size: 13.5px !important;
  border-radius: 8px !important;
  width: 100% !important;
}
.wsc_nl_footer .wsc_nl_trust {
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  font-size: 10.5px !important;
  justify-content: flex-start !important;
  color: #b9cfc5 !important;
  margin-top: 6px !important;
}

/* Responsive Overrides */
@media (max-width: 991px) {
  .wsc_nl_banner .wsc_nl_inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .wsc_nl_banner .wsc_nl_action_wrap {
    justify-content: center !important;
  }
}

@media (max-width: 767px) {
  .wsc_nl_banner {
    padding: 0 16px !important;
    margin: 24px auto !important;
  }
  .wsc_nl_banner .wsc_nl_inner {
    padding: 26px 20px !important;
    border-radius: 14px !important;
    text-align: center !important;
  }
  .wsc_nl_banner .wsc_nl_title {
    font-size: 22px !important;
  }
  .wsc_nl_banner .wsc_nl_desc {
    font-size: 13px !important;
  }
  .wsc_nl_trust {
    flex-wrap: wrap !important;
    gap: 6px 10px !important;
    font-size: 10.5px !important;
  }
}

/* ==========================================================================
   FOOTER COLUMN 4 — Recent Posts (Blocksy Query block #recent-posts)
   On-brand cover cards: rounded, pine headline, soft scrim, green hover.
   ========================================================================== */
#recent-posts {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  color: var(--paletteColor4, #192c27) !important;
  letter-spacing: 0.01em;
}
#recent-posts + .wp-block-blocksy-query,
#recent-posts + .wp-block-blocksy-query .ct-query-template-default {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
#recent-posts + .wp-block-blocksy-query article.wp-block-post {
  margin: 0;
}
#recent-posts + .wp-block-blocksy-query .wp-block-cover {
  border-radius: 16px !important;
  overflow: hidden;
  min-height: 0 !important;
  box-shadow: 0 10px 26px rgba(25, 44, 39, 0.10);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
#recent-posts + .wp-block-blocksy-query .wp-block-cover:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(25, 44, 39, 0.16);
}
#recent-posts + .wp-block-blocksy-query .wp-block-cover > .wp-block-cover__background {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(rgba(16, 28, 25, 0.25), rgba(16, 28, 25, 0.25)),
    radial-gradient(60% 90% at 88% 8%, rgba(98, 180, 20, 0.22) 0%, rgba(98, 180, 20, 0) 60%),
    radial-gradient(50% 70% at 6% 96%, rgba(207, 224, 216, 0.10) 0%, rgba(207, 224, 216, 0) 55%),
    linear-gradient(to right, rgba(16, 28, 25, 0.97) 0%, rgba(16, 28, 25, 0.90) 34%, rgba(16, 28, 25, 0.72) 62%, rgba(16, 28, 25, 0.55) 100%),
    linear-gradient(to bottom, rgba(16, 28, 25, 0.55) 0%, rgba(16, 28, 25, 0.30) 38%, rgba(16, 28, 25, 0.72) 68%, rgba(16, 28, 25, 0.96) 100%) !important;
}
#recent-posts + .wp-block-blocksy-query .wp-block-cover > .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}
#recent-posts + .wp-block-blocksy-query .wp-block-cover__inner-container {
  padding-inline: 14px !important;
  padding-bottom: 14px !important;
}
#recent-posts + .wp-block-blocksy-query .ct-dynamic-data {
  margin: 0;
}
#recent-posts + .wp-block-blocksy-query .ct-dynamic-data a {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #ffffff !important;
  text-decoration: none;
  transition: color 0.15s ease;
}
#recent-posts + .wp-block-blocksy-query .wp-block-post:hover .ct-dynamic-data a {
  color: var(--paletteColor1, #62b414) !important;
}

/* ==========================================================================
   MASTER UNIFIED CTA BUTTON HOVER & ANIMATION SYSTEM
   Applied across all primary action buttons site-wide:
   - Genre pages (.wspg_btn, .wspg_whycta .wspg_btn)
   - Homepage (.wsh_btn, .wshd_cat_btn)
   - Archive & Product cards (.wsc_btn, .wsc_card_atc)
   - Blog promo & cards (.wsc_bpb_cta, .wsc_bpb_form_wrap .ff-btn-submit, .wsc_blog_card_btn)
   - Single post & pages (.wss_promo_cta, .wspt_promo_cta, .wss_comment_submit)
   - Contact Us form (form#fluentform_8 button.ff-btn-submit)
   - Footer newsletter (.wsc_nl_reveal_btn, .wsc_nl_form_wrap .ff-btn-submit)
   ========================================================================== */
.wspg_btn,
.wsh_btn,
.wshd_cat_btn,
.wsc_card_atc,
.wsc_btn_primary,
.wsc_bpb_cta,
.wsc_blog_card_btn,
.wss_promo_cta,
.wspt_promo_cta,
.wss_comment_submit,
#comment-submit,
.wsc_nl_reveal_btn,
.wsc_nl_form_wrap .ff-btn-submit,
.wsc_bpb_form_wrap .ff-btn-submit,
.wss_promo_form_wrap .ff-btn-submit,
form#fluentform_8 button.ff-btn.ff-btn-submit,
form#fluentform_8 button.ff-btn-submit {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.wspg_btn:hover,
.wsh_btn:hover,
.wshd_cat_btn:hover,
.wsc_card_atc:hover,
.wsc_btn_primary:hover,
.wsc_bpb_cta:hover,
.wsc_blog_card_btn:hover,
.wss_promo_cta:hover,
.wspt_promo_cta:hover,
.wss_comment_submit:hover,
#comment-submit:hover,
.wsc_nl_reveal_btn:hover,
.wsc_nl_form_wrap .ff-btn-submit:hover,
.wsc_bpb_form_wrap .ff-btn-submit:hover,
.wss_promo_form_wrap .ff-btn-submit:hover,
form#fluentform_8 button.ff-btn.ff-btn-submit:hover,
form#fluentform_8 button.ff-btn-submit:hover {
  background: #529810 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(98, 180, 20, 0.45) !important;
}

.wspg_btn:active,
.wsh_btn:active,
.wshd_cat_btn:active,
.wsc_card_atc:active,
.wsc_btn_primary:active,
.wsc_bpb_cta:active,
.wsc_blog_card_btn:active,
.wss_promo_cta:active,
.wspt_promo_cta:active,
.wss_comment_submit:active,
#comment-submit:active,
.wsc_nl_reveal_btn:active,
.wsc_nl_form_wrap .ff-btn-submit:active,
.wsc_bpb_form_wrap .ff-btn-submit:active,
.wss_promo_form_wrap .ff-btn-submit:active,
form#fluentform_8 button.ff-btn.ff-btn-submit:active,
form#fluentform_8 button.ff-btn-submit:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: 0 4px 10px rgba(98, 180, 20, 0.3) !important;
}

/* Ghost CTA Buttons in dark CTA sections (.wspg_cta, .wshd_cta) */
.wspg_cta .wspg_btn_ghost,
.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;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.wspg_cta .wspg_btn_ghost:hover,
.wshd_cta .wsh_btn_ghost:hover {
  background: #ffffff !important;
  color: #192c27 !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35) !important;
}

.wspg_cta .wspg_btn_ghost:active,
.wshd_cta .wsh_btn_ghost:active {
  transform: translateY(0) scale(0.98) !important;
}

/* ==========================================================================
   PERMANENT SUPPRESSION: WooCommerce unstyled "View cart" button underneath ATC
   ========================================================================== */
.added_to_cart,
a.added_to_cart,
.wc-forward,
.wsc_card .added_to_cart,
.wsc_card_atc + .added_to_cart,
.woocommerce a.added_to_cart,
.products .added_to_cart,
.ct-products .added_to_cart {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
}

/* ==========================================================================
   SITE-WIDE NEWSLETTER POPUP STYLING (#ct-popup-376657)
   ========================================================================== */
.wsc_popup_wrap {
  max-width: 860px !important;
  width: 100% !important;
  margin: 0 auto !important;
  background: #ffffff !important;
  border: 1.5px solid #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;
}
.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;
  }
  .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;
  }
}

/* ==========================================================================
   GLOBAL TRUST & PAY MARK PILLS DESIGN SYSTEM
   Standard design from Home Page Hero applied universally site-wide.
   ========================================================================== */
.wsh_trust,
.wsc_pay_marks_wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  font-size: 11.5px !important;
  color: var(--wsh-slate, #5a6963) !important;
}

.wsh_trust.wsc_align_left,
.wsc_pay_marks_wrap.wsc_align_left {
  justify-content: flex-start !important;
}

.wsh_trust.wsc_align_right,
.wsc_pay_marks_wrap.wsc_align_right {
  justify-content: flex-end !important;
}

.wsh_trust .lck,
.wsc_pay_marks_wrap .lck {
  color: var(--wsh-pine, #192c27) !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11.5px !important;
}

.wsh_pay {
  height: 26px !important;
  white-space: nowrap !important;
  padding: 0 11px !important;
  border: 1px solid var(--wsh-line, #e6ede8) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  color: #2a3a45 !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 2px rgba(25, 44, 39, 0.04) !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.wsh_pay.visa {
  font-style: italic !important;
  letter-spacing: .04em !important;
  color: #1a1f71 !important;
}

.wsh_pay.mc i {
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
}

.wsh_pay.mc i:nth-child(1) {
  background: #eb001b !important;
}

.wsh_pay.mc i:nth-child(2) {
  background: #f79e1b !important;
  margin-left: -6px !important;
}

.wsh_pay.amex {
  font-weight: 700 !important;
  color: #2e77bc !important;
  letter-spacing: .02em !important;
}

.wsh_pay.ppl {
  font-style: italic !important;
  color: #003087 !important;
}

.wsh_pay.disc {
  color: #e0532c !important;
}

.wsh_pay.cry {
  color: #f7931a !important;
  font-weight: 700 !important;
}

/* Magic Login Buttons & Anchors Reset */
.wsac_forgot_btn,
button.wsac_forgot_btn,
a.wsac_forgot_btn {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #5a7c33 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  line-height: 1.35 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: color 0.15s !important;
}

.wsac_forgot_btn:hover,
button.wsac_forgot_btn:hover {
  color: #3b561d !important;
  background: transparent !important;
}

.wsac_back_btn,
button.wsac_back_btn,
a.wsac_back_btn {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background: none !important;
  border: none !important;
  color: #5a6963 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  padding: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.wsac_back_btn:hover,
button.wsac_back_btn:hover {
  color: #192c27 !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   Site-Wide Top Announcement Bar (Content Block 803014)
   ========================================================================== */
[data-block="hook:803014"],
[data-block="hook:803014"] article,
[data-block="hook:803014"] .entry-content,
[data-block="hook:803014"] section,
#post-803014 {
  background-color: #1b4d3e !important;
  background: #1b4d3e !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

#gspb_row-id-gsbp-a319b7c7-c2c8 {
  background-color: #1b4d3e !important;
  background: #1b4d3e !important;
  margin: 0 !important;
}

.wsc_top_announce,
.wspg_announce {
  background: #1b4d3e !important;
  background-color: #1b4d3e !important;
  color: #ffffff !important;
  text-align: center !important;
  font-family: 'Segoe UI', Arial, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 9px 16px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  margin: 0 auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.wsc_top_announce b,
.wsc_top_announce strong,
.wspg_announce b,
.wspg_announce strong {
  color: #62b414 !important;
  font-weight: 800 !important;
}

.wsc_top_dot {
  display: inline-block !important;
  margin: 0 6px !important;
  opacity: 0.8 !important;
}

.wsc_top_br {
  display: none !important;
}

@media (max-width: 540px) {
  .wsc_top_announce,
  .wspg_announce {
    font-size: 10.5px !important;
    padding: 7px 10px !important;
    letter-spacing: .04em !important;
    line-height: 1.45 !important;
  }
  .wsc_top_br {
    display: block !important;
  }
  .wsc_top_dot_break {
    display: none !important;
  }
}

/* Guard: Suppress duplicate announcement bar inside page entry-content on collection / genre pages */
.entry-content > .wspg_announce,
.hentry > .entry-content > .wspg_announce,
.page-id-808924 .entry-content > .wspg_announce,
.page-id-808925 .entry-content > .wspg_announce,
.page-id-808926 .entry-content > .wspg_announce {
  display: none !important;
}

/* ==========================================================================
   Universal High-Contrast Drawer & Modal Close Buttons
   ========================================================================== */
.ct-toggle-close {
  color: #192c27 !important;
  --theme-icon-color: #192c27 !important;
  --toggle-close-color: #192c27 !important;
}
.ct-toggle-close svg,
.ct-toggle-close svg path {
  fill: #192c27 !important;
  color: #192c27 !important;
}
