.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
	word-break: normal !important;
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}

/* ── Site footer ─────────────────────────────────────────────────────────────
   The original design has no footer (the site's global custom CSS carries
   .et-l--footer{display:none}), so this is a slim bar carrying only what the
   launch requires: the legal links and the agency credit. Scoped under
   .site-footer, and deliberately OUTSIDE .et-l--footer so that rule can't hide it. */
.site-footer {
  background: #990539;
  color: #fff;
  font-family: "Satoshi-Regular", "Open Sans", Arial, sans-serif;
  line-height: 1.7;
  padding: 0 24px;
}
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer__bottom {
  max-width: 1140px;
  margin: 0 auto;
  padding: 22px 0;
  font-size: 13px;
  text-align: center;
}
.site-footer__legal { margin: 0 0 8px; }
.site-footer__legal a { margin: 0 6px; }
.avily-credit { margin: 0; font-size: 13px; }
.avily-credit .avily-link { text-decoration: none; }
.avily-credit .avily-link:hover { text-decoration: underline; }
.avily-credit img { height: 1em; width: auto; vertical-align: middle; margin: 0 4px; }

/* ── Header: keep the nav on one line at mid widths ──────────────────────────
   Between the Divi mobile breakpoint (981px) and ~1300px the desktop nav is
   wider than the space left beside the 350px logo, so the "Contact Us" button
   wraps onto its own row under the menu. (The original WordPress site has the
   same bug.) Tighten the item padding, menu type and logo cap over just that
   range — the layout above 1300px is untouched. */
@media (min-width: 981px) and (max-width: 1300px) {
  .et-db #et-boc .et-l .et_pb_menu .et-menu > li {
    padding-left: 9px;
    padding-right: 9px;
  }
  .et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li a,
  .et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu ul li a {
    font-size: 15px;
  }
  .et-db #et-boc .et-l .et_pb_menu_0_tb_header .et_pb_menu_inner_container > .et_pb_menu__logo-wrap,
  .et-db #et-boc .et-l .et_pb_menu_0_tb_header .et_pb_menu__logo-slot,
  .et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu_inner_container > .et_pb_menu__logo-wrap,
  .et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu__logo-slot {
    max-width: 260px;
  }
}

/* ── "Find Us" contact details: make phone / WhatsApp / email read and behave
   as links ───────────────────────────────────────────────────────────────────
   The Divi export wraps each number and the email address in a real <a>, but
   the blurb module forces `color:#000 !important` on its own text and the
   module-level colour rule exported as an unresolved `gcid-…` value, so the
   anchors rendered as flat black text with no underline and no hover state —
   they looked (and to a visitor, behaved) like plain text. Restore an obvious
   affordance and make sure nothing in the module can swallow the click. */
.et_pb_blurb a[href^="tel:"],
.et_pb_blurb a[href^="mailto:"],
.et_pb_blurb a[href*="wa.me"] {
  color: inherit;
  cursor: pointer;
  position: relative;
  z-index: 2;
  text-decoration: none;
  border-bottom: 1px solid rgba(153, 5, 57, 0.35);
  transition: color 0.2s ease, border-color 0.2s ease;
}
.et_pb_blurb .et_pb_module_header a[href^="tel:"],
.et_pb_blurb .et_pb_module_header a[href^="mailto:"],
.et_pb_blurb .et_pb_module_header a[href*="wa.me"] {
  border-bottom: 0;
}
.et_pb_blurb a[href^="tel:"]:hover,
.et_pb_blurb a[href^="mailto:"]:hover,
.et_pb_blurb a[href*="wa.me"]:hover,
.et_pb_blurb a[href^="tel:"]:focus-visible,
.et_pb_blurb a[href^="mailto:"]:focus-visible,
.et_pb_blurb a[href*="wa.me"]:focus-visible {
  color: #990539;
  border-color: #990539;
}
.et_pb_blurb .et_pb_module_header a:hover,
.et_pb_blurb .et_pb_module_header a:focus-visible {
  text-decoration: underline;
}
/* The image is a link too — give it the pointer cursor it never had. */
.et_pb_blurb .et_pb_main_blurb_image a { cursor: pointer; }
