:root{

  --hy-text:#111827;
  --hy-text-2:#374151;
  --hy-muted:#4B5563;

  --hy-bg:#FFFFFF;
 
  --hy-link:#1D4ED8;
  --hy-link-hover:#1E40AF;
  --hy-link-visited:#4C1D95;
 
  --hy-cta:#5B21B6;
  --hy-cta-hover:#4C1D95;
 
  --hy-focus:#FACC15;
 
  --hy-footer-bg:#0F172A;
  --hy-footer-text:#E5E7EB;
 
  --hy-teal:#0F766E;
  --hy-green:#166534;
  --hy-purple:#5B21B6;
  --hy-amber:#92400E;
 
  --hy-primary:#5B21B6;
  --hy-primary-hover:#4C1D95;

  --hy-outline:#1D4ED8;
  --hy-outline-hover:#1E40AF;

}
 
html,body{color:var(--hy-text);background:var(--hy-bg);}

p,li,dd,dt,blockquote{color:var(--hy-text);}
 
/* Focus */

:focus-visible{
  outline:3px solid var(--hy-focus)!important;
  outline-offset:3px!important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible{
  outline:3px solid var(--hy-focus)!important;
  outline-offset:3px!important;
}
 
/* Button wrapper/pseudo cleanup (prevents double box) */

.elementor-button-wrapper,
.elementor-widget-button .elementor-button-wrapper,
.elementor-widget-button .elementor-button-wrapper::before,
.elementor-widget-button .elementor-button-wrapper::after,
.elementor-widget-button .elementor-button::before,
.elementor-widget-button .elementor-button::after{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
 
/* Default all buttons = white background */

button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.elementor-button,
.elementor a.elementor-button{

  background:#ffffff !important;            /* White background */
  border:2px solid var(--hy-outline) !important;
  color:var(--hy-outline) !important;
  box-shadow:none !important;
  text-decoration:none !important;

}
 
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
.elementor a.elementor-button:hover{

  background:var(--hy-outline-hover) !important;
  border-color:var(--hy-outline-hover) !important;
  color:#fff !important;

}
 
/* Primary buttons only when class is present */

.hy-primary,
button.hy-primary,
input.hy-primary[type="submit"],
input.hy-primary[type="button"],
.wp-block-button__link.hy-primary,
.elementor-button.hy-primary,
.elementor a.elementor-button.hy-primary{

  background:var(--hy-primary) !important;
  border-color:var(--hy-primary) !important;
  color:#fff !important;

}
 
.hy-primary:hover,
button.hy-primary:hover,
input.hy-primary[type="submit"]:hover,
input.hy-primary[type="button"]:hover,
.wp-block-button__link.hy-primary:hover,
.elementor-button.hy-primary:hover,
.elementor a.elementor-button.hy-primary:hover{

  background:var(--hy-primary-hover) !important;
  border-color:var(--hy-primary-hover) !important;
  color:#fff !important;

}
 /* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Optional outline class (if you add it) */

.hy-outline,
button.hy-outline,
.wp-block-button__link.hy-outline,
.elementor-button.hy-outline,
.elementor a.elementor-button.hy-outline{

  background:#ffffff !important;            /* White instead of transparent */
  border:2px solid var(--hy-outline) !important;
  color:var(--hy-outline) !important;

}
 
.hy-outline:hover,
button.hy-outline:hover,
.wp-block-button__link.hy-outline:hover,
.elementor-button.hy-outline:hover,
.elementor a.elementor-button.hy-outline:hover{

  background:var(--hy-outline-hover) !important;
  border-color:var(--hy-outline-hover) !important;
  color:#fff !important;

}
 
/* Elementor button text inherits */

.elementor-button .elementor-button-text,
.elementor a.elementor-button .elementor-button-text{
  color:inherit !important;
}
 
/* Footer background/text only (no link overrides) */

footer,
.site-footer,
#colophon{
  background:var(--hy-footer-bg)!important;
  color:var(--hy-footer-text)!important;
}
 
.hy-text-teal{color:var(--hy-teal)!important;}
.hy-text-green{color:var(--hy-green)!important;}
.hy-text-purple{color:var(--hy-purple)!important;}
.hy-text-amber{color:var(--hy-amber)!important;}
.hy-muted{color:var(--hy-muted)!important;}