/**
 * Theme Name:     Heritage and Lineage
 * Author:         Abstraction
 * Template:       astra
 * Text Domain:	   heritage-and-lineage
 * Description:    The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
 */
/* ==========================================================
   Buttons: ONLY Elementor + WPForms
   Excludes header/nav areas (menu buttons, header CTAs, etc.)
   Default: #223580 fill, white text, outer outline frame
   Hover: outline moves outward (gap increases)
   Alt: add class "btn-alt" for #fafafa fill + blue text + fafafa outline
   ========================================================== */

:root{
  --btn-blue: #223580;
  --btn-light: #fafafa;

  --outline-w: 3px;
  --gap-rest: 6px;
  --gap-hover: 12px;

  --btn-radius: 0px;
  --btn-pad-y: 14px;
  --btn-pad-x: 20px;

  --btn-font-size: 12px;
  --btn-font-weight: 400;
  --btn-letter-spacing: 3px;
}

.wpforms-form button[type="submit"], .wpforms-form input[type="submit"] {
    width: auto;
    text-transform: uppercase;
}

/* Center the PRIMARY footer content (logo block) */
#colophon .site-footer-primary-section-1,
#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright > .ast-footer-copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

/* Make the <p> and <a> not fight the centering */
#colophon .ast-footer-copyright p{
  margin: 0;
}

#colophon .ast-footer-copyright a{
  display: inline-block;
}

/* Optional: make the logo behave nicely */
#colophon .ast-footer-copyright img{
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

.elementor-4111 .elementor-element.elementor-element-9881a4e .wpr-grid-image-wrap {
  border-style: none;
  border-radius: 0px 0px 0px 0px;
  border: solid 3px #28397f!important;
  padding: 10px!important;
}

@media (min-width: 1px) {
  .ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single, .ast-separate-container .comments-title, .ast-separate-container .ast-archive-description {
    padding: 1.5em 2em;
  }
	.entry-title {
  font-size: 30px;
		  text-align: center;
}
}

@media (min-width: 768px) {

	.entry-title {
  font-size: 50px;
    text-align: center;
}
}

.entry-meta {
  display: none;
}

.single .entry-header .post-thumb img {
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
	  border: solid 3px #28397f!important;
  padding: 20px!important;
}

p, .entry-content p {
  margin-bottom: 1em;
}

/* Remove bottom margin from the last paragraph in a block */
p:last-child,
.entry-content p:last-child {
  margin-bottom: 0;
}

/* Extra safety: if the last child isn't a <p> but the last paragraph should still be flush */
p:last-of-type,
.entry-content p:last-of-type {
  margin-bottom: 0;
}

.elementor-button-wrapper {
  margin-top: 20px;
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
border-width: 0;}

.wpforms-container .wpforms-submit-container {
  padding: 50px 0 0 0!important;
  position: relative;
}

.wpforms-container input[type="date"], .wpforms-container input[type="datetime"], .wpforms-container input[type="datetime-local"], .wpforms-container input[type="email"], .wpforms-container input[type="month"], .wpforms-container input[type="number"], .wpforms-container input[type="password"], .wpforms-container input[type="range"], .wpforms-container input[type="search"], .wpforms-container input[type="tel"], .wpforms-container input[type="text"], .wpforms-container input[type="time"], .wpforms-container input[type="url"], .wpforms-container input[type="week"], .wpforms-container select, .wpforms-container textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  float: none;
  font-family: inherit;
  background: #223580;
border-color:#f1f1f1!important;
  border-width: 0px 0px 2px 0px;
  border-radius: 0px;	
}

input:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="number"]:focus, textarea:focus, .wp-block-search__input:focus, [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus, .ast-mobile-popup-drawer.active .menu-toggle-close:focus, #ast-scroll-top:focus, #coupon_code:focus, #ast-coupon-code:focus{border-color:#f1f1f1;}
input[type="email"], input[type="number"], input[type="password"], input[type="reset"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], select, textarea {
  color: #f1f1f1!important;
  padding: .75em;
  height: auto;
  border-width: 1px;
  border-style: solid;
  border-color: var(--ast-border-color);
  border-radius: 2px;
  background: var(--ast-comment-inputs-background);
  box-shadow: none;
  box-sizing: border-box;
  transition: all .2s linear;
}

#wpforms-confirmation-1042 {
  color: #f1f1f1;
  font-family: 'Cormorant Garamond',serif;
  text-align:center;
	font-size:20px;
}

.wpforms-container .wpforms-error-container, .wpforms-container noscript.wpforms-error-noscript {
  color: #fff!important;
}

.wpforms-container label.wpforms-error {
  display: block;
    color: #fff!important;
  font-size: 0.9em;
  float: none;
  cursor: default;
}

/* Add this class to the container: hl-photo-frame */
.hl-photo-frame{
  background-color: #fff;          /* the white frame */
  padding: 24px;                   /* frame thickness */
  background-clip: content-box;    /* keep bg inside padding */
  box-sizing: border-box;
  background-origin: content-box;  /* start bg inside padding */
}



.elementor-element.elementor-element-aa625a1{
  text-align: center;
}

/* Center the line image inside the Elementor image widget */
.elementor-element.elementor-element-aa625a1 .elementor-widget-container{
  display: flex;
  justify-content: center;   /* horizontal centering */
}


/* HERO fills viewport height minus header */
.elementor-element.elementor-element-1ae080f.hero {
  --header-h: 100px;                /* adjust if your header isn't ~100px */
  min-height: calc(100svh - var(--header-h));
  min-height: calc(85vh - var(--header-h)); /* fallback */
  display: flex;
}

/* Make Elementor's inner wrapper stretch to full height */
.elementor-element.elementor-element-1ae080f.hero > .e-con-inner {
  flex: 1;
  display: flex;
}

/* Make the hero's direct child fill and pin its content to the bottom */
.elementor-element.elementor-element-1ae080f.hero
  > .e-con-inner
  > .elementor-element.elementor-element-b3bb506 {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;        /* this is the "bottom touches viewport bottom" part */
  min-height: 0;                    /* IMPORTANT: allows children to shrink */
}

/* The line image should shrink when the viewport height shrinks */
.elementor-element.elementor-element-aa625a1 {
  flex: 1 1 auto;                   /* let it take remaining space */
  min-height: 0;                    /* allow shrinking */
  display: flex;
}



/* Heading stays readable and doesn't get squeezed weirdly */
.elementor-element.elementor-element-f670957 {
  flex: 0 0 auto;
}
















@media (min-width: 1px) {
.and-title {
  width: 30px;
  margin: -9px -3px 0px 0px;display: inline;
}
 header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img {
    max-width: 200px;
    width: 200px;
    text-align: left;
    position: absolute;
    left: 15px;
    top: 27px;
  }	
	
.elementor-element.elementor-element-aa625a1 img {
  height: 55vh;
  max-height: 55vh;
  width: auto;
  object-fit: contain;              /* keep it from distorting */
  display: block;
}
	
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
  -js-display: flex;
  display: flex;
  align-items: center;
  width: auto;
  height: 80px;
  border-radius: 0;
  padding: 0px 25px 0px 30px;
}
	
.ast-builder-layout-element.ast-flex.site-header-focus-item.ast-header-html-1 {
  height: 80px;
  background: #d8d8d8;
  padding: 0px 50px;
  display:none;
}		
	
.mobile-menu{display:none;}	
.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar{padding:0px;}		
}



@media (min-width: 360px) {
	
 header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img {
    max-width: 230px;
    width: 230px;
    text-align: left;
    position: absolute;
    left: 15px;
    top: 27px;
  }	
}

@media (min-width: 428px) {
	
  header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img {
    max-width: 170px;
    width: 170px;
    text-align: left;
    position: relative;
    left: auto;
    top: auto;
  }	
	
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
  -js-display: flex;
  display: flex;
  align-items: center;
  width: auto;
  height: 115px;
  border-radius: 0;
  padding: 0px 17px;
}
.ast-builder-layout-element.ast-flex.site-header-focus-item.ast-header-html-1 {
  height: 115px;
  background: #d8d8d8;
  padding: 0px 30px;
  display:block;	
}	
.mobile-menu{display:block;}	
}

@media (min-width: 500px) {
	
  header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img {
    max-width: 230px;
    width: 230px;
    text-align: center;
    position: relative;
    left: auto;
    top: auto;
  }	
	
.elementor-element.elementor-element-aa625a1 img {
  height: 55vh;
  max-height: 55vh;
  width: auto;
  object-fit: contain;              /* keep it from distorting */
  display: block;
}	
}


@media (min-width: 600px) {
	
  header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img {
    max-width: 230px;
    width: 230px;
    text-align: center;
    position: relative;
    left: auto;
    top: auto;
  }	
}

@media (min-width: 768px) {
.and-title {
  width: 37px;
  margin: -9px -5px 0px 0px;display: inline;
}	
  header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img {
    max-width: 300px;
    width: 300px;
    text-align: center;
    position: relative;
    left: auto;
    top: auto;
  }	
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
  width: 100%;
	max-width: 45%;}
	
.elementor-element.elementor-element-aa625a1 img {
  height: 65vh;
  max-height: 65vh;
  width: auto;
  object-fit: contain;              /* keep it from distorting */
  display: block;
}	
	
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
  -js-display: flex;
  display: flex;
  align-items: center;
  width: auto;
  height: 125px;
  border-radius: 0;
  padding: 0px 30px;
}
.ast-builder-layout-element.ast-flex.site-header-focus-item.ast-header-html-1 {
  height: 125px;
  background: #d8d8d8;
  padding: 0px 50px;
}	
.mobile-menu{display:block;}	
}

@media (min-width: 992px) {
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
  -js-display: flex;
  display: flex;
  align-items: center;
  width: auto;
  height: 125px;
  border-radius: 0;
  padding: 0px 30px;
}
.ast-builder-layout-element.ast-flex.site-header-focus-item.ast-header-html-1 {
  height: 125px;
  background: #d8d8d8;
  padding: 0px 50px;
}	
.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar{padding:0px;}	
	
}

@media (max-width: 9999px) {
  .ast-builder-menu-1 .menu-item > .ast-menu-toggle {
    color: #f1f1f1 !important;
  }
}


.ast-header-break-point .main-navigation ul .menu-item .menu-link {

  border-bottom-width: 0px!important;
}

/* ==========================================
   Astra mobile menu: 2-line hamburger
   (hide the middle bar only)
   ========================================== */

.ast-mobile-svg.ast-menu-svg {
  /* Clip out the middle third of the SVG */
  clip-path: polygon(
    0% 0%,
    100% 0%,
    100% 35%,
    0% 35%,
    0% 65%,
    100% 65%,
    100% 100%,
    0% 100%
  );
}




.menu-item-has-children .sub-menu {
display:block!important;
}




/* Remove focus outlines/dots in Astra header + off-canvas menu */
header.site-header a:focus,
header.site-header a:focus-visible,
header.site-header button:focus,
header.site-header button:focus-visible,
.ast-mobile-popup-drawer a:focus,
.ast-mobile-popup-drawer a:focus-visible,
.ast-mobile-popup-drawer button:focus,
.ast-mobile-popup-drawer button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Sometimes Astra adds a pseudo-element for focus */
header.site-header a:focus::after,
header.site-header a:focus-visible::after,
.ast-mobile-popup-drawer a:focus::after,
.ast-mobile-popup-drawer a:focus-visible::after {
  content: none !important;
}




/* ---------- TARGETS (ONLY THESE) ----------
   1) Elementor buttons (but NOT inside header/nav)
   2) WPForms submit buttons (safe)
------------------------------------------- */

:where(
  /* Elementor buttons outside headers */
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link,

  /* WPForms submit buttons */
  .wpforms-form button[type="submit"],
  .wpforms-form input[type="submit"]
){
  background: var(--btn-blue) !important;
  color: #ffffff !important;

  border: 0 !important;
  border-radius: var(--btn-radius) !important;

  padding: var(--btn-pad-y) var(--btn-pad-x) !important;

  font-size: var(--btn-font-size) !important;
  font-weight: var(--btn-font-weight) !important;
  letter-spacing: var(--btn-letter-spacing) !important;
  line-height: 1 !important;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  position: relative;
  overflow: visible;
  cursor: pointer;

  text-decoration: none !important;
  -webkit-appearance: none;
  appearance: none;

  transition: transform 180ms ease;
}

/* Outer outline frame */
:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link,
  .wpforms-form button[type="submit"],
  .wpforms-form input[type="submit"]
)::after{
  content: "";
  position: absolute;
  inset: calc(-1 * (var(--gap-rest) + var(--outline-w)));
  border: var(--outline-w) solid var(--btn-blue);
  border-radius: var(--btn-radius);
  pointer-events: none;
  transition: inset 220ms ease;
}

/* Hover: expand the gap */
:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link,
  .wpforms-form button[type="submit"],
  .wpforms-form input[type="submit"]
):hover::after{
  inset: calc(-1 * (var(--gap-hover) + var(--outline-w)));
}

/* Optional tiny lift */
:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link,
  .wpforms-form button[type="submit"],
  .wpforms-form input[type="submit"]
):hover{
  transform: translateY(-1px);
}

/* Focus */
:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link,
  .wpforms-form button[type="submit"],
  .wpforms-form input[type="submit"]
):focus-visible{
  outline: 2px solid rgba(34,53,128,.35);
  outline-offset: 6px;
}

/* Elementor: keep text aligned */
body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button .elementor-button-text{
  line-height: 1 !important;
}

/* WPForms: prevent forced full width */
.wpforms-form button[type="submit"],
.wpforms-form input[type="submit"]{
  width: auto;
}

/* Disabled */
:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button[disabled],
  .wpforms-form button[type="submit"][disabled],
  .wpforms-form input[type="submit"][disabled]
){
  opacity: .6;
  cursor: not-allowed;
  transform: none !important;
}
:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button[disabled],
  .wpforms-form button[type="submit"][disabled],
  .wpforms-form input[type="submit"][disabled]
)::after{
  inset: calc(-1 * (var(--gap-rest) + var(--outline-w))) !important;
}

/* ==========================================================
   ALT VARIANT: add class "btn-alt"
   Background: #fafafa, text: #223580, outline: #fafafa
   ========================================================== */

:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button.btn-alt,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link.btn-alt,
  .wpforms-form button[type="submit"].btn-alt,
  .wpforms-form input[type="submit"].btn-alt
){
  background: var(--btn-light) !important;
  color: var(--btn-blue) !important;
}

body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button.btn-alt .elementor-button-text{
  color: var(--btn-blue) !important;
}

:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button.btn-alt,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link.btn-alt,
  .wpforms-form button[type="submit"].btn-alt,
  .wpforms-form input[type="submit"].btn-alt
)::after{
  border-color: var(--btn-light) !important;
}



/* ==========================================================
   LIGHT VARIANT: add class "btn-light"
   Background: #f1f1f1, text: #223580, outline: #f1f1f1
   ========================================================== */

:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button.btn-light,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link.btn-light,
  .wpforms-form button[type="submit"].btn-light,
  .wpforms-form input[type="submit"].btn-light
){
  background: #f1f1f1 !important;
  color: var(--btn-blue) !important;
}

/* Elementor sometimes wraps text */
body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button.btn-light .elementor-button-text{
  color: var(--btn-blue) !important;
}

:where(
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button.btn-light,
  body :not(header):not(.site-header):not(.elementor-location-header) .elementor-button-link.btn-light,
  .wpforms-form button[type="submit"].btn-light,
  .wpforms-form input[type="submit"].btn-light
)::after{
  border-color: #f1f1f1 !important;
}

/* Wrapper has btn-light, so style the inner <a.elementor-button> */
body :not(header):not(.site-header):not(.elementor-location-header) .btn-light .elementor-button,
body :not(header):not(.site-header):not(.elementor-location-header) .btn-light .elementor-button-link{
  background: #f1f1f1 !important;
  color: var(--btn-blue) !important;
}

/* Elementor text span */
body :not(header):not(.site-header):not(.elementor-location-header) .btn-light .elementor-button .elementor-button-text{
  color: var(--btn-blue) !important;
}

/* Outer outline frame color */
body :not(header):not(.site-header):not(.elementor-location-header) .btn-light .elementor-button::after,
body :not(header):not(.site-header):not(.elementor-location-header) .btn-light .elementor-button-link::after{
  border-color: #f1f1f1 !important;
}

/* =========================================
   WPForms: make submit button default to btn-light
   (keeps Elementor defaults unchanged)
   ========================================= */

:where(
  .wpforms-form button[type="submit"],
  .wpforms-form input[type="submit"]
){
  background: #f1f1f1 !important;
  color: var(--btn-blue) !important;
}

/* Outline frame matches btn-light */
:where(
  .wpforms-form button[type="submit"],
  .wpforms-form input[type="submit"]
)::after{
  border-color: #f1f1f1 !important;
}

/* =========================================
   Make .wpr-button-effect match theme BLUE button
   (same look/outline/hover as your main button)
   ========================================= */

:where(a.wpr-button-effect, button.wpr-button-effect, .wpr-button-effect){
  background: var(--btn-blue) !important;
  color: #ffffff !important;

  border: 0 !important;
  border-radius: var(--btn-radius) !important;

  padding: var(--btn-pad-y) var(--btn-pad-x) !important;

  font-size: var(--btn-font-size) !important;
  font-weight: var(--btn-font-weight) !important;
  letter-spacing: var(--btn-letter-spacing) !important;
  line-height: 1 !important;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  position: relative;
  overflow: visible;

  text-decoration: none !important;
  -webkit-appearance: none;
  appearance: none;

  cursor: pointer;
  transition: transform 180ms ease;
}

/* Some WPR buttons wrap text in spans */
:where(.wpr-button-effect, .wpr-button-effect *){
  color: inherit !important;
}

/* Outer outline frame */
:where(a.wpr-button-effect, button.wpr-button-effect, .wpr-button-effect)::after{
  content: "";
  position: absolute;
  inset: calc(-1 * (var(--gap-rest) + var(--outline-w)));
  border: var(--outline-w) solid var(--btn-blue);
  border-radius: var(--btn-radius);
  pointer-events: none;
  transition: inset 220ms ease;
}

/* Hover: expand the gap + tiny lift */
:where(a.wpr-button-effect, button.wpr-button-effect, .wpr-button-effect):hover::after{
  inset: calc(-1 * (var(--gap-hover) + var(--outline-w)));
}
:where(a.wpr-button-effect, button.wpr-button-effect, .wpr-button-effect):hover{
  transform: translateY(-1px);
}

/* Focus */
:where(a.wpr-button-effect, button.wpr-button-effect, .wpr-button-effect):focus-visible{
  outline: 2px solid rgba(34,53,128,.35);
  outline-offset: 6px;
}

/* Disabled */
:where(.wpr-button-effect[disabled], .wpr-button-effect[aria-disabled="true"]){
  opacity: .6;
  cursor: not-allowed;
  transform: none !important;
}
:where(.wpr-button-effect[disabled], .wpr-button-effect[aria-disabled="true"])::after{
  inset: calc(-1 * (var(--gap-rest) + var(--outline-w))) !important;
}


/* ==========================================================
   WPR: Force theme BLUE button styling (white text + outline frame)
   ========================================================== */

/* Target the actual clickable element inside WPR button widgets */
:where(.wpr-button-effect, .wpr-button-effect a, .wpr-button-effect button){
  background: var(--btn-blue) !important;
  color: #fff !important;

  border: 0 !important;
  border-radius: var(--btn-radius) !important;

  padding: var(--btn-pad-y) var(--btn-pad-x) !important;

  font-size: var(--btn-font-size) !important;
  font-weight: var(--btn-font-weight) !important;
  letter-spacing: var(--btn-letter-spacing) !important;
  line-height: 1 !important;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;

  position: relative !important;
  overflow: visible !important;

  text-decoration: none !important;
  cursor: pointer;
  transition: transform 180ms ease;
}

/* Make sure any inner text spans inherit white */
:where(.wpr-button-effect, .wpr-button-effect a, .wpr-button-effect button) *{
  color: inherit !important;
}

/* Kill WPR pseudo-elements that might be covering/overriding yours */
:where(.wpr-button-effect)::before,
:where(.wpr-button-effect)::after{
  content: none !important;
}

/* Add OUR outer outline frame to the clickable element */
:where(.wpr-button-effect a, .wpr-button-effect button)::after{
  content: "" !important;
  position: absolute !important;
  inset: calc(-1 * (var(--gap-rest) + var(--outline-w))) !important;
  border: var(--outline-w) solid var(--btn-blue) !important;
  border-radius: var(--btn-radius) !important;
  pointer-events: none !important;
  transition: inset 220ms ease !important;
}

/* Hover: expand gap + tiny lift */
:where(.wpr-button-effect a:hover, .wpr-button-effect button:hover)::after{
  inset: calc(-1 * (var(--gap-hover) + var(--outline-w))) !important;
}
:where(.wpr-button-effect a:hover, .wpr-button-effect button:hover){
  transform: translateY(-1px) !important;
}

