/**
 * Theme Name: Spectra One
 * Author: Brainstorm Force
 * Author URI: https://brainstormforce.com/
 * Description: Spectra One is a beautiful and modern WordPress theme built with the Full Site Editing (FSE) feature. It's a versatile theme that can be used for blogs, portfolios, businesses, and more. Spectra One comes with a sleek and professional design that will make your website stand out from the crowd.
 * Requires at least: 6.1
 * Tested up to: 6.8
 * Requires PHP: 7.4
 * Version: 1.1.7
 * License: GNU General Public License v2 or later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: spectra-one
 * Tags: full-site-editing, blog, theme-options, translation-ready, rtl-language-support, full-width-template
*/


:root {
      --primary-color: #F6C846; /* Sunshine 500 */
      --text-color-dark: #083050; /* Dark Blue 950 */
      --text-color-light: #ffffff; /* White */
      --background-light: #F9FAFB; /* Gray 050 */
      --background-dark: #083050; /* Dark blue 950 */
      --border-base-medium:#E2E8F0;
      --text-body-subtle: #90A1B9;
    }


:root {
  --primary-font-family: "neulis-sans", sans-serif;
  --italic-font-family: "adobe-garamond-pro", serif;
  --base-font-size: 16px;
  --large-font-size: 24px;
  --font-weight-normal: 400;
  --font-weight-bold: 600;
}

body{

font-family: var(--primary-font-family)
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--primary-font-family);
}

/* Apply italic font family wherever italic text is used */
em, i,
[style*="font-style:italic"],
em * , i * {
  font-family: var(--italic-font-family) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: -0.4px !important;
}

.has-inline-color{
  position: relative;
  color: inherit;
}

.lipa-jump-button {
  font-family: var(--italic-font-family) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: -0.4px !important;
  font-size: 21px !important;
}

/* Remove link functionality from buttons with italic font in lipa-sub-links-bar */
/* Only target links that have italic font applied (via inline styles, em/i tags, or href="#") */
.lipa-sub-links-bar button[style*="font-family"][style*="adobe-garamond-pro"],
.lipa-sub-links-bar .wp-block-button__link[style*="font-family"][style*="adobe-garamond-pro"],
.lipa-sub-links-bar a[style*="font-family"][style*="adobe-garamond-pro"],
.lipa-sub-links-bar button[style*="font-style:italic"],
.lipa-sub-links-bar .wp-block-button__link[style*="font-style:italic"],
.lipa-sub-links-bar a[style*="font-style:italic"],
.lipa-sub-links-bar button:has(em),
.lipa-sub-links-bar button:has(i),
.lipa-sub-links-bar .wp-block-button__link:has(em),
.lipa-sub-links-bar .wp-block-button__link:has(i),
.lipa-sub-links-bar a:has(em),
.lipa-sub-links-bar a:has(i),
.lipa-sub-links-bar button[style*="adobe-garamond-pro"],
.lipa-sub-links-bar .wp-block-button__link[style*="adobe-garamond-pro"],
.lipa-sub-links-bar a[style*="adobe-garamond-pro"],
.lipa-sub-links-bar a.wp-block-button__link[href="#"] {
  pointer-events: none !important;
  cursor: default !important;
  text-decoration: none !important;
  color: inherit !important;
}

.lipa-banner-sub-heading {
  font-size: 37px !important;
  line-height: 1 !important;
}

.lipa-heading-separator {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Ensure separator respects editor color choice - don't override with theme colors */
/* The plugin generates CSS with border-top-color set to the editor color (white) */
/* Multiple CSS rules exist - some with white, some with yellow. We need to ensure white wins. */
/* Target the specific block ID with higher specificity to ensure editor color is respected */
.uagb-block-f325e3fc.lipa-heading-separator.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner,
[class*="lipa-page-banner"] .uagb-block-f325e3fc.lipa-heading-separator.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner {
  /* The plugin generates white (rgb(255, 255, 255)) - ensure it's not overridden by yellow */
  /* Use the plugin's generated color by not overriding, or explicitly set to white if in banner */
  border-top-color: rgb(255, 255, 255) !important;
}

.lipa-page-banner-image{
  width: 580px!important;
  position: absolute;
  right: 0;
  bottom: 0;
}

/* Maintain consistent right-side positioning across all screen sizes */
@media (min-width: 1201px) {
  .lipa-page-banner-image {
    width: 580px !important;
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 1200px) {
  .lipa-page-banner-image {
    width: 350px !important;
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 992px) {
  .lipa-page-banner-image {
    width: 350px !important;
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 768px) {
  .lipa-page-banner-image {
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 576px) {
  .lipa-page-banner-image {
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 480px) {
  .lipa-page-banner-image {
    right: 0;
    bottom: 0;
  }
}

/* Responsive font sizing for lipa-banner-sub-heading */
@media (min-width: 1201px) {
  .lipa-banner-sub-heading {
    font-size: 37px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 1200px) {
  .lipa-banner-sub-heading {
    font-size: 32px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 992px) {
  .lipa-banner-sub-heading {
    font-size: 28px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 768px) {
  .lipa-banner-sub-heading {
    font-size: 25px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 576px) {
  .lipa-banner-sub-heading {
    font-size: 25px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 480px) {
  .lipa-banner-sub-heading {
    font-size: 25px !important;
    line-height: 1 !important;
  }
}

/* Ensure lipa-heading-separator is left-aligned across all screen sizes */
@media (min-width: 1201px) {
  .lipa-heading-separator {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 1200px) {
  .lipa-heading-separator {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 992px) {
  .lipa-heading-separator {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 768px) {
  .lipa-heading-separator {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 576px) {
  .lipa-heading-separator {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 480px) {
  .lipa-heading-separator {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* Hide horizontal overflow from banner image */
body {
  overflow-x: hidden !important;
}

/* Ensure parent containers hide overflow to clip banner image */
.wp-block-group:has(.lipa-page-banner-image),
.wp-block-columns:has(.lipa-page-banner-image),
.wp-block-column:has(.lipa-page-banner-image),
.wp-block-post-content:has(.lipa-page-banner-image),
main:has(.lipa-page-banner-image) {
  overflow: hidden !important;
  position: relative !important;
}

/* Containers with banner image - hide overflow to clip image */
[class*="lipa-page-banner"]:not(.lipa-page-banner-product):has(.lipa-page-banner-image) {
  overflow: hidden !important;
  position: relative !important;
}

/* Yoast breadcrumbs styling */
.yoast-breadcrumbs {
  font-size: 14px !important;
  color: var(--text-color-dark, #083050) !important;
  font-family: var(--primary-font-family) !important;
}

.yoast-breadcrumbs a {
  color: var(--text-color-dark, #083050) !important;
  position: relative;
}

/* Hide text separators by making parent font-size 0, then restore on children */
.yoast-breadcrumbs > span {
  font-size: 0;
}

.yoast-breadcrumbs > span > span,
.yoast-breadcrumbs > span > span a,
.yoast-breadcrumbs > span > span.breadcrumb_last {
  font-size: 14px !important;
}

/* Replace default breadcrumb separators with Font Awesome light chevron */
.yoast-breadcrumbs .breadcrumb_separator,
.yoast-breadcrumbs span[aria-hidden="true"],
.yoast-breadcrumbs .separator,
.yoast-breadcrumbs span.separator {
  display: none !important;
  visibility: hidden !important;
  font-size: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* Add Font Awesome chevron after spans containing links (but not the last one) */
.yoast-breadcrumbs > span > span:not(.breadcrumb_last)::after {
  content: "\f054" !important;
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 300 !important;
  font-style: normal !important;
  margin: 0 8px;
  color: var(--background-dark) !important;
  display: inline-block;
  font-size: 14px !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Position breadcrumbs at the top of lipa-page-banner with 10px from top edge */
/* Find the outermost banner container that contains breadcrumbs */
[class*="lipa-page-banner"]:not(.lipa-page-banner-product):has(.yoast-breadcrumbs),
.wp-block-group:has(.yoast-breadcrumbs):has([class*="lipa-page-banner"]):not(.lipa-page-banner-product),
.wp-block-group:has(.yoast-breadcrumbs):has(.lipa-page-banner-image),
.wp-block-group:has(.yoast-breadcrumbs).swt-block-page-banner-group:not(.lipa-page-banner-product) {
  position: relative !important;
  /* Ensure consistent positioning by normalizing padding-top for breadcrumb positioning */
  /* Breadcrumbs will be positioned absolutely, so padding won't affect their position */
}

/* Add margin-bottom to breadcrumbs in lipa-product-banner */
.lipa-product-banner .yoast-breadcrumbs {
  margin-bottom: 20px !important;
}

/* Ensure banner content (titles) can wrap and aren't cut off */
[class*="lipa-page-banner"]:not(.lipa-page-banner-product) h1,
[class*="lipa-page-banner"]:not(.lipa-page-banner-product) .wp-block-post-title,
[class*="lipa-page-banner"]:not(.lipa-page-banner-product) .wp-block-heading {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  max-width: 100% !important;
}

/* Max height for banners on desktop */
@media (min-width: 1201px) {
  [class*="lipa-page-banner"]:not(.lipa-page-banner-product) {
    max-height: 390px !important;
  }
}



a:where(:not(.wp-element-button)){
  font-family: var(--primary-font-family);
}
/* Replace specific inline SVG arrow (path starts with M438.6...) with
   Font Awesome right arrow (light) sitewide.

   Notes:
   - Uses the modern `:has()` selector to detect the exact inline SVG that
     contains the targeted path and inserts a Font Awesome glyph via
     `::after` on that SVG element. This keeps the DOM untouched and is
     CSS-only.
   - As a basic fallback for browsers that don't support `:has()`, the
     original path is made transparent (so the arrow won't show). If you
     need 100% parity in older browsers, I can add a tiny JS fallback that
     adds a replacement class and injects the glyph.
*/

/* Basic fallback: hide the specific path so the original arrow is not visible */
svg path[d^="M438.6"] {
  fill: transparent !important;
  stroke: none !important;
}

/* Primary replacement using :has() */
svg:has(path[d^="M438.6"]) {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  color: currentColor;
  transition: color 0.2s ease;
}

svg:has(path[d^="M438.6"]) path {
  /* ensure the original shapes are invisible when using :has() */
  fill: transparent !important;
  stroke: none !important;
}

svg:has(path[d^="M438.6"])::after {
  /* Font Awesome right arrow (unicode f061) */
  content: "\f061";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; /* light */
  font-style: normal;
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1em;
  line-height: 1;
  pointer-events: none;
  transition: color 0.2s ease;
  color: inherit;
}

/* Ensure SVG arrow color inherits from parent on hover */
.wp-block-button__link:hover svg:has(path[d^="M438.6"])::after,
.uagb-button__link:hover svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover svg:has(path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:hover svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:hover svg:has(path[d^="M438.6"])::after,
.wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after {
  color: inherit !important;
}

/* Arrow color change on hover for buttons containing the SVG arrow */
a:hover svg:has(path[d^="M438.6"]),
button:hover svg:has(path[d^="M438.6"]),
.wp-block-button__link:hover svg:has(path[d^="M438.6"]),
.uagb-button__link:hover svg:has(path[d^="M438.6"]),
.wp-block-uagb-buttons-child .wp-block-button__link:hover svg:has(path[d^="M438.6"]),
.uagb-buttons-repeater .wp-block-button__link:hover svg:has(path[d^="M438.6"]),
.wp-block-uagb-buttons .wp-block-button__link:hover svg:has(path[d^="M438.6"]),
.wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"]),
.uagb-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"]),
.wp-block-uagb-buttons-child .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"]),
.uagb-buttons-repeater .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"]),
.wp-block-uagb-buttons .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"]) {
  color: inherit !important;
}

/* UAGB button icon hover - ensure icon inherits button text color */
.wp-block-button__link:hover .uagb-button__icon,
.uagb-button__link:hover .uagb-button__icon,
.wp-block-uagb-buttons-child .wp-block-button__link:hover .uagb-button__icon,
.uagb-buttons-repeater .wp-block-button__link:hover .uagb-button__icon,
.wp-block-uagb-buttons .wp-block-button__link:hover .uagb-button__icon {
  color: inherit !important;
}

/* Ensure SVG inside icon inherits color from button link on hover */
.wp-block-button__link:hover .uagb-button__icon svg,
.uagb-button__link:hover .uagb-button__icon svg,
.wp-block-uagb-buttons-child .wp-block-button__link:hover .uagb-button__icon svg,
.uagb-buttons-repeater .wp-block-button__link:hover .uagb-button__icon svg,
.wp-block-uagb-buttons .wp-block-button__link:hover .uagb-button__icon svg,
.wp-block-button__link:hover svg:has(path[d^="M438.6"]),
.uagb-button__link:hover svg:has(path[d^="M438.6"]),
.wp-block-uagb-buttons-child .wp-block-button__link:hover svg:has(path[d^="M438.6"]),
.uagb-buttons-repeater .wp-block-button__link:hover svg:has(path[d^="M438.6"]),
.wp-block-uagb-buttons .wp-block-button__link:hover svg:has(path[d^="M438.6"]) {
  color: inherit !important;
}

/* Ensure SVG ::after inherits from SVG on hover for UAGB buttons */
.wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after {
  color: inherit !important;
}

/* Also target when the button link itself is hovered - ensure icon inherits */
.wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon,
.uagb-button__link:has(.uagb-button__icon):hover .uagb-button__icon,
.wp-block-uagb-buttons-child .wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon,
.uagb-buttons-repeater .wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon,
.wp-block-uagb-buttons .wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon {
  color: inherit !important;
}

.wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-button__link:has(.uagb-button__icon):hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:has(.uagb-button__icon):hover .uagb-button__icon svg:has(path[d^="M438.6"])::after {
  color: inherit !important;
}

/* Force SVG ::after to match button link hover color - most specific rule */
.wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.wp-block-button__link:hover svg:has(path[d^="M438.6"])::after,
.uagb-button__link:hover svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover svg:has(path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:hover svg:has(path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:hover svg:has(path[d^="M438.6"])::after {
  /* Use the button link's computed color */
  color: var(--uagb-button-hover-color, inherit) !important;
}

/* Font Awesome arrows on UAGB buttons - use CSS variable for hover color */
.uagb-button__link:hover:has(svg path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover:has(svg path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:hover:has(svg path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:hover:has(svg path[d^="M438.6"])::after,
.uagb-button__link.has-fa-arrow:hover::after,
.wp-block-uagb-buttons-child .wp-block-button__link.has-fa-arrow:hover::after,
.uagb-buttons-repeater .wp-block-button__link.has-fa-arrow:hover::after,
.wp-block-uagb-buttons .wp-block-button__link.has-fa-arrow:hover::after {
  color: var(--uagb-button-hover-color, inherit) !important;
}

/* Set CSS variable on button hover to pass color to children */
/* Target both the wrapper and the link to ensure we capture the hover color */
.wp-block-button__link:hover,
.uagb-button__link:hover,
.wp-block-uagb-buttons-child .wp-block-button__link:hover,
.uagb-buttons-repeater .wp-block-button__link:hover,
.wp-block-uagb-buttons .wp-block-button__link:hover,
.wp-block-uagb-buttons-child:hover .wp-block-button__link,
.uagb-buttons-repeater:hover .wp-block-button__link,
.wp-block-uagb-buttons:hover .wp-block-button__link {
  --uagb-button-hover-color: currentColor;
  /* Also set it directly on the element for immediate access */
  color: inherit;
}

/* Specifically set CSS variable on UAGB buttons with SVG arrows when hovered */
.uagb-button__link:has(svg path[d^="M438.6"]):hover,
.wp-block-uagb-buttons-child .wp-block-button__link:has(svg path[d^="M438.6"]):hover,
.uagb-buttons-repeater .wp-block-button__link:has(svg path[d^="M438.6"]):hover,
.wp-block-uagb-buttons .wp-block-button__link:has(svg path[d^="M438.6"]):hover,
.uagb-button__link:hover:has(svg path[d^="M438.6"]),
.wp-block-uagb-buttons-child .wp-block-button__link:hover:has(svg path[d^="M438.6"]),
.uagb-buttons-repeater .wp-block-button__link:hover:has(svg path[d^="M438.6"]),
.wp-block-uagb-buttons .wp-block-button__link:hover:has(svg path[d^="M438.6"]) {
  --uagb-button-hover-color: currentColor !important;
}

/* Most aggressive approach - target ALL ::after pseudo-elements on button links on hover */
.wp-block-button__link:hover::after,
.uagb-button__link:hover::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover::after,
.uagb-buttons-repeater .wp-block-button__link:hover::after,
.wp-block-uagb-buttons .wp-block-button__link:hover::after {
  /* Use the CSS variable which captures the button's hover color */
  color: var(--uagb-button-hover-color) !important;
}

/* Also target ::after pseudo-elements inside icon containers */
.wp-block-button__link:hover .uagb-button__icon::after,
.uagb-button__link:hover .uagb-button__icon::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover .uagb-button__icon::after,
.uagb-buttons-repeater .wp-block-button__link:hover .uagb-button__icon::after,
.wp-block-uagb-buttons .wp-block-button__link:hover .uagb-button__icon::after {
  color: var(--uagb-button-hover-color) !important;
}

/* Mobile menu breakpoint at 1130px - Override WordPress defaults */
@media (max-width: 1130px) {
  /* Ensure header parent container uses flexbox */
  .wp-block-group.alignwide.is-content-justification-space-between {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  
  /* Order: Logo first */
  .wp-block-group.alignwide .wp-block-image {
    order: 1 !important;
  }
  
  /* Show button container on mobile and order it after logo */
  .wp-block-group.alignwide .spectra-buttons {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    order: 2 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
  
  /* Order: Navigation (with mobile toggle) last */
  .wp-block-group.alignwide .wp-block-navigation {
    order: 4 !important;
    margin-left: -8px !important;
    margin-right: 0 !important;
  }
  
  /* Ensure navigation container uses flexbox and takes full width */
  .wp-block-navigation.is-responsive,
  .wp-block-navigation {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: auto !important;
  }
  
  /* Force hide desktop menu links */
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
  .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
  .wp-block-navigation.is-responsive .wp-block-navigation__container,
  .wp-block-navigation:not(.is-menu-open) .wp-block-navigation__container {
    display: none !important;
  }
  
  /* Show mobile menu open button by default and position it to the far right */
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    margin-left: auto !important;
    order: 999 !important;
  }
  
  /* Hide close button by default */
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-close,
  .wp-block-navigation__responsive-container-close {
    display: none !important;
  }
  
  /* Hide desktop menu */
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container-content {
    display: none !important;
  }
  
  /* When menu is open: hide open button, show close button and menu */
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    display: flex !important;
    margin-left: auto !important;
    order: 999 !important;
  }
  
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: block !important;
  }
  
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    display: flex !important;
  }
}

@media (min-width: 1131px) {
  /* Hide mobile menu toggle button on desktop */
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-open,
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-close,
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close {
    display: none !important;
  }
  
  /* Show desktop menu */
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-content,
  .wp-block-navigation.is-responsive .wp-block-navigation__container,
  .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__container {
    display: flex !important;
  }
}

/* Helper class to add a Font Awesome light right-arrow to specific buttons
   Usage (recommended): In the block editor select the button block, open
   Advanced -> Additional CSS class(es) and add: has-fa-arrow

   This keeps the arrow limited to only buttons you explicitly mark. */
.wp-block-button .wp-block-button__link.has-fa-arrow::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; /* light */
  display: inline-block;
  margin-left: calc(0.6em - 10px);
  vertical-align: middle;
  font-size: 0.95em;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  transition: color 0.2s ease;
}

.wp-block-button .wp-block-button__link.has-fa-arrow:hover::after {
  color: inherit;
}

/* If the button already contains the target inline svg, prefer the :has() replacement (keeps prior behavior) */
.wp-block-button .wp-block-button__link:has(svg path[d^="M438.6"])::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  transition: color 0.2s ease;
}

.wp-block-button .wp-block-button__link:has(svg path[d^="M438.6"]):hover::after {
  color: inherit;
}

/* Font Awesome arrows on UAGB buttons - target button link ::after */
.uagb-button__link:has(svg path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:has(svg path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:has(svg path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:has(svg path[d^="M438.6"])::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  transition: color 0.2s ease;
}

.uagb-button__link:has(svg path[d^="M438.6"]):hover::after,
.wp-block-uagb-buttons-child .wp-block-button__link:has(svg path[d^="M438.6"]):hover::after,
.uagb-buttons-repeater .wp-block-button__link:has(svg path[d^="M438.6"]):hover::after,
.wp-block-uagb-buttons .wp-block-button__link:has(svg path[d^="M438.6"]):hover::after {
  color: var(--uagb-button-hover-color) !important;
}

/* Also target with :hover before :has() for better specificity */
.uagb-button__link:hover:has(svg path[d^="M438.6"])::after,
.wp-block-uagb-buttons-child .wp-block-button__link:hover:has(svg path[d^="M438.6"])::after,
.uagb-buttons-repeater .wp-block-button__link:hover:has(svg path[d^="M438.6"])::after,
.wp-block-uagb-buttons .wp-block-button__link:hover:has(svg path[d^="M438.6"])::after {
  color: var(--uagb-button-hover-color) !important;
}

/* Font Awesome arrows on UAGB buttons with has-fa-arrow class */
.uagb-button__link.has-fa-arrow::after,
.wp-block-uagb-buttons-child .wp-block-button__link.has-fa-arrow::after,
.uagb-buttons-repeater .wp-block-button__link.has-fa-arrow::after,
.wp-block-uagb-buttons .wp-block-button__link.has-fa-arrow::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  display: inline-block;
  margin-left: calc(0.6em - 10px);
  vertical-align: middle;
  font-size: 0.95em;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  transition: color 0.2s ease;
}

.uagb-button__link.has-fa-arrow:hover::after,
.wp-block-uagb-buttons-child .wp-block-button__link.has-fa-arrow:hover::after,
.uagb-buttons-repeater .wp-block-button__link.has-fa-arrow:hover::after,
.wp-block-uagb-buttons .wp-block-button__link.has-fa-arrow:hover::after {
  color: currentColor !important;
}

/* Replace arrow in UAG infobox CTA links */
.uagb-infobox-cta-link svg {
  display: none !important;
}

.uagb-infobox-cta-link::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: middle;
  font-size: 0.95em;
  line-height: 1;
  transition: color 0.2s ease;
}

.uagb-infobox-cta-link:hover::after {
  color: inherit;
}

.swiper-pagination-bullet{
  display: none;
}

/* Slider navigation arrows - Font Awesome thin chevrons */
.swiper-button-prev,
.swiper-button-next {
  width: auto !important;
  height: 45px !important;
  background: none !important;
  border-radius: 0 !important;
  color: var(--text-color-dark) !important;
  z-index: 10 !important;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 100 !important; /* thin */
  font-size: 45px !important;
  line-height: 1 !important;
  color: var(--text-color-dark) !important;
}

.swiper-button-prev::after {
  content: "\f053" !important; /* chevron-left */
}

.swiper-button-next::after {
  content: "\f054" !important; /* chevron-right */
}

/* Ensure slider containers are positioned relative for arrow positioning */
.spectra-slider-container,
.uagb-slider-container {
  position: relative !important;
  min-width: 0 !important; /* Allow container to shrink if needed */
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Ensure ALL parent containers don't clip slider arrows - allow overflow */
.wp-block-group:has(.spectra-slider-container),
.wp-block-group:has(.uagb-slider-container),
.wp-block-group:has(.spectra-slider-navigation),
.wp-block-group:has(.swiper-button-prev),
.wp-block-group:has(.swiper-button-next),
.wp-block-column:has(.spectra-slider-container),
.wp-block-column:has(.uagb-slider-container),
.wp-block-column:has(.spectra-slider-navigation),
.wp-block-column:has(.swiper-button-prev),
.wp-block-column:has(.swiper-button-next),
.wp-block-columns:has(.spectra-slider-container),
.wp-block-columns:has(.uagb-slider-container),
[class*="wp-block"]:has(.spectra-slider-container),
[class*="wp-block"]:has(.uagb-slider-container),
[class*="wp-block"]:has(.spectra-slider-navigation),
[class*="wp-block"]:has(.swiper-button-prev),
[class*="wp-block"]:has(.swiper-button-next),
.wp-block-post-content:has(.spectra-slider-container),
.wp-block-post-content:has(.uagb-slider-container),
main:has(.spectra-slider-container),
main:has(.uagb-slider-container),
.entry-content:has(.spectra-slider-container),
.entry-content:has(.uagb-slider-container) {
  overflow: visible !important;
  overflow-x: visible !important;
}

/* Position arrows INSIDE the slider container, not outside */
.spectra-slider-container .swiper-button-prev,
.uagb-slider-container .swiper-button-prev {
  left: 20px !important;
  margin-left: 0 !important;
}

.spectra-slider-container .swiper-button-next,
.uagb-slider-container .swiper-button-next {
  right: 20px !important;
  margin-right: 0 !important;
}

/* Ensure navigation container is positioned correctly and stays within bounds */
.spectra-slider-navigation {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  pointer-events: none !important;
  z-index: 10 !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

.spectra-slider-navigation .swiper-button-prev,
.spectra-slider-navigation .swiper-button-next {
  position: relative !important;
  pointer-events: all !important;
  margin-top: 0 !important;
  flex-shrink: 0 !important;
  left: auto !important;
  right: auto !important;
}

/* Ensure swiper itself doesn't clip arrows - but keep overflow hidden for slides */
.spectra-slider-container .swiper,
.uagb-slider-container .swiper {
  overflow: hidden !important; /* Swiper needs this for slides */
  position: relative !important;
}

/* For sliders without navigation container, position arrows directly */
.spectra-slider-container:not(:has(.spectra-slider-navigation)) .swiper-button-prev,
.uagb-slider-container:not(:has(.spectra-slider-navigation)) .swiper-button-prev {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 20 !important;
  left: 20px !important;
}

.spectra-slider-container:not(:has(.spectra-slider-navigation)) .swiper-button-next,
.uagb-slider-container:not(:has(.spectra-slider-navigation)) .swiper-button-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 20 !important;
  right: 20px !important;
}

/* Staff slider specific styles - ensure arrows are visible */
.lipa-staff-slider {
  position: relative !important;
  overflow: visible !important;
}

.lipa-staff-slider .spectra-slider-container {
  position: relative !important;
  overflow: visible !important;
}

/* Ensure all parent containers of staff slider allow overflow */
.wp-block-group:has(.lipa-staff-slider),
.wp-block-column:has(.lipa-staff-slider),
.wp-block-columns:has(.lipa-staff-slider),
[class*="wp-block"]:has(.lipa-staff-slider),
.wp-block-post-content:has(.lipa-staff-slider),
main:has(.lipa-staff-slider),
.entry-content:has(.lipa-staff-slider),
body:has(.lipa-staff-slider) {
  overflow-x: visible !important;
}

/* Ensure navigation container for staff slider is visible and positioned correctly */
.lipa-staff-slider .spectra-slider-navigation {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 20px !important;
  z-index: 100 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
}

/* Force arrows to be visible for staff slider */
.lipa-staff-slider .spectra-slider-navigation .swiper-button-prev,
.lipa-staff-slider .spectra-slider-navigation .swiper-button-next {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: auto !important;
  height: 45px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: all !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ensure SVG icons inside arrows are visible */
.lipa-staff-slider .spectra-slider-navigation .swiper-button-prev svg,
.lipa-staff-slider .spectra-slider-navigation .swiper-button-next svg {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 45px !important;
  height: 45px !important;
  fill: currentColor !important;
}

/* Position prev arrow */
.lipa-staff-slider .spectra-slider-navigation .swiper-button-prev {
  left: 0 !important;
  right: auto !important;
}

/* Position next arrow */
.lipa-staff-slider .spectra-slider-navigation .swiper-button-next {
  right: 0 !important;
  left: auto !important;
}

.wp-block-gutsliders-slide img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  align-self: center !important;
}

.lipa-banner-image-rhs img {
  aspect-ratio: 739 / 564 !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  align-self: center !important;
}

.lipa-banner-image-lhs img {
  aspect-ratio: 431 / 718 !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  align-self: center !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="0"] .gutslider-content-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100% !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="0"] .wp-block-columns {
  align-items: center !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="0"] .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="2"] .gutslider-content-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="2"] .wp-block-columns {
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  gap: 48px !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="2"] .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="2"] .wp-block-column:first-of-type .wp-block-uagb-image__figure {
  margin: 0 !important;
}

.wp-block-gutsliders-slide[data-swiper-slide-index="2"] .wp-block-column:first-of-type .wp-block-uagb-image__figure img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

.lipa-probiotics-pullout {
  position: absolute;
  top: 60px;
  right: 140px;
  z-index: 5;
}

/* Responsive adjustments for probiotics section */
@media (max-width: 1024px) and (min-width: 768px) {
  .lipa-probiotics-heading {
    width: 50% !important;
    max-width: 50% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }
}

/* Responsive adjustments for probiotics pullout */
@media (max-width: 1024px) {
  .lipa-probiotics-pullout {
    right: 60px !important;
    top: 40px !important;
    max-width: 140px !important;
    max-height: 140px !important;
  }
}

@media (max-width: 768px) {
  .lipa-probiotics-pullout {
    right: 30px !important;
    top: 30px !important;
    max-width: 140px !important;
    max-height: 140px !important;
  }
}

@media (max-width: 640px) {
  .lipa-probiotics-pullout {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin: 20px auto 0 !important;
    max-width: 140px !important;
    max-height: 140px !important;
  }
}

.lipa-solution-buckets{
  border-radius: 20px;
  background-color: #ffffff;

    .uagb-ifb-title-wrap{
      margin-top: 30px;
    }

  .uagb-ifb-title-wrap, .uagb-ifb-desc, .uagb-ifb-button-wrapper{
    padding:0px 20px;
  }

  .uagb-ifb-button-wrapper{
    margin-bottom: 30px;
  }
}

.lipa-solution-buckets img {
  border-radius: 20px 20px 0px 0px!important;
}

/* Make solution cards equal height */
.uagb-layout-grid.uagb-block-7411e5b1 {
  align-items: stretch !important;
}

.uagb-layout-grid.uagb-block-7411e5b1 > * {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.uagb-layout-grid.uagb-block-7411e5b1 .uagb-ifb-button-wrapper {
  margin-top: auto !important;
}


.lipa-form-tab-wrapper {
.uagb-tabs__body-wrap{
  border-radius: 0px 99px 99px 99px!important;
  padding:40px 40px;
}
}

/* UAGB tabs - hover state for inactive tabs */
.uagb-tabs__wrap .uagb-tabs__panel .uagb-tab:not(.uagb-tabs__active):hover {
  background-color: var(--primary-color) !important;
  transition: background-color 0.2s ease;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab:not(.uagb-tabs__active):hover a {
  color: var(--text-color-dark) !important;
  transition: color 0.2s ease;
}

/* Responsive tabs - Horizontal scroll carousel on mobile */
@media (max-width: 768px) {
  /* Make ONLY the tab buttons scroll horizontally, not the content */
  .uagb-tabs__wrap .uagb-tabs__panel {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE/Edge */
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
  }
  
  /* Hide scrollbar for Chrome/Safari on tab panel */
  .uagb-tabs__wrap .uagb-tabs__panel::-webkit-scrollbar {
    display: none !important;
  }
  
  /* Make each tab consistent width on mobile */
  .uagb-tabs__wrap .uagb-tab {
    flex-shrink: 0 !important;
    width: 85% !important;
    min-width: 280px !important;
    max-width: 350px !important;
    scroll-snap-align: start !important;
  }
  
  /* Ensure the tab content body doesn't scroll horizontally */
  .uagb-tabs__body-wrap {
    overflow-x: visible !important;
    overflow-y: visible !important;
  }
  
  /* Add visual indicator that tabs are scrollable */
  .uagb-tabs__panel::after {
    content: "← Swipe to see more →" !important;
    display: block !important;
    text-align: center !important;
    margin-top: 12px !important;
    font-size: 12px !important;
    color: var(--text-body-subtle) !important;
    opacity: 0.7 !important;
    flex-basis: 100% !important;
  }
}

/* Post Blog Categories */
.post-blog-categories,
.post-blog-categories a {
  font-family: var(--italic-font-family) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: -0.4px !important;
}

/* Blog Listing Categories */
.blog-listing-categories,
.blog-listing-categories a {
  font-family: var(--italic-font-family) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: -0.4px !important;
}

/* Hide image column and stretch text to full width when no featured image */
/* Hide columns containing empty featured image blocks */
.wp-block-column:has(.wp-block-post-featured-image:empty),
.wp-block-column:has(.wp-block-post-featured-image:not(:has(img))):not(:has(.wp-block-post-title)) {
  display: none !important;
}

/* Stretch text column to full width when image column is hidden */
.wp-block-columns:has(.wp-block-column:has(.wp-block-post-featured-image:empty)) .wp-block-column:not(:has(.wp-block-post-featured-image)),
.wp-block-columns:has(.wp-block-column:has(.wp-block-post-featured-image:not(:has(img))):not(:has(.wp-block-post-title))) .wp-block-column:not(:has(.wp-block-post-featured-image)) {
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Additional rules to ensure full width expansion */
.wp-block-columns:has(.wp-block-column:has(.wp-block-post-featured-image:empty)) .wp-block-column:first-child:not(:has(.wp-block-post-featured-image)),
.wp-block-columns:has(.wp-block-column:has(.wp-block-post-featured-image:not(:has(img))):not(:has(.wp-block-post-title))) .wp-block-column:first-child:not(:has(.wp-block-post-featured-image)) {
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Target columns with inline flex-basis styles */
.wp-block-columns:has(.wp-block-column:has(.wp-block-post-featured-image:empty)) .wp-block-column:not(:has(.wp-block-post-featured-image))[style*="flex-basis"],
.wp-block-columns:has(.wp-block-column:has(.wp-block-post-featured-image:not(:has(img))):not(:has(.wp-block-post-title))) .wp-block-column:not(:has(.wp-block-post-featured-image))[style*="flex-basis"] {
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Gravity Forms - Start a new innovation project */

.gform_wrapper .gform_title {
  font-size: 30px;
  font-weight: 500;
  color: var(--background-dark);
  margin-bottom: 16px;
}

.gform_wrapper .gform_description {
  font-size: 20px;
  font-weight: 400;
  color: --background-dark;
}

.gform_required_legend{
  display: none;
}

/* Section headers */
.gform_wrapper .gsection {
  border-block-end: none !important;
}

.gform_wrapper .gsection_title {
  font-size: 30px;
  font-weight: 500;
  color:var(--background-dark);
  border-block-end: none;
  margin: 0px 0px 20px 0px;
}

.lipa-gravity-section-heading h3 {
  font-size: 20px !important;
  margin-bottom: 0px !important;
  margin-top: 30px!important;
}

/* Field layout */
.gform_wrapper ul.gform_fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px !important;
  list-style: none;
  padding: 0;
  margin: 0;
}

.gform_fields {
  row-gap: 10px !important;
}

.gform_wrapper li.gfield {
  margin: 0;
  padding: 0;
  list-style: none;
}


/* Labels */
.gform_wrapper .gfield_label {
  color: var(--black, #083050) !important;
  font-family: "Neulis Sans", var(--primary-font-family) !important;
  font-size: var(--typography-font-size-text-sm, 14px) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: var(--typography-line-height-leading-5, 20px) !important; /* 142.857% */
  margin-bottom: 8px;
  display: block;
}

.gform_wrapper .gfield_required {
  color: #DC3545;
  margin-left: 2px;
}

.gform_wrapper .gform-field-label.gfield_header_item.gform-grid-col {
  color: var(--black, #083050) !important;
  font-family: "Neulis Sans", var(--primary-font-family) !important;
  font-size: var(--typography-font-size-text-sm, 14px) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: var(--typography-line-height-leading-5, 20px) !important; /* 142.857% */
}

/* Inputs & textarea */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100% !important;
  padding: 12px 15px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #212529 !important;
  background-color: var(--background-light) !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease !important;
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: var(--text-body-subtle) !important;
  opacity: 1;
  font-size: 16px !important;
}

.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  border-color: #E0E0E0;
  background-color: #FFFFFF;
}

.gform_wrapper textarea {
  min-height: 150px;
  resize: vertical;
}

/* Select dropdowns */
.gform_wrapper select {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23212529' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 20px center !important;
  padding: 12px 150px 12px 15px !important;
  background-color: var(--background-light) !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  direction: ltr !important;
  max-width: none !important;
  min-height: 45px !important;
  line-height: 1.5 !important;
}

.gform_wrapper select option {
  padding-right: 55px !important;
  white-space: normal !important;
}

.gform_wrapper .ginput_container.ginput_container_select {
  color: var(--text-body-subtle) !important;
}

/* Gravity Forms File Upload Field Styling */
.gform_wrapper .ginput_container_fileupload input[type="file"],
.gform_wrapper .ginput_container_file input[type="file"] {
  width: 100% !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #212529 !important;
  background-color: var(--background-light) !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease !important;
  cursor: pointer !important;
  min-height: 45px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.gform_wrapper .ginput_container_fileupload input[type="file"]:focus,
.gform_wrapper .ginput_container_file input[type="file"]:focus {
  border-color: #E0E0E0 !important;
  background-color: #FFFFFF !important;
}

/* Style the file upload button for multi-file uploads */
.gform_wrapper .gform_button_select_files {
  padding: 12px 15px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #212529 !important;
  background-color: var(--background-light) !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease !important;
  cursor: pointer !important;
  font-family: var(--primary-font-family) !important;
}

.gform_wrapper .gform_button_select_files:hover {
  border-color: #E0E0E0 !important;
  background-color: #FFFFFF !important;
}

.gform_wrapper .ginput_container_fileupload:hover,
.gform_wrapper .ginput_container_file:hover {
  border-color: #E0E0E0 !important;
}

/* Style file input label/button wrapper */
.gform_wrapper .ginput_container_fileupload .gform_drop_area,
.gform_wrapper .ginput_container_file .gform_drop_area {
  padding: 12px 15px !important;
  background-color: var(--background-light) !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.gform_wrapper .ginput_container_fileupload .gform_drop_area:hover,
.gform_wrapper .ginput_container_file .gform_drop_area:hover {
  border-color: #E0E0E0 !important;
  background-color: #FFFFFF !important;
}

/* Style the file input's custom button/label */
.gform_wrapper .ginput_container_fileupload label,
.gform_wrapper .ginput_container_file label {
  padding: 12px 15px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #212529 !important;
  background-color: var(--background-light) !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  display: inline-block !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  font-family: var(--primary-font-family) !important;
}

.gform_wrapper .ginput_container_fileupload label:hover,
.gform_wrapper .ginput_container_file label:hover {
  border-color: #E0E0E0 !important;
  background-color: #FFFFFF !important;
}

/* Style the "Choose file" button - make it white background */
.gform_wrapper .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button,
.gform_wrapper .ginput_container_file input[type="file"]::-webkit-file-upload-button {
  padding: 12px 20px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  background-color: #FFFFFF !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  color: #212529 !important;
  cursor: pointer !important;
  font-family: var(--primary-font-family) !important;
  margin-right: 12px !important;
  min-height: auto !important;
  height: auto !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  box-sizing: border-box !important;
}

/* Ensure the file input container has proper spacing */
.gform_wrapper .ginput_container_fileupload,
.gform_wrapper .ginput_container_file {
  width: 100% !important;
  overflow: visible !important;
}

/* Fix text cutoff in file input field */
.gform_wrapper .ginput_container_fileupload input[type="file"]::file-selector-button,
.gform_wrapper .ginput_container_file input[type="file"]::file-selector-button {
  padding: 12px 20px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  background-color: #FFFFFF !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  color: #212529 !important;
  cursor: pointer !important;
  font-family: var(--primary-font-family) !important;
  margin-right: 12px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  box-sizing: border-box !important;
}

/* Gravity Forms Checkbox Styling */
.gform_wrapper input[type="checkbox"] {
  box-shadow: none !important;
  border: 1px solid var(--text-color-dark) !important;
  border-radius: 4px !important;
  background-color: #FFFFFF !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  cursor: pointer !important;
  position: relative !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}

.gform_wrapper input[type="checkbox"]:checked {
  background-color: #FFFFFF !important;
  border-color: var(--text-color-dark) !important;
}

.gform_wrapper input[type="checkbox"]:checked::before {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 12px !important;
  height: 12px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M10 3L4.5 8.5L2 6' stroke='%23083050' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  margin: 0 !important;
}

.gform_wrapper input[type="checkbox"]:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: var(--text-color-dark) !important;
}

/* Launch Markets field - add top and bottom margin */
.gform-launch-markets {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* Repeater buttons (+ / -) */
.gform_wrapper .gfield_repeater_buttons {
  display: flex;
  gap: 2px !important;
  margin-top: 12px;
  align-items: center;
  justify-content: flex-start !important;
  background-color: none;
}

/* Reduce spacing in list icons container */
.gform_wrapper .gfield_list_icons {
  padding: 0 !important;
  gap: 2px !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

.gform_wrapper .add_list_item,
.gform_wrapper .delete_list_item {
  width: 24px!important;
  height: 24px!important;
  color: #212529;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  position: relative;
  font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro" !important;
  font-weight: 300 !important; /* light */
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Override Gravity Forms CSS variables */
.gform-theme--framework.gform-theme.gform_wrapper .gfield button.add_list_item,
.gform_wrapper .gfield button.add_list_item,
.gform_wrapper button.add_list_item,
.gform_wrapper .add_list_item {
  --gf-local-content: "\f055" !important;
  --gf-icon-font-family: "Font Awesome 7 Pro" !important;
  --gf-local-bg-color: #FFFFFF !important; /* White background */
  box-shadow: none !important;
  background-color: transparent !important;
}

.gform-theme--framework.gform-theme.gform_wrapper .gfield button.delete_list_item,
.gform_wrapper .gfield button.delete_list_item,
.gform_wrapper button.delete_list_item,
.gform_wrapper .delete_list_item {
  --gf-local-content: "\f056" !important;
  --gf-icon-font-family: "Font Awesome 7 Pro" !important;
  --gf-local-bg-color: #FFFFFF !important; /* White background */
  box-shadow: none !important;
  background-color: transparent !important;
}

/* Hide default text/content */
.gform_wrapper .add_list_item,
.gform_wrapper .delete_list_item {
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

.gform_wrapper .add_list_item *,
.gform_wrapper .delete_list_item * {
  display: none !important;
}

/* Add Font Awesome plus-circle icon - using exact Gravity Forms selector to override */
html body .gform-theme--framework.gform-theme.gform_wrapper .gfield:where(.gfield--type-list, .gfield--input-type-list) button.add_list_item::before,
html body .gform-theme--framework.gform-theme.gform_wrapper .gfield button.add_list_item::before,
html body .gform_wrapper .gfield button.add_list_item::before,
html body .gform_wrapper button.add_list_item::before,
html body .gform_wrapper .add_list_item::before,
.gform-theme--framework.gform-theme.gform_wrapper .gfield:where(.gfield--type-list, .gfield--input-type-list) button.add_list_item::before,
.gform-theme--framework.gform-theme.gform_wrapper .gfield button.add_list_item::before,
.gform_wrapper .gfield button.add_list_item::before,
.gform_wrapper button.add_list_item::before,
.gform_wrapper .add_list_item::before {
  content: "\f055" !important; /* Font Awesome plus-circle */
  font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro" !important;
  font-weight: 300 !important; /* light */
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-indent: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #212529 !important;
  display: block !important;
  visibility: visible !important;
  z-index: 1 !important;
  background-color: #FFFFFF !important; /* White background within icon */
  border-radius: 50% !important;
  width: 1em !important;
  height: 1em !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Add Font Awesome minus-circle icon - using exact Gravity Forms selector to override */
html body .gform-theme--framework.gform-theme.gform_wrapper .gfield:where(.gfield--type-list, .gfield--input-type-list) button.delete_list_item::before,
html body .gform-theme--framework.gform-theme.gform_wrapper .gfield button.delete_list_item::before,
html body .gform_wrapper .gfield button.delete_list_item::before,
html body .gform_wrapper button.delete_list_item::before,
html body .gform_wrapper .delete_list_item::before,
.gform-theme--framework.gform-theme.gform_wrapper .gfield:where(.gfield--type-list, .gfield--input-type-list) button.delete_list_item::before,
.gform-theme--framework.gform-theme.gform_wrapper .gfield button.delete_list_item::before,
.gform_wrapper .gfield button.delete_list_item::before,
.gform_wrapper button.delete_list_item::before,
.gform_wrapper .delete_list_item::before {
  content: "\f056" !important; /* Font Awesome minus-circle */
  font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro" !important;
  font-weight: 300 !important; /* light */
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-indent: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #212529 !important;
  display: block !important;
  visibility: visible !important;
  z-index: 1 !important;
  background-color: #FFFFFF !important; /* White background within icon */
  border-radius: 50% !important;
  width: 1em !important;
  height: 1em !important;
  padding: 0 !important;
  margin: 0 !important;
}

.gform-theme--framework.gform-theme.gform_wrapper .gfield button.add_list_item:hover,
.gform_wrapper .gfield button.add_list_item:hover,
.gform_wrapper button.add_list_item:hover,
.gform_wrapper .add_list_item:hover {
  --gf-local-bg-color: var(--primary-color) !important; /* Yellow background on hover */
  background-color: transparent !important;
  color: #212529;
  box-shadow: none !important;
}

.gform-theme--framework.gform-theme.gform_wrapper .gfield button.add_list_item:hover::before,
.gform_wrapper .gfield button.add_list_item:hover::before,
.gform_wrapper button.add_list_item:hover::before,
.gform_wrapper .add_list_item:hover::before {
  background-color: var(--primary-color) !important; /* Yellow background on hover - only inside icon */
  color: #212529;
}

.gform_wrapper .delete_list_item {
  border: none !important;
  color: #212529;
}

.gform-theme--framework.gform-theme.gform_wrapper .gfield button.delete_list_item:hover,
.gform_wrapper .gfield button.delete_list_item:hover,
.gform_wrapper button.delete_list_item:hover,
.gform_wrapper .delete_list_item:hover {
  --gf-local-bg-color: var(--primary-color) !important; /* Yellow background on hover */
  background-color: transparent !important;
  border: none !important;
  color: #212529;
}

.gform-theme--framework.gform-theme.gform_wrapper .gfield button.delete_list_item:hover::before,
.gform_wrapper .gfield button.delete_list_item:hover::before,
.gform_wrapper button.delete_list_item:hover::before,
.gform_wrapper .delete_list_item:hover::before {
  background-color: var(--primary-color) !important; /* Yellow background on hover - only inside icon */
  border-radius: 50% !important;
  color: #212529;
}

/* Remove focus styles from add and delete buttons */
.gform-theme--framework.gform-theme.gform_wrapper .gfield button.add_list_item:focus,
.gform_wrapper .gfield button.add_list_item:focus,
.gform_wrapper button.add_list_item:focus,
.gform_wrapper .add_list_item:focus,
.gform-theme--framework.gform-theme.gform_wrapper .gfield button.delete_list_item:focus,
.gform_wrapper .gfield button.delete_list_item:focus,
.gform_wrapper button.delete_list_item:focus,
.gform_wrapper .delete_list_item:focus {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Hide delete button on first repeater row */
.gform_wrapper .gfield_list .gfield_list_group:first-child .delete_list_item,
.gform_wrapper .gfield_list .gfield_list_group:first-of-type .delete_list_item,
.gform_wrapper .gfield_list_container .gfield_list_group:first-child .delete_list_item,
.gform_wrapper .gfield_list_container .gfield_list_group:first-of-type .delete_list_item {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Submit button */
.gform_wrapper .gform_footer {
  margin-top: 32px;
  padding: 0;
  position: relative;
  display: inline-block;
  width: fit-content;
}

.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
  padding: 12px 44px 12px 24px !important; /* Extra right padding for arrow */
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: var(--text-color-dark) !important;
  background-color: var(--primary-color) !important;
  border: none !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-box-trim: trim !important;
  position: relative;
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

/* Arrow on parent footer since input doesn't support ::after */
.gform_wrapper .gform_footer::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 300 !important; /* light */
  display: inline-block;
  line-height: 1;
  font-size: 14px;
  color: var(--text-color-dark) !important;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: color 0.2s ease;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover {
  background-color: var(--background-dark) !important;
  color: var(--text-color-light) !important;
}

.gform_wrapper .gform_footer:hover::after,
.gform_wrapper .gform_footer:has(.gform_button:hover)::after,
.gform_wrapper .gform_footer:has(input[type="submit"]:hover)::after {
  color: var(--text-color-light) !important;
}

.gform_wrapper .gform_button:active,
.gform_wrapper input[type="submit"]:active {
  transform: translateY(0);
}

/* Responsive: two-column grid for side-by-side fields */
@media (min-width: 640px) {
  .gform_wrapper ul.gform_fields {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px !important;
  }

  .gform_wrapper li.gfield {
    grid-column: span 2;
  }

  .gform_wrapper .gfield.gf_left_half {
    grid-column: 1;
  }

  .gform_wrapper .gfield.gf_right_half {
    grid-column: 2;
  }
  
  /* Full-width textarea */
  .gform_wrapper li.gfield:not(.gf_left_half):not(.gf_right_half) {
    grid-column: span 2;
  }
}

/* Error/validation */
.gform_wrapper .gfield_error {
  background-color: transparent;
  border: none;
  padding: 0;
  margin-bottom: 20px;
}

.gform_wrapper .gfield_error .gfield_label {
  color: #ef4444;
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: #ef4444;
}

.gform_wrapper .validation_message {
  font-size: 13px;
  color: #ef4444;
  margin-top: 6px;
}

/* Your Message field label - target input_1_26 */
.gform_wrapper #field_1_26 .gfield_label,
.gform_wrapper li#field_1_26 .gfield_label {
  font-size: 20px !important;
  margin-top: 20px !important;
}

/* Spectra button icon fill color */
.wp-block-spectra-button:where(div,button,a)[class*=wp-block] .spectra-button__icon.spectra-custom-svg:not(.spectra-icon-color) {
  fill: currentColor !important;
}

/* Spectra button icon fill color on hover */
.wp-block-spectra-button:where(div,button,a)[class*=wp-block]:hover .spectra-button__icon.spectra-custom-svg:not(.spectra-icon-color) {
  fill: currentColor !important;
}

/* Remove margin from specific UAGB advanced heading */
.wp-block-uagb-advanced-heading.uagb-block-6c6dadf2.wp-block-uagb-advanced-heading {
  margin: 0 !important;
}

/* Ultimate Member - Form field label styling */
.um .um-form .um-field-label label {
  color: var(--black, #083050) !important;
  font-family: "Neulis Sans", var(--primary-font-family) !important;
  font-size: var(--typography-font-size-text-sm, 14px) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: var(--typography-line-height-leading-5, 20px) !important; /* 142.857% */
}

/* Ultimate Member - Form field styling */
.um .um-form input[type="text"],
.um .um-form input[type="email"],
.um .um-form input[type="tel"],
.um .um-form input[type="number"],
.um .um-form input[type="password"],
.um .um-form input[type="url"],
.um .um-form input[type="search"],
.um .um-form textarea,
.um .um-form select {
  border-radius: var(--border-border-radius-rounded-base, 12px) !important;
  border: var(--border-border-width-border, 1px) solid var(--colors-border-border-base-medium, #E2E8F0) !important;
  background: var(--colors-gray-050, #F9FAFB) !important;
  box-shadow: 0 1px 0.5px 0.05px rgba(29, 41, 61, 0.02) !important;
}

/* Ultimate Member - Confirm password placeholder font */
.um .um-form input[type="password"]::placeholder,
.um .um-form input[type="password"]::-webkit-input-placeholder,
.um .um-form input[type="password"]::-moz-placeholder,
.um .um-form input[type="password"]:-ms-input-placeholder {
  font-family: var(--primary-font-family) !important;
}

/* Specifically target confirm password field */
.um .um-form .um-field-confirm_password input[type="password"]::placeholder,
.um .um-form .um-field-confirm_password input[type="password"]::-webkit-input-placeholder,
.um .um-form .um-field-confirm_password input[type="password"]::-moz-placeholder,
.um .um-form .um-field-confirm_password input[type="password"]:-ms-input-placeholder,
.um .um-form input[name*="confirm"]::placeholder,
.um .um-form input[name*="confirm"]::-webkit-input-placeholder,
.um .um-form input[name*="confirm"]::-moz-placeholder,
.um .um-form input[name*="confirm"]:-ms-input-placeholder {
  font-family: var(--primary-font-family) !important;
}

/* Ultimate Member - Select2 single selection */
.um .um-form .select2-container--default .select2-selection--single {
  border-radius: var(--border-border-radius-rounded-base, 12px) !important;
  border: var(--border-border-width-border, 1px) solid var(--colors-border-border-base-medium, #E2E8F0) !important;
  background: var(--colors-gray-050, #F9FAFB) !important;
  box-shadow: 0 1px 0.5px 0.05px rgba(29, 41, 61, 0.02) !important;
}

/* Ultimate Member - Select2 multiple selection (general) */
.um .um-form .select2-container--default .select2-selection--multiple {
  border-radius: var(--border-border-radius-rounded-base, 12px) !important;
  border: var(--border-border-width-border, 1px) solid var(--colors-border-border-base-medium, #E2E8F0) !important;
  background: var(--colors-gray-050, #F9FAFB) !important;
  box-shadow: 0 1px 0.5px 0.05px rgba(29, 41, 61, 0.02) !important;
}

/* Ultimate Member - Password eye icon styling with Font Awesome thin */
.um .um-form .um-toggle-password {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.um .um-form .um-toggle-password i {
  display: none !important;
}

.um .um-form .um-toggle-password::before {
  content: "\f06e"; /* Font Awesome eye icon (f06e) - show password */
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 100 !important; /* thin */
  font-style: normal;
  font-size: 20px !important;
  line-height: 1 !important;
  display: inline-block;
  transition: all 0.2s linear;
  -webkit-font-smoothing: antialiased;
}

.um .um-form .um-toggle-password:hover::before {
  color: #44b0ec;
}

/* When password is visible (eye-disabled state), show eye-slash icon */
.um .um-form .um-field-area-password:has(input[type="text"]) .um-toggle-password::before {
  content: "\f070"; /* Font Awesome eye-slash icon (f070) - hide password */
}

/* Target when icon has um-icon-eye-disabled class */
.um .um-form .um-toggle-password i.um-icon-eye-disabled {
  display: none !important;
}

.um .um-form .um-toggle-password:has(i.um-icon-eye-disabled)::before {
  content: "\f070"; /* Font Awesome eye-slash icon (f070) - hide password */
}

/* Ultimate Member - Request access form alignment */
.um.um-register.um-17.uimob340 .um-row._um_row_1 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.um.um-register.um-17.uimob340 .um-row._um_row_1 > [class^="um-col"] {
  flex: 1 1 100%;
  float: none !important;
  width: auto !important;
}

.um.um-register.um-17.uimob340 .um-row._um_row_1 > .um-clear {
  display: none;
}

@media (min-width: 768px) {
  .um.um-register.um-17.uimob340 .um-row._um_row_1 > [class^="um-col"]:nth-of-type(-n+3) {
    flex: 1 1 calc((100% - 20px) / 3);
    max-width: calc((100% - 20px) / 3);
  }

  .um.um-register.um-17.uimob340 .um-row._um_row_1 > [class^="um-col"]:nth-of-type(4),
  .um.um-register.um-17.uimob340 .um-row._um_row_1 > [class^="um-col"]:nth-of-type(5),
  .um.um-register.um-17.uimob340 .um-row._um_row_1 > [class^="um-col"]:nth-of-type(6),
  .um.um-register.um-17.uimob340 .um-row._um_row_1 > [class^="um-col"]:nth-of-type(7) {
    flex: 1 1 calc((100% - 10px) / 2);
    max-width: calc((100% - 10px) / 2);
  }
}

@media (max-width: 767px) {
  .um.um-register.um-17.uimob340 .um-row._um_row_1 {
    gap: 10px;
  }
}

.um.um-register.um-17.uimob340 .um-center {
  position: relative;
  display: inline-block;
}

.um.um-register.um-17.uimob340 .um-button {
  padding: 12px 48px 12px 24px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: var(--text-color-dark) !important;
  background-color: var(--primary-color) !important;
  border: none !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  appearance: none;
  min-width: 0 !important;
}

.um.um-register.um-17.uimob340 .um-center::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 300 !important;
  display: inline-block;
  line-height: 1;
  font-size: 14px;
  color: var(--text-color-dark) !important;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: color 0.2s ease;
}

.um.um-register.um-17.uimob340 .um-button:hover {
  background-color: var(--background-dark) !important;
  color: var(--text-color-light) !important;
}

.um.um-register.um-17.uimob340 .um-center:hover::after,
.um.um-register.um-17.uimob340 .um-center:has(.um-button:hover)::after {
  color: var(--text-color-light) !important;
}

.um.um-register.um-17.uimob340 .um-button:active {
  transform: translateY(0);
}

.um.um-register.um-17.uimob340 .select2-container--default .select2-selection--multiple {
  position: relative;
  padding-right: 40px;
  height: auto;
  min-height: auto;
  display: flex;
  align-items: center;
}

.um.um-register.um-17.uimob340 .select2-container--default .select2-selection--multiple::after {
  content: "\f078";
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 100 !important; /* thin chevron */
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-color-dark);
  pointer-events: none;
  font-size: 16px;
}

.um.um-register.um-17.uimob340 .select2-container--default.select2-container--open .select2-selection--multiple::after {
  transform: translateY(-50%) rotate(180deg);
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .um-field-label label {
  color: var(--black, #083050);
  font-family: "Neulis Sans", var(--primary-font-family);
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
}

/* White label categories field - Select2 container styling to match other fields */
.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-container--default .select2-selection--multiple {
  width: 100% !important;
  padding: 12px 40px 12px 15px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #212529 !important;
  background: var(--colors-gray-050, #F9FAFB) !important;
  border: var(--border-border-width-border, 1px) solid var(--colors-border-border-base-medium, #E2E8F0) !important;
  border-radius: var(--border-border-radius-rounded-base, 12px) !important;
  outline: none !important;
  box-shadow: 0 1px 0.5px 0.05px rgba(29, 41, 61, 0.02) !important;
  transition: border-color 0.2s ease !important;
  height: auto !important;
  min-height: auto !important;
  display: flex !important;
  align-items: center !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-container--default .select2-selection--multiple:focus {
  border-color: #E0E0E0 !important;
  background-color: #FFFFFF !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #FFFFFF !important;
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 8px !important;
  padding: 4px 8px !important;
  margin: 2px 4px 2px 0 !important;
  font-size: 14px !important;
  color: #212529 !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #212529 !important;
  margin-right: 6px !important;
  font-size: 14px !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #DC3545 !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-container--default .select2-selection--multiple::after {
  content: "\f078";
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 100 !important; /* thin chevron */
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-color-dark);
  pointer-events: none;
  font-size: 16px;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-container--default.select2-container--open .select2-selection--multiple::after {
  transform: translateY(-50%) rotate(180deg);
}

/* White label categories dropdown styling */
.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-dropdown {
  border: 1px solid var(--border-base-medium) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
  margin-top: 4px !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-results__option {
  padding: 12px 15px !important;
  font-size: 14px !important;
  color: #212529 !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-results__option--highlighted {
  background-color: var(--primary-color) !important;
  color: var(--text-color-dark) !important;
}

.um.um-register.um-17.uimob340 .um-field-whitelabelcategories .select2-results__option[aria-selected="true"] {
  background-color: var(--background-light) !important;
  color: var(--text-color-dark) !important;
}

/* Position lipa-product-category-container-image relative with -35px bottom */
.lipa-product-category-container-image {
  position: relative !important;
  bottom: -35px !important;
}

/* Hide overflow for containers with lipa-product-category-container-image */
.lipa-product-category-container:has(.lipa-product-category-container-image) {
  overflow: hidden !important;
}

/* Override overflow for small containers */
.lipa-product-category-container-small:has(.lipa-product-category-container-image) {
  overflow: visible !important;
}

/* Remove gap under image in product category containers */
.lipa-product-category-container-info figure:has(img) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.lipa-product-category-container-info:has(figure:has(img)) {
  padding-bottom: 0 !important;
  gap: 0 !important;
}

/* Remove margin/padding from image wrapper div */
.lipa-product-category-container-info .wp-block-uagb-image:has(figure:has(img)) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Hide button within lipa-product-category-container-info until hovered */
.lipa-product-category-container-info button,
.lipa-product-category-container-info .wp-block-button,
.lipa-product-category-container-info .wp-block-uagb-buttons-child,
.lipa-product-category-container-info .uagb-buttons-repeater,
.lipa-product-category-container-info .wp-block-uagb-buttons {
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease, height 0.3s ease, min-height 0.3s ease, margin 0.3s ease, padding 0.3s ease !important;
}

/* Show button when container or any element within is hovered */
.lipa-product-category-container:hover .lipa-product-category-container-info button,
.lipa-product-category-container:hover .lipa-product-category-container-info .wp-block-button,
.lipa-product-category-container:hover .lipa-product-category-container-info .wp-block-uagb-buttons-child,
.lipa-product-category-container:hover .lipa-product-category-container-info .uagb-buttons-repeater,
.lipa-product-category-container:hover .lipa-product-category-container-info .wp-block-uagb-buttons,
.lipa-product-category-container *:hover ~ .lipa-product-category-container-info button,
.lipa-product-category-container *:hover ~ .lipa-product-category-container-info .wp-block-button {
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
  padding: 12px 20px !important;
  margin: revert !important;
}

/* Prevent text wrapping in buttons */
.lipa-product-category-container-info button,
.lipa-product-category-container-info .wp-block-button__link,
.lipa-product-category-container-info .uagb-button__link {
  white-space: nowrap !important;
}

/* Ensure text and arrow go dark blue on hover for buttons in product category container */
.lipa-product-category-container-info button:hover,
.lipa-product-category-container-info .wp-block-button__link:hover,
.lipa-product-category-container-info .uagb-button__link:hover {
  color: var(--text-color-dark, #083050) !important;
  --uagb-button-hover-color: var(--text-color-dark, #083050) !important;
}

.lipa-product-category-container-info button:hover::after,
.lipa-product-category-container-info .wp-block-button__link:hover::after,
.lipa-product-category-container-info .uagb-button__link:hover::after {
  color: var(--text-color-dark, #083050) !important;
}

.lipa-product-category-container-info button:hover .uagb-button__icon::after,
.lipa-product-category-container-info .wp-block-button__link:hover .uagb-button__icon::after,
.lipa-product-category-container-info .uagb-button__link:hover .uagb-button__icon::after {
  color: var(--text-color-dark, #083050) !important;
}

.lipa-product-category-container-info button:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.lipa-product-category-container-info .wp-block-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after,
.lipa-product-category-container-info .uagb-button__link:hover .uagb-button__icon svg:has(path[d^="M438.6"])::after {
  color: var(--text-color-dark, #083050) !important;
}

.lipa-product-category-container-info button.has-fa-arrow:hover::after,
.lipa-product-category-container-info .wp-block-button__link.has-fa-arrow:hover::after,
.lipa-product-category-container-info .uagb-button__link.has-fa-arrow:hover::after {
  color: var(--text-color-dark, #083050) !important;
}

.lipa-product-category-container-info button:hover .uagb-button__icon svg,
.lipa-product-category-container-info .wp-block-button__link:hover .uagb-button__icon svg,
.lipa-product-category-container-info .uagb-button__link:hover .uagb-button__icon svg {
  color: var(--text-color-dark, #083050) !important;
  fill: var(--text-color-dark, #083050) !important;
}

/* Remove external padding/margin around buttons but keep internal padding */
.lipa-product-category-container-info .wp-block-button,
.lipa-product-category-container-info .wp-block-uagb-buttons-child,
.lipa-product-category-container-info .uagb-buttons-repeater,
.lipa-product-category-container-info .wp-block-uagb-buttons {
  margin: 0 !important;
  padding: 0 !important;
}

/* Center remaining elements within lipa-product-category-container-info */
.lipa-product-category-container-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.lipa-product-category-container-info > *:not(button):not(.wp-block-button):not(.wp-block-uagb-buttons-child):not(.uagb-buttons-repeater):not(.wp-block-uagb-buttons) {
  text-align: center !important;
}

/* Small product category container - 80px height with image on left */
.lipa-product-category-container-small {
  height: 80px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  overflow: visible !important;
}

.lipa-product-category-container-small .lipa-product-category-container-image {
  position: relative !important;
  bottom: 0 !important;
  top: auto !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 80px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}

.lipa-product-category-container-small img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 80px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 80px !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lipa-product-category-container-small figure,
.lipa-product-category-container-small .wp-block-uagb-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 80px !important;
  width: auto !important;
  max-height: 80px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.lipa-product-category-container-small .lipa-product-category-container-info {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex: 1 !important;
}

/* Align items within lipa-image-icon-list to the top and keep 3 per row */
.lipa-image-icon-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
}

.lipa-image-icon-list > * {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  align-self: flex-start !important;
  justify-content: flex-start !important;
  vertical-align: top !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  width: calc(33.333% - 1rem) !important;
  flex: 0 0 calc(33.333% - 1rem) !important;
  max-width: calc(33.333% - 1rem) !important;
  box-sizing: border-box !important;
}

.lipa-image-icon-list > * > * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.lipa-image-icon-list > * > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Ensure grid layouts also align to top and keep 3 per row */
.lipa-image-icon-list[class*="grid"],
.lipa-image-icon-list[style*="grid"],
.lipa-image-icon-list.wp-block-columns,
.lipa-image-icon-list.has-columns {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  align-items: start !important;
  align-content: start !important;
  gap: 1rem !important;
}

.lipa-image-icon-list[class*="grid"] > *,
.lipa-image-icon-list[style*="grid"] > *,
.lipa-image-icon-list.wp-block-columns > *,
.lipa-image-icon-list.has-columns > * {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Override any WordPress block column alignment */
.lipa-image-icon-list .wp-block-column,
.lipa-image-icon-list .wp-block-group {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove left padding from spectra-list */
.spectra-list {
  padding-left: 0 !important;
}

/* Align icons to baseline of text in spectra-list */
.spectra-list li {
  display: flex !important;
  align-items: baseline !important;
}

.spectra-list li::before,
.spectra-list li svg,
.spectra-list li img {
  align-self: baseline !important;
  vertical-align: baseline !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: relative !important;
  top: 0.15em !important;
}

/* Related Categories Slider - Hide dots, move arrows outside */
.lipa-related-categories-container {
  position: relative;
  overflow: visible;
  padding: 0 60px;
}

.lipa-related-categories-container .swiper {
  overflow: hidden;
  padding: 0;
  width: 100%;
  max-width: 100%;
}

.lipa-related-categories-container .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.lipa-related-categories-container .swiper-slide {
  height: auto;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Hide pagination dots */
.lipa-related-categories-container .swiper-pagination {
  display: none !important;
}

/* Position arrows outside the cards */
.lipa-related-categories-container .swiper-button-prev,
.lipa-related-categories-container .swiper-button-next {
  width: auto;
  height: auto;
  margin-top: 0;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: var(--text-color-dark, #083050);
  transition: opacity 0.3s ease;
  position: absolute;
  z-index: 10;
}

.lipa-related-categories-container .swiper-button-prev:hover,
.lipa-related-categories-container .swiper-button-next:hover {
  opacity: 0.7;
}

.lipa-related-categories-container .swiper-button-prev {
  left: -60px;
}

.lipa-related-categories-container .swiper-button-next {
  right: -60px;
}

.lipa-related-categories-container .swiper-button-prev::after,
.lipa-related-categories-container .swiper-button-next::after {
  font-family: "Font Awesome 6 Pro", "Font Awesome 7 Pro" !important;
  font-weight: 100 !important;
  font-size: 24px;
  color: var(--text-color-dark, #083050);
}

.lipa-related-categories-container .swiper-button-prev::after {
  content: "\f053";
}

.lipa-related-categories-container .swiper-button-next::after {
  content: "\f054";
}

/* Responsive */
@media (max-width: 768px) {
  .lipa-related-categories-container {
    padding: 0 50px;
  }
  
  .lipa-related-categories-container .swiper-button-prev {
    left: -50px;
  }
  
  .lipa-related-categories-container .swiper-button-next {
    right: -50px;
  }
  
  .lipa-related-categories-container .swiper-button-prev::after,
  .lipa-related-categories-container .swiper-button-next::after {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .lipa-related-categories-container {
    padding: 0 40px;
  }
  
  .lipa-related-categories-container .swiper-button-prev {
    left: -40px;
  }
  
  .lipa-related-categories-container .swiper-button-next {
    right: -40px;
  }
  
  .lipa-related-categories-container .swiper-button-prev::after,
  .lipa-related-categories-container .swiper-button-next::after {
    font-size: 18px;
  }
}


/* Video play button - remove background colors and center on image */
.lipa-video-play-button {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  position: absolute !important;
  top: calc(50% - 210px) !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10 !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  width: 100px !important;
  height: 100px !important;
}

/* Ensure parent container is positioned relative for absolute positioning */
:has(.lipa-video-play-button) {
  position: relative !important;
}

/* Also target common image containers - make sure they're relative */
.wp-block-image:has(.lipa-video-play-button),
figure:has(.lipa-video-play-button),
.wp-block-group:has(.lipa-video-play-button),
.wp-block-column:has(.lipa-video-play-button),
.wp-block-columns:has(.lipa-video-play-button) {
  position: relative !important;
}

/* Ensure the image itself doesn't interfere with positioning */
.wp-block-image:has(.lipa-video-play-button) img,
figure:has(.lipa-video-play-button) img {
  position: relative !important;
  z-index: 1 !important;
}

/* Make sure button appears above image */
.lipa-video-play-button svg {
  display: block !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100px !important;
  height: 100px !important;
}

/* Make team images fill full width of container */
.lipa-team-image,
.lipa-team-image img,
.lipa-team-image figure,
.lipa-team-image .wp-block-image,
.lipa-team-image figure img {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

.lipa-team-image img {
  height: auto !important;
  object-fit: cover !important;
}

/* Hide overflow on leadership image and add rounded corners */
.lipa-leadership-image {
  overflow: hidden !important;
  border-radius: 0 20px 20px 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Ensure nested image elements also have rounded corners and fill height */
.lipa-leadership-image img,
.lipa-leadership-image figure,
.lipa-leadership-image .wp-block-image,
.lipa-leadership-image figure img {
  border-radius: 0 20px 20px 0 !important;
  overflow: hidden !important;
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* Ensure figure and wp-block-image containers fill height */
.lipa-leadership-image figure,
.lipa-leadership-image .wp-block-image {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Make video image larger and overflow off left edge */
.lipa-video-image {
  width: 100% !important;
  max-width: none !important;
  transform: scale(1.5) !important;
  transform-origin: right center !important;
  margin-left: calc(-25% + 40px) !important;
  position: relative !important;
}

/* Ensure parent container allows overflow - target specific containers only */
.wp-block-column:has(.lipa-video-image),
.wp-block-group:has(.lipa-video-image),
.wp-block-columns:has(.lipa-video-image),
.wp-block-column .lipa-video-image,
.wp-block-group .lipa-video-image {
  overflow: visible !important;
}

/* Ensure image elements also scale */
.lipa-video-image img,
.lipa-video-image figure,
.lipa-video-image .wp-block-image,
.lipa-video-image figure img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}




