:root {
  --wpnagi-lavender: #f3eef9;
  --wpnagi-purple: #75127e;
  --wpnagi-dark-green: #145233;
  --wpnagi-light-tan: #e2e1cf;
  --wpnagi-border: 4px solid var(--wpnagi-dark-green);
  --wpnagi-input-border: 2px solid var(--wpnagi-dark-green);
  --wpnagi-radius: 8px;
  --wpnagi-space: clamp(14px, 2vw, 24px);
  --wpnagi-dashboard-bg: var(--wpnagi-lavender);
  --wpnagi-dashboard-text: var(--wpnagi-purple);
}

/* Keep borders and padding inside the actual mobile width. */
body.woocommerce-page *,
body.single-course * {
  box-sizing: border-box;
}

/* NOTICES / ALERTS */
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .wc-block-components-notice-banner,
body.single-course .woocommerce-message,
body.single-course .woocommerce-info,
body.single-course .woocommerce-error,
body.single-course .wc-block-components-notice-banner,
body.single-course .sensei-message,
body.single-course .course-message,
body.single-course .sensei-course-theme__notice {
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: 14px 18px !important;
  box-shadow: none !important;
}

body.woocommerce-page :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) a:not(.button):not(.woocommerce-button):not(.wp-element-button):not(.wc-block-components-button),
body.single-course :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner,.sensei-message,.course-message,.sensei-course-theme__notice) a:not(.button):not(.woocommerce-button):not(.wp-element-button):not(.wc-block-components-button) {
  color: var(--wpnagi-purple) !important;
  font-weight: 600;
}

/* WooCommerce notice icon */
body.woocommerce-page .wc-block-components-notice-banner > svg,
body.single-course .wc-block-components-notice-banner > svg {
  background: var(--wpnagi-purple) !important;
  color: #fff !important;
  fill: #fff !important;
  border-radius: 999px !important;
}

body.woocommerce-page .wc-block-components-notice-banner > svg *,
body.single-course .wc-block-components-notice-banner > svg * {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* Classic WooCommerce notice icon */
body.woocommerce-page :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before,
body.single-course :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before {
  color: #fff !important;
  background: var(--wpnagi-purple) !important;
  border-radius: 50% !important;
  width: 1.45em;
  height: 1.45em;
  line-height: 1.45em;
  text-align: center;
}

/* INPUTS / FORM CONTROLS */
body.woocommerce-cart :is(input,select,textarea),
body.woocommerce-checkout :is(input,select,textarea),
body.woocommerce-account :is(input,select,textarea),
body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-account .wc-block-components-text-input input {
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-input-border) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.woocommerce-cart :is(input,select,textarea):focus,
body.woocommerce-checkout :is(input,select,textarea):focus,
body.woocommerce-account :is(input,select,textarea):focus {
  outline: 2px solid var(--wpnagi-purple) !important;
  outline-offset: 2px;
}

body.woocommerce-cart label,
body.woocommerce-checkout label,
body.woocommerce-account label,
body.woocommerce-cart .wc-block-components-formatted-money-amount,
body.woocommerce-checkout .wc-block-components-formatted-money-amount,
body.woocommerce-account .woocommerce-Price-amount {
  color: var(--wpnagi-purple) !important;
}

/* BUTTONS - THEME OWNS ALL BUTTON COLORS */
/*
Do not set background-color, border-color or a forced brand color here.
Only make nested labels/icons inherit the button's own computed text color.
A small runtime contrast guard below changes TEXT ONLY if a button would
otherwise render unreadable (for example purple text on a purple button).
*/
body.woocommerce-page :is(button,.button,a.button,.woocommerce-button,.wp-element-button,.wc-block-components-button,a.add_to_cart_button) *,
body.single-course :is(button,.button,a.button,.woocommerce-button,.wp-element-button,.wc-block-components-button,.wp-block-button__link) * {
  color: inherit !important;
  fill: currentColor !important;
  stroke: currentColor;
}


/* Account downloads */
body.woocommerce-account .woocommerce-MyAccount-downloads-file.button,
body.woocommerce-account a.woocommerce-MyAccount-downloads-file {
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-downloads-file.button *,
body.woocommerce-account a.woocommerce-MyAccount-downloads-file * {
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Empty Downloads screen: Browse products button only. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info > a.button.wc-forward {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 148px !important;
  min-height: 44px !important;
  padding: 11px 20px !important;
  margin: 0 0 0 14px !important;
  border: 2px solid var(--wpnagi-dark-green) !important;
  border-radius: 6px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 600px) {
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info > a.button.wc-forward {
    display: flex !important;
    float: none !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 12px 0 0 !important;
  }
}

/* Shop button hover text */
body.woocommerce-shop :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):hover,
body.post-type-archive-product :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):hover,
body.woocommerce-shop :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):focus,
body.post-type-archive-product :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):focus {
  color: var(--wpnagi-dark-green) !important;
}
body.woocommerce-shop :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):hover *,
body.post-type-archive-product :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):hover *,
body.woocommerce-shop :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):focus *,
body.post-type-archive-product :is(a.button,a.add_to_cart_button,.wp-element-button,.wc-block-components-product-button__button):focus * {
  color: inherit !important;
}

/* CART - one styled box per section (no nested/double box) */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals {
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: var(--wpnagi-space) !important;
  margin-bottom: var(--wpnagi-space) !important;
}

/* Classic cart wrapper */
body.woocommerce-cart .cart-collaterals {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td {
  color: var(--wpnagi-purple) !important;
  border-color: var(--wpnagi-dark-green) !important;
}

/* Cart blocks */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar {
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: var(--wpnagi-space) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Cart inner elements */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tbody,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tr,
body.woocommerce-cart .wp-block-woocommerce-cart :is(.wc-block-components-totals-wrapper,.wc-block-cart__submit-container,.wc-block-components-order-summary) {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items {
  border: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Classic cart table */
body.woocommerce-cart .woocommerce-cart-form table.shop_table {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart a:not(.button):not(.wc-block-components-button) {
  color: var(--wpnagi-purple) !important;
}

/* CHECKOUT */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment {
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: var(--wpnagi-space) !important;
  margin-bottom: var(--wpnagi-space) !important;
}

body.woocommerce-checkout #payment :is(ul.payment_methods,div.payment_box),
body.woocommerce-checkout table.shop_table,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  color: var(--wpnagi-purple) !important;
  border-color: var(--wpnagi-dark-green) !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: var(--wpnagi-space) !important;
  margin-bottom: var(--wpnagi-space) !important;
}


/* Checkout section headings */
body.woocommerce-checkout :is(
  .wc-block-components-checkout-step__title,
  .wc-block-components-title,
  .woocommerce-billing-fields > h3,
  .woocommerce-shipping-fields > h3,
  #order_review_heading,
  #payment h3
) {
  color: var(--wpnagi-purple) !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-order-summary,.wc-block-components-totals-wrapper,.wc-block-checkout__payment-method) {
  color: var(--wpnagi-purple) !important;
  border-color: var(--wpnagi-dark-green) !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout a:not(.button):not(.wc-block-components-button) {
  color: var(--wpnagi-purple) !important;
}

/* MY ACCOUNT - dashboard, login and all endpoints */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-account form.woocommerce-form,
body.woocommerce-account .woocommerce-Address,
body.woocommerce-account table.shop_table {
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: var(--wpnagi-space) !important;
  margin-bottom: var(--wpnagi-space) !important;
}

/* Account navigation */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--wpnagi-dashboard-bg) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: 10px !important;
  margin-bottom: var(--wpnagi-space) !important;
  overflow: hidden;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid rgba(243,238,249,.42);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 11px 12px;
  color: var(--wpnagi-dashboard-text) !important;
  text-decoration: none;
  font-weight: 650;
  border-radius: 5px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus {
  color: var(--wpnagi-dashboard-text) !important;
  box-shadow: inset 4px 0 0 var(--wpnagi-dark-green);
  background: rgba(255,255,255,.10) !important;
}

/* Account content links */
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):not(.wp-element-button):not(.wc-block-components-button):not([role="button"]),
body.woocommerce-account .woocommerce-LostPassword a {
  color: var(--wpnagi-purple) !important;
}

body.woocommerce-account table.shop_table,
body.woocommerce-account table.shop_table th,
body.woocommerce-account table.shop_table td {
  border-color: var(--wpnagi-dark-green) !important;
}

/* Billing and shipping addresses */
body.woocommerce-account .woocommerce-Addresses,
body.woocommerce-account .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: var(--wpnagi-space) !important;
  align-items: stretch !important;
  width: 100% !important;
}

body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after,
body.woocommerce-account .u-columns.col2-set::before,
body.woocommerce-account .u-columns.col2-set::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .u-columns.col2-set > .u-column1,
body.woocommerce-account .u-columns.col2-set > .u-column2 {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  align-self: stretch !important;
}

body.woocommerce-account .woocommerce-Addresses .woocommerce-Address header,
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address address {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* COURSE PAGES - desktop + mobile parity */
body.single-course :is(.sensei-message,.course-message,.sensei-course-theme__notice,.woocommerce-info,.woocommerce-message,.woocommerce-error),
body.single-course :is(.sensei-message,.course-message,.sensei-course-theme__notice,.woocommerce-info,.woocommerce-message,.woocommerce-error) *:not(button):not(.button) {
  color: var(--wpnagi-purple) !important;
}

body.single-course :is(.sensei-course-theme__actions,.wp-block-sensei-lms-course-actions,.sensei-lms-course-actions,.course-meta) {
  width: 100% !important;
  max-width: 100% !important;
  background: var(--wpnagi-lavender) !important;
  color: var(--wpnagi-purple) !important;
  border: var(--wpnagi-border) !important;
  border-radius: var(--wpnagi-radius) !important;
  padding: var(--wpnagi-space) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-wrap: anywhere;
}

body.single-course :is(.sensei-course-theme__actions,.wp-block-sensei-lms-course-actions,.sensei-lms-course-actions,.course-meta) :is(input,select,textarea) {
  max-width: 100% !important;
}

/* MOBILE */
@media (max-width: 782px) {
  body.woocommerce-page,
  body.single-course {
    overflow-x: hidden;
  }

  body.woocommerce-page :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner),
  body.single-course :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner,.sensei-message,.course-message,.sensei-course-theme__notice) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 12px 14px !important;
  }

  body.single-course :is(.sensei-course-theme__actions,.wp-block-sensei-lms-course-actions,.sensei-lms-course-actions,.course-meta) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 !important;
    padding: 14px !important;
    background: var(--wpnagi-lavender) !important;
    color: var(--wpnagi-purple) !important;
    border: var(--wpnagi-border) !important;
  }

  /* Mobile cart wrapper */
  body.woocommerce-cart .cart-collaterals {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }


  /* Mobile cart layout */
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main {
    overflow: hidden !important;
  }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  body.woocommerce-cart :is(.product-name,.product-price,.product-quantity,.product-subtotal,.wc-block-cart-item__product) {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.woocommerce-cart :is(img,.wc-block-cart-item__image img) {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Mobile checkout summary */
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
    display: block !important;
    background: var(--wpnagi-lavender) !important;
    color: var(--wpnagi-purple) !important;
    border: var(--wpnagi-border) !important;
    border-radius: var(--wpnagi-radius) !important;
    padding: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar :is(
    .wp-block-woocommerce-checkout-order-summary-block,
    .wc-block-components-order-summary,
    .wc-block-components-totals-wrapper
  ) {
    background: transparent !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }

  body.woocommerce-account .woocommerce-Addresses,
  body.woocommerce-account .u-columns.col2-set {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
  body.woocommerce-account .u-columns.col2-set > .u-column1,
  body.woocommerce-account .u-columns.col2-set > .u-column2,
  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* Footer email label */
footer :is(.grunion-field-label.email,.contact-form label[for*="email" i],label[for*="email" i]) {
  color: var(--wpnagi-light-tan) !important;
}

/* Account empty-state action */
body.woocommerce-account .woocommerce-MyAccount-content :is(
  .woocommerce-Message,
  .woocommerce-info,
  .woocommerce-message
) :is(.woocommerce-Button.button, a.button[href*="/shop"], a.button[href*="shop"]),
body.woocommerce-account .woocommerce-MyAccount-content > :is(.woocommerce-Button.button, a.button[href*="/shop"], a.button[href*="shop"]) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 9px 18px !important;
  border: 2px solid var(--wpnagi-dark-green) !important;
  border-radius: 6px !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

/* Cart content keeps one outer card; nested cart surfaces stay neutral. */
body.woocommerce-cart .woocommerce-cart-form :is(table.shop_table, thead, tbody),
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main :is(
  .wp-block-woocommerce-cart-items-block,
  .wc-block-cart-items,
  .wc-block-cart-items tbody
) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Footer email field label */
body :is(footer,.site-footer,.wp-block-template-part) :is(
  .grunion-field-email-wrap .grunion-field-label,
  .grunion-field-email-wrap label,
  label[for*="email" i]
) {
  color: var(--wpnagi-light-tan) !important;
}

@media (max-width: 782px) {
  /* Cart Blocks: stack each cart item vertically instead of clipping a desktop row. */
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main {
    overflow: visible !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tr.wc-block-cart-items__row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 14px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20,82,51,.28) !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tr.wc-block-cart-items__row:last-child {
    border-bottom: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tr.wc-block-cart-items__row > td {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 5px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__image {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__image img {
    width: auto !important;
    max-width: 112px !important;
    height: auto !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart :is(
    .wc-block-cart-item__product,
    .wc-block-cart-item__total,
    .wc-block-cart-item__quantity,
    .wc-block-components-product-name,
    .wc-block-components-product-price,
    .wc-block-components-product-metadata,
    .wc-block-components-quantity-selector
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__total {
    text-align: left !important;
  }

  /* Classic cart: same vertical behavior on narrow screens. */
  body.woocommerce-cart .woocommerce-cart-form {
    overflow: visible !important;
  }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tbody {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive thead {
    display: none !important;
  }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20,82,51,.28) !important;
    background: transparent !important;
  }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item > td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 6px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item > td::before {
    float: none !important;
    display: inline-block !important;
    margin-right: 8px !important;
  }

  /* Checkout Order Summary gets its own visible mobile card. */
  body.woocommerce-checkout .wc-block-checkout__sidebar {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
  body.woocommerce-checkout .wc-block-checkout__sidebar > .wc-block-components-order-summary {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    background: var(--wpnagi-lavender) !important;
    color: var(--wpnagi-purple) !important;
    border: var(--wpnagi-border) !important;
    border-radius: var(--wpnagi-radius) !important;
    padding: 14px !important;
    margin: 0 0 var(--wpnagi-space) !important;
    box-shadow: none !important;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-order-summary,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block :is(.wc-block-components-totals-wrapper,.wc-block-components-panel) {
    background: transparent !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }
}


/* My Account > Downloads: hide the empty-state Browse products action only. */
body.wpnagi-account-downloads .woocommerce-MyAccount-content :is(
  .woocommerce-Message,
  .woocommerce-info,
  .woocommerce-message
) a.button.wc-forward[href*="/shop"] {
  display: none !important;
}

/* My Account > Downloads: remove the WooCommerce empty-state shop action. */
body.woocommerce-account .woocommerce-MyAccount-content a.button.wc-forward.wp-element-button[href="https://tlchooftrimming.com/shop/"],
body.woocommerce-account .woocommerce-MyAccount-content a.button.wc-forward.wp-element-button[href="https://tlchooftrimming.com/shop"] {
  display: none !important;
}




/* v1.1.12 - use the home-page header styling everywhere. */
[data-wpnagi-home-header="true"] :is(
  nav a,
  nav a:visited,
  nav a:hover,
  nav a:focus,
  .wp-block-navigation a,
  .wp-block-navigation a:visited,
  .wp-block-navigation-item__content,
  .wp-block-navigation-submenu__toggle
) {
  color: #e2e1cf !important;
}





/* v1.2.1 - Header navigation/social color guard.
 * A broad WooCommerce rule on this site applies color:#c1c1c1!important
 * directly to every .woocommerce span. Navigation labels are spans, so
 * styling only the parent anchor cannot win the cascade. Target the label
 * itself with higher specificity and keep this isolated to header blocks.
 */
html body header .wp-block-navigation .wp-block-navigation-item__content > .wp-block-navigation-item__label,
html body header .wp-block-navigation .wp-block-navigation-item__label,
html body .wp-block-template-part header .wp-block-navigation .wp-block-navigation-item__content > .wp-block-navigation-item__label,
html body .wp-block-template-part header .wp-block-navigation .wp-block-navigation-item__label,
html body.woocommerce header .wp-block-navigation .wp-block-navigation-item__content > .wp-block-navigation-item__label,
html body.woocommerce header .wp-block-navigation .wp-block-navigation-item__label,
html body.woocommerce-page header .wp-block-navigation .wp-block-navigation-item__content > .wp-block-navigation-item__label,
html body.woocommerce-page header .wp-block-navigation .wp-block-navigation-item__label {
  color: #e2e1cf !important;
}

html body header .wp-block-navigation .wp-block-navigation-item__content,
html body header .wp-block-navigation .wp-block-navigation-submenu__toggle,
html body header .wp-block-social-links .wp-social-link a,
html body header .wp-block-social-links .wp-social-link svg,
html body header .wp-block-social-links .wp-social-link svg path,
html body .wp-block-template-part header .wp-block-social-links .wp-social-link a,
html body .wp-block-template-part header .wp-block-social-links .wp-social-link svg,
html body .wp-block-template-part header .wp-block-social-links .wp-social-link svg path {
  color: #e2e1cf !important;
  fill: currentColor !important;
}


/* v1.2.2 - Force WordPress social icon glyphs to the cart-header tan.
 * Some SVG <path> elements receive inline `color: rgb(0 0 0) !important`,
 * so `fill: currentColor` resolves to black. Set the glyph fill directly.
 */
html body header .wp-block-social-links .wp-social-link svg path,
html body .wp-block-template-part header .wp-block-social-links .wp-social-link svg path,
html body.woocommerce header .wp-block-social-links .wp-social-link svg path,
html body.woocommerce-page header .wp-block-social-links .wp-social-link svg path {
  fill: #75127e !important;
}

/* v1.2.5 - Stable class owned by WPNagi for the synchronized Cart social icons.
 * The site has third-party !important rules that can color SVG children black.
 * Target the plugin-owned class and set the actual SVG glyph fill directly.
 */
html body .wpnagi-cart-social-icons,
html body .wpnagi-cart-social-icons .wp-social-link,
html body .wpnagi-cart-social-icons .wp-social-link a,
html body .wpnagi-cart-social-icons svg {
  color: #75127e !important;
}

html body .wpnagi-cart-social-icons svg path,
html body .wpnagi-cart-social-icons svg circle,
html body .wpnagi-cart-social-icons svg rect,
html body .wpnagi-cart-social-icons svg polygon,
html body .wpnagi-cart-social-icons svg polyline,
html body .wpnagi-cart-social-icons svg line,
html body .wpnagi-cart-social-icons svg ellipse,
html body .wpnagi-cart-social-icons svg g,
html body .wpnagi-cart-social-icons svg use {
  color: #75127e !important;
  fill: #75127e !important;
}

/* v1.3.0 - Exact native Cart footer isolated from Sensei/course CSS. */
.wpnagi-cart-footer-frame-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.wpnagi-cart-footer-frame {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}


/* v1.3.4 - /online-courses/ content contrast repair.
 * Keep this scoped to the page's MAIN content so the synchronized header/footer
 * retain their own Cart-page colors.
 */
body.wpnagi-online-courses-fix main {
  color: var(--wpnagi-purple) !important;
}

body.wpnagi-online-courses-fix main :is(
  h1,h2,h3,h4,h5,h6,
  p,li,dt,dd,
  strong,em,small,
  .wp-block-post-title,
  .entry-title,
  .entry-content,
  .course,
  .course-container,
  .sensei-course,
  .sensei-course-list,
  .wp-block-sensei-lms-course-list
) {
  color: var(--wpnagi-purple) !important;
}

body.wpnagi-online-courses-fix main a:not(.button):not(.wp-element-button):not(.wp-block-button__link) {
  color: var(--wpnagi-purple) !important;
}

body.wpnagi-online-courses-fix main :is(del,s,strike) {
  color: var(--wpnagi-purple) !important;
  opacity: .7;
}

/* Do not let a broad WooCommerce span rule make course-list copy disappear. */
body.wpnagi-online-courses-fix main :is(
  .wp-block-post-title,
  .entry-content,
  .course,
  .course-container,
  .sensei-course,
  .sensei-course-list,
  .wp-block-sensei-lms-course-list
) span:not(.screen-reader-text) {
  color: var(--wpnagi-purple) !important;
}

/* Buttons keep their native/theme button colors. */
body.wpnagi-online-courses-fix main :is(button,.button,.wp-element-button,.wp-block-button__link) *,
body.wpnagi-online-courses-fix main :is(button,.button,.wp-element-button,.wp-block-button__link) {
  color: inherit !important;
}


/* v1.3.5 - /online-courses/ Query Loop text visibility.
 * Directly target the actual WordPress Post Excerpt markup reported on the page.
 */
body.wpnagi-online-courses-fix main .wp-block-query,
body.wpnagi-online-courses-fix main .wp-block-post-template,
body.wpnagi-online-courses-fix main .wp-block-post,
body.wpnagi-online-courses-fix main .wp-block-post-excerpt,
body.wpnagi-online-courses-fix main .wp-block-post-excerpt__excerpt,
body.wpnagi-online-courses-fix main .wp-block-post-title,
body.wpnagi-online-courses-fix main .wp-block-post-title a,
body.wpnagi-online-courses-fix main .wp-block-heading,
body.wpnagi-online-courses-fix main p.wp-block-post-excerpt__excerpt {
  color: #75127e !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-text-fill-color: #75127e !important;
}

body.wpnagi-online-courses-fix main .wp-block-post-excerpt__excerpt *,
body.wpnagi-online-courses-fix main .wp-block-post-title * {
  color: #75127e !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-text-fill-color: #75127e !important;
}


/* v1.3.6 - exact long-description border on the two requested courses. */
body.single-course .wpnagi-course-description-border {
  border-color: #145233 !important;
  border-top-color: #145233 !important;
  border-right-color: #145233 !important;
  border-bottom-color: #145233 !important;
  border-left-color: #145233 !important;
}

/* v1.3.8 - exact Sensei 4.26.3 course-outline markup overrides. */
/* Module header/title: requested light cream text. */
body.wpnagi-course-hoof-anatomy section.wp-block-sensei-lms-course-outline-module > header.wp-block-sensei-lms-course-outline-module__header h2.wp-block-sensei-lms-course-outline-module__title,
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module > header.wp-block-sensei-lms-course-outline-module__header h2.wp-block-sensei-lms-course-outline-module__title,
body.wpnagi-course-hoof-dentistry-bodywork-posture section.wp-block-sensei-lms-course-outline-module > header.wp-block-sensei-lms-course-outline-module__header h2.wp-block-sensei-lms-course-outline-module__title {
  color: #e2e1cf !important;
  -webkit-text-fill-color: #e2e1cf !important;
}

/* Keep the module header's screen-reader label aligned with the module title color. */
body.wpnagi-course-hoof-anatomy section.wp-block-sensei-lms-course-outline-module > header.wp-block-sensei-lms-course-outline-module__header .screen-reader-text,
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module > header.wp-block-sensei-lms-course-outline-module__header .screen-reader-text,
body.wpnagi-course-hoof-dentistry-bodywork-posture section.wp-block-sensei-lms-course-outline-module > header.wp-block-sensei-lms-course-outline-module__header .screen-reader-text {
  color: #e2e1cf !important;
  -webkit-text-fill-color: #e2e1cf !important;
}

/* Hoof Trimming Basics lesson rows: match Anatomy exactly. */
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module a.wp-block-sensei-lms-course-outline-lesson.has-background,
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module a.wp-block-sensei-lms-course-outline-lesson.has-background-background-color {
  background: #DFDECF !important;
  background-color: #DFDECF !important;
  color: #75127e !important;
  -webkit-text-fill-color: #75127e !important;
}

body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module a.wp-block-sensei-lms-course-outline-lesson.has-background > span,
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module a.wp-block-sensei-lms-course-outline-lesson.has-background span:not(.screen-reader-text) {
  color: #75127e !important;
  -webkit-text-fill-color: #75127e !important;
}

/* Keep lesson-row icons purple too, matching the text. */
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module a.wp-block-sensei-lms-course-outline-lesson svg,
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module a.wp-block-sensei-lms-course-outline-lesson svg use,
body.wpnagi-course-hoof-trimming-basics section.wp-block-sensei-lms-course-outline-module a.wp-block-sensei-lms-course-outline-lesson svg path {
  color: #75127e !important;
  fill: #75127e !important;
}


/* v1.3.10 - Hoof Trimming Basics lesson rows: exact live markup uses has-primary-background-color. */
body.wpnagi-course-hoof-trimming-basics a.wp-block-sensei-lms-course-outline-lesson.has-primary-background-color,
body.wpnagi-course-hoof-trimming-basics a.wp-block-sensei-lms-course-outline-lesson.has-background,
body.wpnagi-course-hoof-trimming-basics .wp-block-sensei-lms-course-outline a.wp-block-sensei-lms-course-outline-lesson {
  background: #DFDECF !important;
  background-color: #DFDECF !important;
  color: #75127e !important;
  -webkit-text-fill-color: #75127e !important;
}
body.wpnagi-course-hoof-trimming-basics .wp-block-sensei-lms-course-outline a.wp-block-sensei-lms-course-outline-lesson > span {
  color: #75127e !important;
  -webkit-text-fill-color: #75127e !important;
}


/* ==========================================================
 * v1.3.11 — CART / CHECKOUT / MY ACCOUNT ONLY
 * Requested WooCommerce color system. Do not broaden these
 * selectors to shop, product, course, or other site pages.
 * ========================================================== */

/* MY ACCOUNT ONLY: navigation + endpoint/content containers */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-account form.woocommerce-form,
body.woocommerce-account .woocommerce-Address,
body.woocommerce-account table.shop_table,
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .u-columns.col2-set > .u-column1,
body.woocommerce-account .u-columns.col2-set > .u-column2 {
  background-color: #e2e1cf !important;
}

/* Keep My Account navigation itself on the requested tan. */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .woocommerce-MyAccount-navigation li,
body.woocommerce-account .woocommerce-MyAccount-navigation a,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus {
  --wpnagi-dashboard-bg: #e2e1cf;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #e2e1cf !important;
}

/*
 * BUTTONS — ONLY Cart, Checkout, and My Account.
 * Normal: #e2e1cf bg / #75127e text / #145233 border
 * Hover:  #75127e bg / #fcfbf0 text / #1f7a3d border
 */
body.woocommerce-cart :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button
),
body.woocommerce-checkout :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button
),
body.woocommerce-account :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button
):not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close) {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
  color: #75127e !important;
  border-color: #145233 !important;
  box-shadow: none !important;
}

body.woocommerce-cart :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button
):hover,
body.woocommerce-checkout :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button
):hover,
body.woocommerce-account :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button
):not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):hover {
  background: #75127e !important;
  background-color: #75127e !important;
  color: #fcfbf0 !important;
  border-color: #1f7a3d !important;
}

/* Nested Woo block labels/icons must follow the button's own color. */
body.woocommerce-cart :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button) *,
body.woocommerce-checkout :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button) *,
body.woocommerce-account :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button):not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close) * {
  color: inherit !important;
}

body.woocommerce-cart :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button) svg *,
body.woocommerce-checkout :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button) svg *,
body.woocommerce-account :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button):not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close) svg * {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* ==========================================================
 * v1.3.12 — CHECKOUT + MY ACCOUNT ONLY
 * Strictly scoped. Do not apply these rules to other pages.
 * ========================================================== */

/* MY ACCOUNT: every navigation tile uses the requested tan background. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:focus,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:active {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
  color: #75127e !important;
}

/* MY ACCOUNT: notices/messages, including Downloads and Payment Methods. */
body.woocommerce-account .woocommerce-MyAccount-content :is(
  .woocommerce-info,
  .woocommerce-message,
  .woocommerce-error,
  .wc-block-components-notice-banner
) {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
}

/* MY ACCOUNT: payment-method endpoint containers should not fall back to lavender. */
body.woocommerce-account .woocommerce-MyAccount-content :is(
  .woocommerce-Payment,
  .woocommerce-PaymentBox,
  .woocommerce-PaymentMethods,
  .woocommerce-MyAccount-paymentMethods,
  .payment_methods,
  .payment_box
),
body.woocommerce-account .woocommerce-MyAccount-content :is(
  .woocommerce-PaymentMethods,
  .payment_methods
) > li {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
}

/* CHECKOUT ONLY: Place Order button — bold label and exact 4px border. */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button {
  font-weight: 800 !important;
  border: 4px solid #145233 !important;
  border-width: 4px !important;
  border-style: solid !important;
  border-color: #145233 !important;
}

body.woocommerce-checkout #place_order *,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button * {
  font-weight: 800 !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus {
  border: 4px solid #1f7a3d !important;
  border-width: 4px !important;
  border-style: solid !important;
  border-color: #1f7a3d !important;
}

/* ==========================================================
 * v1.3.13 — SHOP PAGE ONLY
 * Apply the established WooCommerce button scheme and correct
 * shop headings/product titles. Do not broaden beyond shop.
 * ========================================================== */

/* SHOP ONLY: same button scheme used on Cart / Checkout / My Account. */
body.woocommerce-shop :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
) {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
  color: #75127e !important;
  border-color: #145233 !important;
  box-shadow: none !important;
}

body.woocommerce-shop :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
):hover,
body.woocommerce-shop :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
):focus {
  background: #75127e !important;
  background-color: #75127e !important;
  color: #fcfbf0 !important;
  border-color: #1f7a3d !important;
}

/* SHOP ONLY: nested button text/icons must follow the button color. */
body.woocommerce-shop :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button) * {
  color: inherit !important;
}

body.woocommerce-shop :is(.button,.woocommerce-button,.wp-element-button,.wp-block-button__link,.wc-block-components-button,button) svg * {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* SHOP ONLY: page heading and product/card titles. Keep header/footer untouched. */
body.woocommerce-shop main :is(
  h1,
  h2,
  h3,
  .page-title,
  .woocommerce-products-header__title,
  .woocommerce-loop-product__title,
  .wc-block-grid__product-title,
  .wp-block-post-title,
  .wp-block-query-title
),
body.woocommerce-shop main :is(
  .woocommerce-loop-product__title,
  .wc-block-grid__product-title,
  .wp-block-post-title
) a {
  color: #e2e1cf !important;
}



/* ==========================================================
 * v1.3.14 — MY ACCOUNT NAV BORDER STATE FIX ONLY
 * Keep the exact same border on normal / hover / focus / active / current.
 * ========================================================== */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:focus,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:active,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.current-menu-item > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.current_page_item > a {
  border: 4px solid #145233 !important;
  border-width: 4px !important;
  border-style: solid !important;
  border-color: #145233 !important;
  box-shadow: none !important;
  outline: none !important;
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
  color: #75127e !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a::before,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a::after,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a::before,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a::after {
  box-shadow: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

/* ==========================================================
 * v1.3.15 — MY ACCOUNT NAV BUTTON HOVER LOGIC
 * Keep border identical in every state. Only change colors on interaction.
 * ========================================================== */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.current-menu-item > a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.current_page_item > a {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
  color: #75127e !important;
  border: 4px solid #145233 !important;
  border-color: #145233 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:focus,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:active,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a:focus,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.current-menu-item > a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.current_page_item > a:hover {
  background: #75127e !important;
  background-color: #75127e !important;
  color: #fcfbf0 !important;
  border: 4px solid #145233 !important;
  border-color: #145233 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:hover *,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:focus *,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li > a:active * {
  color: #fcfbf0 !important;
}


/* ==========================================================
 * v1.3.16 — SHOP META TEXT COLOR FIX ONLY
 * Scope: /shop/ only. Do not affect product, course, cart, checkout, account, header, or footer.
 * ========================================================== */
body.woocommerce-shop main .woocommerce-result-count,
body.woocommerce-shop main .woocommerce-breadcrumb,
body.woocommerce-shop main .woocommerce-breadcrumb a,
body.woocommerce-shop main .price,
body.woocommerce-shop main .price *,
body.woocommerce-shop main .woocommerce-Price-amount,
body.woocommerce-shop main .woocommerce-Price-amount *,
body.woocommerce-shop main .wc-block-components-product-price,
body.woocommerce-shop main .wc-block-components-product-price * {
  color: #e2e1cf !important;
}


/* v1.3.19 - ONLINE COURSES PAGE ONLY.
 * Match the established TLC button system and style the social announcement block.
 */
body.wpnagi-online-courses-fix main :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
) {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
  color: #75127e !important;
  -webkit-text-fill-color: #75127e !important;
  border: 4px solid #145233 !important;
  border-color: #145233 !important;
  box-shadow: none !important;
}

body.wpnagi-online-courses-fix main :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
):is(:hover,:focus,:active) {
  background: #75127e !important;
  background-color: #75127e !important;
  color: #fcfbf0 !important;
  -webkit-text-fill-color: #fcfbf0 !important;
  border: 4px solid #145233 !important;
  border-color: #145233 !important;
  box-shadow: none !important;
}

body.wpnagi-online-courses-fix main :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
) * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

body.wpnagi-online-courses-fix main .wpnagi-online-courses-social-announcement {
  background: #e2e1cf !important;
  background-color: #e2e1cf !important;
  color: #75127e !important;
  -webkit-text-fill-color: #75127e !important;
  border: 4px solid #145233 !important;
  border-color: #145233 !important;
  box-shadow: none !important;
}

body.wpnagi-online-courses-fix main .wpnagi-online-courses-social-announcement :is(
  h1,h2,h3,h4,h5,h6,p,li,span,strong,em,a
) {
  color: #75127e !important;
  -webkit-text-fill-color: #75127e !important;
}


/* v1.3.21 - /online-courses/ page title only. */
body.wpnagi-online-courses-fix main .wpnagi-online-courses-page-title {
  color: #e2e1cf !important;
  -webkit-text-fill-color: #e2e1cf !important;
}

/* ==========================================================
 * v1.3.22 — SHOP BUTTON BORDER COLOR ONLY
 * Scope: /shop/ buttons in every interaction state.
 * ========================================================== */
body.woocommerce-shop :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
),
body.woocommerce-shop :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  a.button,
  .woocommerce-button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button
):is(:hover,:focus,:active) {
  border-color: #75127e !important;
  border-style: solid !important;
  border-width: 4px !important;
}

/* ==========================================================
 * v1.3.26 — MY ACCOUNT LOGIN / REGISTER HEADING ALIGNMENT
 * Scope: /my-account/ logged-out Login and Register headings only.
 * ========================================================== */
body.woocommerce-account .u-columns.col2-set > .u-column1 > h2,
body.woocommerce-account .u-columns.col2-set > .u-column2 > h2 {
  text-align: center !important;
}

/* ==========================================================
 * v1.3.27 — MOBILE HAMBURGER BUTTON BACKGROUND
 * Scope: all pages, mobile only. Background only; icon color is unchanged.
 * ========================================================== */
@media (max-width: 781px) {
  html body .wp-block-navigation__responsive-container-open,
  html body .wp-block-navigation__responsive-container-open:is(:hover,:focus,:active) {
    background: #145233 !important;
    background-color: #145233 !important;
  }
}

/* ==========================================================
 * v1.3.28 — MOBILE OPEN MENU / OVERLAY BACKGROUND
 * Scope: all pages, mobile only. Menu text and close icon are unchanged.
 * ========================================================== */
@media (max-width: 781px) {
  html body .wp-block-navigation__responsive-container.is-menu-open,
  html body .wp-block-navigation__responsive-container.has-modal-open,
  html body .wp-block-navigation__responsive-container[aria-hidden="false"] {
    background: #145233 !important;
    background-color: #145233 !important;
  }
}

/* ==========================================================
 * v1.3.29 — MOBILE OPEN MENU LINK COLOR
 * Scope: all pages, mobile only. Open navigation menu links only.
 * ========================================================== */
@media (max-width: 781px) {
  html body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  html body .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item__content,
  html body .wp-block-navigation__responsive-container[aria-hidden="false"] .wp-block-navigation-item__content,
  html body .wp-block-navigation__responsive-container.is-menu-open a,
  html body .wp-block-navigation__responsive-container.has-modal-open a,
  html body .wp-block-navigation__responsive-container[aria-hidden="false"] a {
    color: #E2E1CF !important;
  }
}


/* ==========================================================
 * v1.3.31 — MY ACCOUNT LOGGED-OUT MOBILE LOGIN/REGISTER COLUMNS
 * Scope: /my-account/ only, logged-out visitors only, mobile only.
 * The visible heading surround belongs to each WooCommerce column,
 * not the parent .u-columns wrapper. Keep the forms themselves unchanged.
 * ========================================================== */
@media (max-width: 781px) {
  body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns.col2-set > .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns.col2-set > .u-column2 {
    background: #1F7A3D !important;
    background-color: #1F7A3D !important;
  }
}


/* ==========================================================
 * v1.3.32 — MY ACCOUNT MOBILE NAV CONTROLS MATCH HOME
 * Scope: /my-account/ responsive navigation controls only.
 * Excluding the open/close navigation buttons from the WooCommerce
 * account button skin lets the theme/sitewide mobile navigation styles
 * render exactly as they do on the Home page.
 * ========================================================== */

/* ==========================================================
 * v1.3.33 — MY ACCOUNT MOBILE LOGIN / REGISTER HEADING COLOR
 * Scope: /my-account/ only, logged-out visitors only, mobile only.
 * ========================================================== */
@media (max-width: 781px) {
  body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns.col2-set > .u-column1 > h2,
  body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns.col2-set > .u-column2 > h2 {
    color: #E2E1CF !important;
    -webkit-text-fill-color: #E2E1CF !important;
  }
}

/* ==========================================================
 * v1.3.34 — MOBILE NAVIGATION CLOSE BUTTON
 * Scope: all pages, mobile only. Keep the close/X control identical
 * across normal, hover, focus, active/tap states.
 * ========================================================== */
@media (max-width: 781px) {
  html body .wp-block-navigation__responsive-container-close,
  html body .wp-block-navigation__responsive-container-close:hover,
  html body .wp-block-navigation__responsive-container-close:focus,
  html body .wp-block-navigation__responsive-container-close:focus-visible,
  html body .wp-block-navigation__responsive-container-close:active {
    background: #145233 !important;
    background-color: #145233 !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
  }

  html body .wp-block-navigation__responsive-container-close svg,
  html body .wp-block-navigation__responsive-container-close svg * {
    color: #000000 !important;
    fill: #000000 !important;
    stroke: #000000 !important;
  }
}


/* ==========================================================
 * v1.3.35 — MOBILE NAVIGATION CLOSE BUTTON HARD OVERRIDE
 * Scope: all pages, mobile only. This duplicates the visual contract
 * with higher specificity; JS also enforces it inline to beat late
 * page-specific/theme rules loaded after this stylesheet.
 * ========================================================== */
@media (max-width: 781px) {
  html body header .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close,
  html body header .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:hover,
  html body header .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:focus,
  html body header .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:focus-visible,
  html body header .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:active,
  html body .wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close,
  html body .wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:hover,
  html body .wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:focus,
  html body .wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:focus-visible,
  html body .wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:active {
    background: #145233 !important;
    background-color: #145233 !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
  }

  html body .wp-block-navigation__responsive-container-close svg,
  html body .wp-block-navigation__responsive-container-close svg *,
  html body .wp-block-navigation__responsive-container-close path,
  html body .wp-block-navigation__responsive-container-close line {
    color: #000000 !important;
    fill: #000000 !important;
    stroke: #000000 !important;
  }
}
