.kadence-column113_63b684-6f,
.kadence-column1858_0aa628-95 {
	margin-right:0 !important;
}

/* ===========================
   Login mega menu — restyled for LIGHT background
   Scoped to #menu-item-118 so other pages aren't affected
   =========================== */

/* Google sign-in button */
#menu-item-118 div.nsl-container .nsl-button-google[data-skin="light"] {
	background-color: #ffffff !important;
	border: 1px solid rgba(0, 131, 129, 0.25) !important;
	border-radius: 30px;
	box-shadow: none !important;
}

#menu-item-118 div.nsl-container .nsl-button-google[data-skin="light"]:hover {
	background-color: #f5fbfa !important;
	border-color: rgba(0, 131, 129, 0.5) !important;
}

#menu-item-118 div.nsl-container .nsl-button-google div.nsl-button-label-container {
	color: #0d2a2a !important;
	font-weight: 500;
}

/* Login heading "Login" — was white, now dark */
#menu-item-118 .kt-adv-heading113_61627b-7f {
	color: #0d2a2a !important;
}

/* "or" divider heading — was light white, now subtle dark */
#menu-item-118 .kt-adv-heading113_eae9cc-b2 {
	color: rgba(13, 42, 42, 0.5) !important;
}

/* Email + password inputs */
#menu-item-118 .ac-login-form .ac-input {
	background: #ffffff !important;
	border: 1px solid rgba(0, 131, 129, 0.3) !important;
	border-radius: 30px !important;
	color: #0d2a2a !important;
	padding: 12px 18px !important;
	font-size: 14.5px !important;
	box-shadow: none !important;
	width: 100%;
}

#menu-item-118 .ac-login-form .ac-input::placeholder {
	color: rgba(0, 0, 0, 0.4) !important;
}

#menu-item-118 .ac-login-form .ac-input:focus {
	border-color: #006967 !important;
	outline: none;
}

/* Forgot password link */
#menu-item-118 .ac-login-form .ac-forgot {
	color: #006967 !important;
	font-size: 13px;
	text-decoration: underline;
}

#menu-item-118 .ac-login-form .ac-forgot:hover {
	color: #004a48 !important;
}

/* Sign In button */
#menu-item-118 .ac-login-form .ac-login-btn {
	padding: 12px 28px !important;
	background: #006967 !important;
	border: 1px solid #006967 !important;
	color: #ffffff !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	border-radius: 30px !important;
	cursor: pointer;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}

#menu-item-118 .ac-login-form .ac-login-btn:hover,
#menu-item-118 .ac-login-form .ac-login-btn:focus {
	background: #004a48 !important;
	border-color: #004a48 !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

/* Bottom row layout (forgot link left, button right) */
#menu-item-118 .ac-login-form .ac-bottom-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 14px;
	gap: 12px;
}

.frosted {
  background: rgba(87, 94, 85, 0.55);
  backdrop-filter: blur(37.5px);
  -webkit-backdrop-filter: blur(37.5px);
  border-radius: 30px;
}

/* ===========================
   Kadence: transparent frosted sticky header
   =========================== */

#masthead .kadence-sticky-header.item-is-fixed {
  transform: none !important;
}

#masthead,
#masthead .site-header-row-container-inner,
.site-main-header-wrap .site-header-row-container-inner,
#masthead .kadence-sticky-header,
#masthead .kadence-sticky-header.item-is-fixed,
#masthead .kadence-sticky-header.item-is-fixed > .site-header-row-container-inner {
  background: transparent !important;
}

#masthead .kadence-sticky-header.item-is-stuck {
  border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
}

#masthead .kadence-sticky-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  opacity: 0;
  transition: opacity 0.45s ease;
}

#masthead .kadence-sticky-header.item-is-stuck::before,
#masthead .kadence-sticky-header:has(.menu-item--toggled-on)::before {
  opacity: 1;
}

/* Sticky nav / mega menu open: change nav link colors to dark green for light frosted bg */
#masthead .kadence-sticky-header.item-is-stuck .main-navigation .primary-menu-container > ul > li.menu-item > a,
#masthead .kadence-sticky-header.item-is-stuck .secondary-navigation .secondary-menu-container > ul > li.menu-item > a,
#masthead .kadence-sticky-header.item-is-stuck .header-navigation .header-menu-container > ul > li.menu-item > a,
#masthead .kadence-sticky-header:has(.menu-item--toggled-on) .main-navigation .primary-menu-container > ul > li.menu-item > a,
#masthead .kadence-sticky-header:has(.menu-item--toggled-on) .secondary-navigation .secondary-menu-container > ul > li.menu-item > a,
#masthead .kadence-sticky-header:has(.menu-item--toggled-on) .header-navigation .header-menu-container > ul > li.menu-item > a {
  color: #217876;
  transition: color 0.3s ease;
}

#masthead .kadence-sticky-header.item-is-stuck .site-header-item .header-cart-wrap .header-cart-inner-wrap .header-cart-button,
#masthead .kadence-sticky-header:has(.menu-item--toggled-on) .site-header-item .header-cart-wrap .header-cart-inner-wrap .header-cart-button {
  color: #217876;
}

/* Logo scales down to fit shrunk header */
#masthead .item-is-stuck .site-branding img,
#masthead .item-is-fixed.item-is-stuck .custom-logo,
#masthead .item-is-stuck .custom-logo {
  max-height: 60px !important;
  width: auto !important;
  transition: max-height 0.3s ease;
  object-fit: contain;
}

#masthead .item-is-stuck .site-branding {
  padding: 0;
  display: flex;
  align-items: center;
  height: 100%;
}

#masthead .item-is-stuck .site-branding a.brand {
  display: flex;
  align-items: center;
}

/* Ensure stuck header clips vertical overflow (logo) but allows mega menu */
#masthead .kadence-sticky-header.item-is-stuck .site-header-row-container-inner,
#masthead .kadence-sticky-header.item-is-stuck .site-main-header-inner-wrap {
  overflow: visible;
}

body.kadence-dark-mode #masthead .kadence-sticky-header.item-is-stuck::before {
  background: rgba(0, 0, 0, 0.22);
}

/* ===========================
   Frosted-change: light frosted glass (white tint)
   Use .frosted for dark, .frosted-change for light
   =========================== */

.frosted-change {
  background: rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-radius: 30px;
}

/* ===========================
   Mega menu: dark frosted glass
   =========================== */

.kadence-menu-mega-enabled > ul.sub-menu,
.kadence-menu-mega-enabled > ul.submenu {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  margin-top: 1px;
}

/* When sticky, pull mega menu up less */
.item-is-stuck .kadence-menu-mega-enabled > ul.sub-menu,
.item-is-stuck .kadence-menu-mega-enabled > ul.submenu {
  margin-top: -8px;
}

.kadence-menu-mega-enabled > ul.sub-menu > li {
  background: transparent !important;
}

.dark-frosted.kb-row-layout-wrap {
  position: relative !important;
  overflow: hidden !important;
  isolation: auto !important;
  background: rgba(255, 255, 255, 0.75) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
  border-radius: 30px;
}

/* ===========================
   END Header Rules
   =========================== */

#menu-item-118 > a > span > .dropdown-nav-toggle {
	display:none !important;
}

/* subtle breathing glow */
@keyframes phPulseGlow {
  0% {
    box-shadow:
      0 0 0px rgba(255,255,255,0.00),
      0 0 0px rgba(255,255,255,0.00),
      0 0 0px rgba(255,255,255,0.00);
  }
  50% {
    box-shadow:
      0 0 10px rgba(255,255,255,0.16),
      0 0 28px rgba(255,255,255,0.10),
      0 0 55px rgba(255,255,255,0.05);
  }
  100% {
    box-shadow:
      0 0 0px rgba(255,255,255,0.00),
      0 0 0px rgba(255,255,255,0.00),
      0 0 0px rgba(255,255,255,0.00);
  }
}

.ph-ld-course-search__input {
  animation: phPulseGlow 3.2s ease-in-out infinite;
  border-radius: 30px;
}

@media screen and (max-width: 600px) {
  .kb-btn51c20d-d3 {
    width: 50px;
  }
}

/* ===========================
   Green glass button
   =========================== */
a.kb-button.button-green-glass,
.button-green-glass {
  display: inline-block;
  padding: 14px 28px !important;
  background: linear-gradient(
    180deg,
    rgba(60, 180, 140, 0.35) 0%,
    rgba(25, 90, 70, 0.45) 100%
  ) !important;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  border: 1px solid rgba(80, 210, 170, 0.5) !important;
  border-radius: 50px !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    0 0 12px rgba(70, 200, 160, 0.25),
    0 0 30px rgba(70, 200, 160, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

a.kb-button.button-green-glass:hover,
.button-green-glass:hover {
  background: linear-gradient(
    180deg,
    rgba(60, 180, 140, 0.5) 0%,
    rgba(25, 90, 70, 0.6) 100%
  ) !important;
  border-color: rgba(80, 220, 170, 0.7) !important;
  box-shadow:
    0 0 18px rgba(70, 200, 160, 0.35),
    0 0 40px rgba(70, 200, 160, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

/* ===========================
   Cart drawer: frosted glass
   =========================== */
#cart-drawer .drawer-inner {
  background: rgba(255, 255, 255, 0.75) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-left: 1px solid rgba(0, 0, 0, 0.08);
}

/* Make the "Review Cart" header transparent so it blends with the frosted drawer */
#cart-drawer .drawer-header,
#cart-drawer .drawer-content,
#cart-drawer .mini-cart-container,
#cart-drawer .kadence-mini-cart-refresh,
#cart-drawer .kadence-mini-cart-shipping,
#cart-drawer .widget_shopping_cart_content {
  background: transparent !important;
}

#cart-drawer .drawer-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

#cart-drawer .drawer-overlay {
  background-color: rgba(0, 0, 0, 0.3) !important;
}

/* Mobile off-canvas drawer */
#mobile-drawer .drawer-inner {
  background: rgba(255, 255, 255, 0.75) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

/* ===========================
   Product page: subscription option cards
   (APFS "grouped radio prompt" layout)
   =========================== */

/* Cart form layout: cards on top, qty + button in a row below */
.kwt-add-to-cart-single .cart:not(.variations_form) {
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.kwt-add-to-cart-single .cart .wcsatt-options-wrapper {
  flex: 0 0 100%;
  width: 100%;
}

.kwt-add-to-cart-single .cart .quantity {
  flex: 0 0 auto;
}

.kwt-add-to-cart-single .cart .single_add_to_cart_button {
  flex: 1 1 0%;
  padding: 12px 20px !important;
  white-space: normal !important;
  line-height: 1.3 !important;
  min-height: 44px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: normal;
}

/* Remove fieldset default styling */
.wcsatt-options-prompt-fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

/* Card container — stack vertically with gap */
ul.wcsatt-options-prompt-radios {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 !important;
  margin: 0 0 1.2em !important;
  list-style: none !important;
}

/* Each card — teal glass that works on any background */
ul.wcsatt-options-prompt-radios > li {
  position: relative;
  padding: 16px 20px !important;
  margin: 0 !important;
  background: rgba(91, 193, 173, 0.08);
  border: 1px solid rgba(0, 131, 129, 0.25);
  border-radius: 14px;
  cursor: pointer;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

ul.wcsatt-options-prompt-radios > li:hover {
  background: rgba(91, 193, 173, 0.15);
  border-color: rgba(0, 131, 129, 0.4);
}

/* Selected card — flat teal */
ul.wcsatt-options-prompt-radios > li:has(input:checked) {
  background: rgba(91, 193, 173, 0.25);
  border-color: rgba(0, 131, 129, 0.7);
  box-shadow: none;
}

/* Label layout */
ul.wcsatt-options-prompt-radios label {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 0;
  cursor: pointer;
  font-size: 14.5px;
  line-height: 1.4;
  color: #008381;
}

/* Custom radio button */
ul.wcsatt-options-prompt-radios input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin: 0 !important;
  border: 2px solid rgba(0, 131, 129, 0.4);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: border-color 0.2s ease;
}

ul.wcsatt-options-prompt-radios input[type="radio"]:checked {
  border-color: #217876;
}

ul.wcsatt-options-prompt-radios input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #217876;
}

/* Subscribe & Save label text — darkest */
.wcsatt-options-prompt-label-subscription {
  color: #0d2a2a !important;
  font-weight: 600;
}

/* Label text + price wrap inside the card */
ul.wcsatt-options-prompt-radios .wcsatt-options-prompt-action {
  display: inline;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* Allow the label container itself to wrap */
ul.wcsatt-options-prompt-radios label {
  flex-wrap: wrap;
}

/* Make the text take available width next to the radio */
ul.wcsatt-options-prompt-radios label .wcsatt-options-prompt-action {
  flex: 1 1 0%;
  min-width: 0;
}

/* Subscription option details — inline so badge stays on same line */
ul.wcsatt-options-prompt-radios .subscription-option-details {
  display: inline;
}

/* Subscription price — smaller, inline */
ul.wcsatt-options-prompt-radios .subscription-price,
ul.wcsatt-options-prompt-radios .price {
  font-size: 13px;
  font-weight: 600;
}

/* Strikethrough old price — subtle */
ul.wcsatt-options-prompt-radios .subscription-price del {
  opacity: 0.45;
  font-size: 12px;
  font-weight: 400;
}

/* Subscribe & Save discounted price — darker green, larger */
ul.wcsatt-options-prompt-radios .subscription-price ins,
ul.wcsatt-options-prompt-radios .subscription-price ins .woocommerce-Price-amount {
  text-decoration: none;
  color: #217876;
  font-size: 18px;
  font-weight: 700;
}

/* Subscription details (/ month) */
ul.wcsatt-options-prompt-radios .subscription-details {
  font-size: 12px;
  opacity: 0.6;
}

/* Dynamic "Save X%" badge — injected by PHP, styled here */
.wcsatt-save-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #fff;
  background: linear-gradient(135deg, rgba(60, 180, 140, 0.5), rgba(25, 130, 90, 0.6));
  border: 1px solid rgba(70, 200, 160, 0.35);
  border-radius: 20px;
  vertical-align: middle;
  line-height: 1.4;
  white-space: nowrap;
}

/* Discount badge — styled pill */
.wcsatt-sub-discount {
  display: inline-block;
  padding: 2px 9px;
  margin-left: 4px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #fff;
  background: linear-gradient(135deg, rgba(60, 180, 140, 0.5), rgba(25, 130, 90, 0.6));
  border: 1px solid rgba(70, 200, 160, 0.35);
  border-radius: 20px;
  white-space: nowrap;
  vertical-align: middle;
}

/* Subscription period dropdown (when visible) */
.wcsatt-options-product-dropdown {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  color: #fff;
  padding: 8px 12px;
  font-size: 14px;
  margin-top: 8px;
}

/* Hide prompt section opacity/margin override */
.wcsatt-options-product-prompt {
  margin-bottom: 0 !important;
}

/* Mobile adjustments */
@media screen and (max-width: 600px) {
  ul.wcsatt-options-prompt-radios > li {
    padding: 14px 16px !important;
  }
  ul.wcsatt-options-prompt-radios label {
    font-size: 13.5px;
    gap: 12px;
  }
}

.thumb-zoom img {
    transition: transform 0.35s cubic-bezier(.2,.8,.2,1), filter 0.35s ease;
}

.thumb-zoom:hover img {
    transform: scale(1.06);
    
    filter:
        drop-shadow(0 0 6px #5BC1AD)
        drop-shadow(0 0 122px #5BC1AD80)
        drop-shadow(0 0 22px #5BC1AD40);
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border-right: none;
	border-top:none;
	border-bottom: none;
	padding:5px
}

.woocommerce div.product div.images .flex-control-thumbs li {
	background: rgba(0, 0, 0, 0.35); /* semi-transparent */
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px); /* Safari */
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border-radius:30px;
}

a.kt-review-vote  {
	border:none;
	color:#4ed4e1;
	font-size:18px;
}

/* ===========================
   Product gallery video
   =========================== */
.product-video-slide video.product-gallery-video {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  transform: translateY(-30px);
}

/* ===========================
   Fix sub-pixel gap between rows
   =========================== */
.kb-row-layout-wrap + .kb-row-layout-wrap {
  margin-top: -1px;
}

/* ===========================
   Expandable areas
   =========================== */

/* Smooth expand using grid-template-rows trick — animates to actual content height */
.expand-area {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition:
    grid-template-rows 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease,
    margin 0.4s ease,
    padding 0.4s ease;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.expand-area > * {
  min-height: 0;
  overflow: hidden;
}

.expand-area:target,
.expand-area.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: revert !important;
  margin-bottom: revert !important;
  padding-top: revert !important;
  padding-bottom: revert !important;
}

/* Optional: make trigger links look clickable even without button styling */
a[href^="#"].expand-trigger {
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 4px;
}

.tabs-none .kt-tabs-title-list {
	display:none !important
}

/* ===========================
   Quiz modal: transparent container so quiz shows its own bg
   =========================== */
#quiz .kt-modal-container,
#quiz.kt-modal-container,
#quiz .kt-modal-content {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Style the close button so it's visible on light bg */
#quiz .kt-modal-close {
  color: #008381;
  background: transparent;
  z-index: 10;
}

#quiz .kt-modal-close:hover {
  color: #006967;
}

/* One-time price color + smaller in subscription prompt */
.wcsatt-options-prompt-label-one-time .one-time-price,
.wcsatt-options-prompt-label-one-time .one-time-price .woocommerce-Price-amount {
  color: #217876 !important;
  font-weight: 600;
  font-size: 13px;
}

/* ===========================
   Subscribe & Save benefits block
   =========================== */
.hh-sub-benefits {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 131, 129, 0.18);
}

.hh-sub-benefits-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
}

.hh-sub-benefits-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 12px;
  font-weight: 400;
  color: #008381;
  list-style: none !important;
}

.hh-sub-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #5BC1AD;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
  padding-top: 2px;
}

.hh-sub-fineprint {
  margin: 0 !important;
  font-size: 12.5px;
  color: rgba(0, 0, 0, 0.55);
  line-height: 1.5;
}

.hh-sub-fineprint a {
  color: #217876;
  text-decoration: underline;
  font-weight: 600;
}

.hh-sub-fineprint a:hover {
  color: #006967;
}

@media screen and (max-width: 480px) {
  .hh-sub-benefits-list {
    grid-template-columns: 1fr;
  }
}

/* ===========================
   Product price: subscribe big, one-time small
   =========================== */
.hh-price {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  line-height: 1.2;
}

.hh-price-sub {
  font-size: 1.4em;
  font-weight: 700;
  color: #0d2a2a;
  white-space: nowrap;
}

.hh-price-sub .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
}

.hh-price-period {
  font-size: 0.65em;
  font-weight: 500;
  opacity: 0.7;
}

.hh-price-onetime {
  font-size: 0.7em;
  font-weight: 400;
  opacity: 0.65;
  white-space: nowrap;
}

.hh-price-onetime .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
}

/* Hide main product page price block — subscription cards show pricing */
.kwt-price-wrap.kwt-price-single,
body.single-product .kwt-price-single {
  display: none !important;
}

/* Shop loop / archive — smaller and white on dark cards */
.hh-price--loop {
  display: block;
  line-height: 1.3;
}

.hh-price--loop .hh-price-sub {
  display: inline;
  font-size: 1em;
  font-weight: 700;
  color: #ffffff !important;
  white-space: nowrap;
}

.hh-price--loop .hh-price-sub .woocommerce-Price-amount,
.hh-price--loop .hh-price-sub bdi {
  color: #ffffff !important;
  font-size: inherit;
}

.hh-price--loop .hh-price-period {
  font-size: 0.7em;
  font-weight: 500;
  opacity: 0.75;
  color: #ffffff !important;
  margin-left: 2px;
}

.hh-price--loop .hh-price-onetime {
  display: inline;
  font-size: 0.7em;
  font-weight: 400;
  opacity: 0.65;
  color: #ffffff !important;
  white-space: nowrap;
  margin-left: 4px;
}

.hh-price--loop .hh-price-onetime .woocommerce-Price-amount {
  color: #ffffff !important;
  font-size: inherit;
}

/* ===========================
   APFS "Add to Existing Subscription" UI overhaul
   Transforms the default wide WooCommerce table into a clean,
   compact card list scoped to .wcsatt-add-to-subscription-wrapper
   =========================== */

/* Outer wrapper — give it breathing room and constrain max width */
.wcsatt-add-to-subscription-wrapper {
  margin: 16px 0 0;
  padding: 0;
  background: transparent;
  font-size: 14px;
}

/* Trigger checkbox row — looks like a clickable pill */
.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-action-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(0, 131, 129, 0.06);
  border: 1px solid rgba(0, 131, 129, 0.25);
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
  margin: 0;
  font-size: 13px;
  line-height: 1.3;
}

.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-action-label:hover {
  background: rgba(0, 131, 129, 0.1);
  border-color: rgba(0, 131, 129, 0.4);
}

.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-action-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  margin: 0 !important;
  border: 2px solid rgba(0, 131, 129, 0.4);
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}

.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-action-input:checked {
  background: #006967;
  border-color: #006967;
}

.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-action-input:checked::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 4px;
  width: 4px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-action {
  color: #006967;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0 !important;
}

/* Expanded options container — clean card list */
.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-options {
  margin-top: 12px;
  padding: 0;
  background: transparent;
  max-width: 560px;
}

/* Hide the table headers — they don't make sense in card view */
.wcsatt-add-to-subscription-wrapper .my_account_subscriptions thead,
.wcsatt-add-to-subscription-wrapper .woocommerce-orders-table thead {
  display: none !important;
}

/* Reset table layout entirely */
.wcsatt-add-to-subscription-wrapper table.my_account_subscriptions,
.wcsatt-add-to-subscription-wrapper table.woocommerce-orders-table {
  display: block;
  width: 100%;
  border: none !important;
  background: transparent !important;
  margin: 0;
  padding: 0;
  border-collapse: separate;
}

.wcsatt-add-to-subscription-wrapper table.my_account_subscriptions tbody,
.wcsatt-add-to-subscription-wrapper table.woocommerce-orders-table tbody {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Each subscription row → card */
.wcsatt-add-to-subscription-wrapper table.my_account_subscriptions tbody tr,
.wcsatt-add-to-subscription-wrapper table.woocommerce-orders-table tbody tr {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px 16px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(0, 131, 129, 0.2);
  border-radius: 14px;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.wcsatt-add-to-subscription-wrapper table.my_account_subscriptions tbody tr:hover,
.wcsatt-add-to-subscription-wrapper table.woocommerce-orders-table tbody tr:hover {
  border-color: rgba(0, 131, 129, 0.4);
  background: #f5fbfa;
}

/* Each cell → inline block */
.wcsatt-add-to-subscription-wrapper table.my_account_subscriptions tbody td,
.wcsatt-add-to-subscription-wrapper table.woocommerce-orders-table tbody td {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  font-size: 13px;
  line-height: 1.4;
  text-align: left !important;
  background: transparent !important;
}

/* Restore data-title labels (mobile responsive-style) inline */
.wcsatt-add-to-subscription-wrapper table.my_account_subscriptions tbody td::before,
.wcsatt-add-to-subscription-wrapper table.woocommerce-orders-table tbody td::before {
  content: attr(data-title) ": ";
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(0, 0, 0, 0.5);
  display: inline-block;
  margin-right: 4px;
}

/* Cell-specific layout */
.wcsatt-add-to-subscription-wrapper td.subscription-id {
  grid-column: 1;
  grid-row: 1;
  font-weight: 700;
  color: #0d2a2a;
}

.wcsatt-add-to-subscription-wrapper td.subscription-id::before {
  display: none;
}

.wcsatt-add-to-subscription-wrapper td.subscription-id a {
  color: #0d2a2a;
  text-decoration: none;
  font-weight: 700;
}

.wcsatt-add-to-subscription-wrapper td.subscription-products-overview {
  grid-column: 1;
  grid-row: 2;
  color: rgba(0, 0, 0, 0.65);
  font-size: 12.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 340px;
}

.wcsatt-add-to-subscription-wrapper td.subscription-products-overview ul {
  display: inline;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wcsatt-add-to-subscription-wrapper td.subscription-products-overview ul li {
  display: inline;
  margin: 0;
  padding: 0;
}

.wcsatt-add-to-subscription-wrapper td.subscription-products-overview ul li:not(:last-child)::after {
  content: " · ";
}

.wcsatt-add-to-subscription-wrapper td.subscription-next-payment {
  grid-column: 1;
  grid-row: 3;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.55);
}

.wcsatt-add-to-subscription-wrapper td.subscription-next-payment small {
  display: none; /* hide the payment method redundancy */
}

.wcsatt-add-to-subscription-wrapper td.subscription-total {
  grid-column: 1;
  grid-row: 4;
  font-size: 13px;
  font-weight: 600;
  color: #006967;
}

.wcsatt-add-to-subscription-wrapper td.subscription-actions {
  grid-column: 2;
  grid-row: 1 / span 4;
  align-self: center;
}

.wcsatt-add-to-subscription-wrapper td.subscription-actions::before {
  display: none;
}

/* Add-to-subscription button — compact pill, just "Add" */
.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-button {
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: #006967 !important;
  border: 1px solid #006967 !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: background 0.2s ease, border-color 0.2s ease;
  box-shadow: none !important;
  text-shadow: none !important;
  white-space: nowrap;
  min-width: 0;
  width: auto;
}

.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-button:hover,
.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-button:focus {
  background: #004a48 !important;
  border-color: #004a48 !important;
  color: #ffffff !important;
}

/* Replace the long button label with just "Add" via CSS */
.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-button {
  font-size: 0 !important;
  position: relative;
}

.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-button::after {
  content: "Add";
  font-size: 13px;
  display: inline-block;
}

/* Error / empty state */
.wcsatt-add-to-subscription-wrapper .wcsatt-add-to-subscription-error {
  padding: 12px 16px;
  background: rgba(184, 54, 43, 0.06);
  border: 1px solid rgba(184, 54, 43, 0.2);
  border-radius: 14px;
  color: #b8362b;
  font-size: 13px;
  margin-top: 12px;
}

/* Mobile — stack tighter */
@media screen and (max-width: 600px) {
  .wcsatt-add-to-subscription-wrapper table.my_account_subscriptions tbody tr,
  .wcsatt-add-to-subscription-wrapper table.woocommerce-orders-table tbody tr {
    padding: 12px 14px;
    gap: 8px 10px;
  }
  .wcsatt-add-to-subscription-wrapper td.subscription-products-overview {
    max-width: 100%;
    white-space: normal;
  }
}

/* ===========================
   Self-Service Dashboard for WC Subscriptions
   Compact modal — replaces the default full-viewport takeover with a clean centered popover
   =========================== */

.ssd-modal-wrapper {
  background: rgba(0, 0, 0, 0.45) !important;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 60px 16px;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.ssd-modal-wrapper.ssd-show {
  display: flex !important;
}

.ssd-modal-wrapper .ssd-modal {
  position: relative;
  width: 100%;
  max-width: 640px;
  height: auto !important;
  min-height: 0;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
  text-align: left !important;
  overflow: hidden;
}

/* Search bar — top of the modal, not fixed across the whole page */
.ssd-modal-wrapper .ssd-search-modal-header {
  position: sticky !important;
  top: 0;
  width: 100% !important;
  padding: 18px 20px !important;
  background: #f5fbfa !important;
  border-bottom: 1px solid rgba(0, 131, 129, 0.18);
  display: flex !important;
  align-items: center;
  gap: 12px;
  z-index: 5;
}

.ssd-modal-wrapper .ssd-search-modal {
  display: flex !important;
  flex: 1 1 auto;
  align-items: center;
  margin: 0 !important;
}

.ssd-modal-wrapper input.ssd-search-products {
  flex: 1 1 auto;
  padding: 10px 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 131, 129, 0.3) !important;
  border-radius: 50px !important;
  font-size: 14.5px !important;
  color: #0d2a2a !important;
  outline: none;
  box-shadow: none !important;
  margin: 0 !important;
  height: auto !important;
}

.ssd-modal-wrapper input.ssd-search-products::placeholder {
  color: rgba(0, 0, 0, 0.4) !important;
}

.ssd-modal-wrapper input.ssd-search-products:focus {
  border-color: #006967 !important;
}

/* Close button — small pill in the top corner of the modal */
.ssd-modal-wrapper .ssd-close-modal {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

.ssd-modal-wrapper .ssd-close-modal-link,
.ssd-modal-wrapper button.ssd-close-modal-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 18px !important;
  background: #006967 !important;
  border: 1px solid #006967 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease;
  box-shadow: none !important;
  text-shadow: none !important;
}

.ssd-modal-wrapper .ssd-close-modal-link:hover {
  background: #004a48 !important;
  border-color: #004a48 !important;
}

/* Hide the SVG close icon in the modal corner — we have the Close button in the header */
.ssd-modal-wrapper .ssd-modal > .ssd-close-modal {
  display: none !important;
}

/* Content area */
.ssd-modal-wrapper #ssd-modal-content {
  padding: 20px 24px 24px !important;
  background: #ffffff !important;
  height: auto !important;
  max-height: calc(80vh - 80px);
  overflow-y: auto;
}

/* Product result list — clean cards */
.ssd-modal-wrapper .wpr-add-new-subscription {
  display: grid !important;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.ssd-modal-wrapper .wpr-add-new-subscription > div {
  display: grid !important;
  grid-template-columns: 60px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px !important;
  background: #ffffff;
  border: 1px solid rgba(0, 131, 129, 0.2);
  border-radius: 14px;
  width: auto !important;
  margin: 0 !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.ssd-modal-wrapper .wpr-add-new-subscription > div:hover {
  border-color: rgba(0, 131, 129, 0.4);
  background: #f5fbfa;
}

.ssd-modal-wrapper .wpr-product-image img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 10px;
  object-fit: cover;
  margin: 0 !important;
}

/* Empty state */
.ssd-modal-wrapper .wpr-add-new-form-content > div:not(.wpr-add-new-subscription) {
  padding: 20px !important;
  background: rgba(0, 131, 129, 0.06);
  border: 1px solid rgba(0, 131, 129, 0.2);
  border-radius: 12px;
  text-align: center !important;
  font-size: 14px;
  color: #006967;
  margin: 0 !important;
}

/* Mobile */
@media screen and (max-width: 600px) {
  .ssd-modal-wrapper {
    padding: 20px 12px;
    align-items: flex-start;
  }
  .ssd-modal-wrapper .ssd-modal {
    max-width: 100%;
    border-radius: 14px;
  }
  .ssd-modal-wrapper #ssd-modal-content {
    padding: 14px 16px 18px !important;
    max-height: calc(85vh - 70px);
  }
  .ssd-modal-wrapper .wpr-add-new-subscription > div {
    grid-template-columns: 50px 1fr;
  }
}

/* ===========================
   My Account area — compact buttons
   Scoped to account pages so other site buttons stay full size
   =========================== */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .yith-wcmap a.button,
.woocommerce-account .yith-wcmap button.button,
.woocommerce-view-subscription .button,
.woocommerce-view-subscription button.button,
.woocommerce-view-subscription a.button,
body.woocommerce-account .wpr-add-simple-product-next-shipment.button,
body.woocommerce-account .wpr-add-variable-product-next-shipment.button,
body.woocommerce-account .wpr-add-bundle-product-next-shipment.button,
body.woocommerce-account .wpr-add-composite-product-next-shipment.button,
body.woocommerce-account a.wpr-add-new-button.button,
body.woocommerce-account .change-frequency-button.button,
body.woocommerce-account .resubscribe.button,
body.woocommerce-account .reactivate.button,
body.woocommerce-account .woocommerce-pagination .button {
  padding: 7px 18px !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  border-radius: 30px !important;
  line-height: 1.4 !important;
  min-height: 0 !important;
  height: auto !important;
  letter-spacing: 0.01em;
  box-shadow: none !important;
}

/* Pagination "Next/Previous" buttons slightly more compact */
.woocommerce-account .woocommerce-pagination .button {
  padding: 7px 20px !important;
}

/* View buttons in the orders table — extra compact */
.woocommerce-account .woocommerce-orders-table .button.view,
.woocommerce-account .woocommerce-orders-table a.button {
  padding: 6px 18px !important;
  font-size: 14px !important;
}

/* Make the orders/subscriptions table rows match the smaller button height */
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-orders-table th {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* ===========================
   SSD modal — compact "Add to subscription" button + readable price
   =========================== */

.ssd-modal-wrapper .wpr-add-new-subscription a.button,
.ssd-modal-wrapper .wpr-add-new-subscription button.button,
.ssd-modal-wrapper a.wpr-add-new-button,
.ssd-modal-wrapper button.wpr-add-new-button,
.ssd-modal-wrapper .wpr-add-new-subscription .wpr-add-new-button,
.ssd-modal-wrapper .wpr-add-simple-product-next-shipment,
.ssd-modal-wrapper .wpr-add-variable-product-next-shipment,
.ssd-modal-wrapper .wpr-add-bundle-product-next-shipment,
.ssd-modal-wrapper .wpr-add-composite-product-next-shipment,
.ssd-modal-wrapper .wpr-add-to-subscription-button {
  padding: 6px 14px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  border-radius: 30px !important;
  line-height: 1.3 !important;
  min-height: 0 !important;
  height: auto !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
  letter-spacing: 0.01em;
  box-shadow: none !important;
}

/* Force the hh-price loop class to be readable on the modal's white bg */
.ssd-modal-wrapper .hh-price,
.ssd-modal-wrapper .hh-price--loop,
.ssd-modal-wrapper .hh-price-sub,
.ssd-modal-wrapper .hh-price-period,
.ssd-modal-wrapper .hh-price-onetime,
.ssd-modal-wrapper .hh-price .woocommerce-Price-amount,
.ssd-modal-wrapper .hh-price--loop .woocommerce-Price-amount,
.ssd-modal-wrapper .hh-price--loop bdi,
.ssd-modal-wrapper .hh-price bdi,
.ssd-modal-wrapper .woocommerce-Price-amount,
.ssd-modal-wrapper .price,
.ssd-modal-wrapper .amount {
  color: #006967 !important;
}

.ssd-modal-wrapper .hh-price-onetime,
.ssd-modal-wrapper .hh-price-period {
  color: rgba(13, 42, 42, 0.55) !important;
  opacity: 1 !important;
}

/* Product name + everything else in the modal should be dark */
.ssd-modal-wrapper .wpr-add-new-subscription > div * {
  color: #0d2a2a;
}

.ssd-modal-wrapper .wpr-add-new-subscription > div .button {
  color: #ffffff !important;
}

/* Product name styling */
.ssd-modal-wrapper .wpr-add-new-subscription .wpr-product-name,
.ssd-modal-wrapper .wpr-add-new-subscription .product-name,
.ssd-modal-wrapper .wpr-add-new-subscription h3,
.ssd-modal-wrapper .wpr-add-new-subscription h4,
.ssd-modal-wrapper .wpr-add-new-subscription strong {
  font-size: 15px;
  font-weight: 600;
  color: #0d2a2a !important;
}

/* ===========================
   SSD modal refinements:
   - Search + Close buttons matched, lighter weight
   - Padding under search header
   - Hide empty shipping modal
   - Style shipping modal when it does have content
   =========================== */

/* Search submit button — same styling as Close */
.ssd-modal-wrapper #ssd-submit-search,
.ssd-modal-wrapper button#ssd-submit-search,
.ssd-modal-wrapper .ssd-close-modal-link,
.ssd-modal-wrapper button.ssd-close-modal-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 18px !important;
  background: #006967 !important;
  border: 1px solid #006967 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  border-radius: 50px !important;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease;
  box-shadow: none !important;
  text-shadow: none !important;
  line-height: 1.3;
  margin: 0 !important;
}

.ssd-modal-wrapper #ssd-submit-search:hover,
.ssd-modal-wrapper .ssd-close-modal-link:hover {
  background: #004a48 !important;
  border-color: #004a48 !important;
}

/* Padding below the search header so the results don't crowd the search bar */
.ssd-modal-wrapper #ssd-modal-content {
  padding-top: 18px !important;
}

.ssd-modal-wrapper .wpr-add-new-form-content {
  margin-top: 0;
}

/* Style any plain text feedback (like "Product added to your subscription.") */
.ssd-modal-wrapper .wpr-add-new-form-content > div:not(.wpr-add-new-subscription) {
  margin: 0 0 14px !important;
}

/* ===========================
   Shipping modal — match the main modal style and HIDE when empty
   =========================== */
.ssd-shipping-modal-wrapper {
  z-index: 9999;
  position: fixed;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  background: rgba(0, 0, 0, 0.45);
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 60px 16px;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.ssd-shipping-modal-wrapper.ssd-show {
  display: flex !important;
}

/* When the shipping modal has no content, hide it entirely */
.ssd-shipping-modal-wrapper:has(#ssd-shipping-modal-content:empty) {
  display: none !important;
}

.ssd-shipping-modal-wrapper .ssd-shipping-modal {
  position: relative;
  width: 100% !important;
  max-width: 480px !important;
  height: auto !important;
  padding: 24px !important;
  background: #ffffff !important;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
  text-align: left !important;
  color: #0d2a2a !important;
}

/* ===========================
   Force-hide the shipping modal (it's not used by your store)
   Override anything that tries to display it
   =========================== */
.ssd-shipping-modal-wrapper,
.ssd-shipping-modal-wrapper.ssd-show,
.ssd-shipping-modal-wrapper[style] {
  display: none !important;
}

/* Also force-hide the cancellation modal wrapper unless it has actual reason items */
.ssd-cancellation-modal-wrapper:not(.ssd-show) {
  display: none !important;
}

/* ===========================
   Subscription item rows — gap between title and action buttons
   =========================== */
.woocommerce-view-subscription td.product-name .button,
.woocommerce-view-subscription .product-name .wpr-quantity-update,
.woocommerce-view-subscription .product-name .hh-remove-subscription-item,
.woocommerce-view-subscription .product-name .wpr-subscription-update {
  display: inline-block;
  margin-top: 8px !important;
  margin-right: 4px;
  vertical-align: middle;
}

.kt-image-overlay-wrap {
background: none !important;	
}