/* ── Utilities — shared hook classes used by more than one module ── */

/* ── Plain toggle icons — .toggle-plain-icon on a Divi Toggle: + closed, − open
   (Divi's default glyphs are filled circles). Size/colour/position stay in the
   toggle's builder icon settings. ── */
.toggle-plain-icon .et_pb_toggle_title::before { content: "\4c"; }
.toggle-plain-icon.et_pb_toggle_open .et_pb_toggle_title::before { content: "\4b"; }
/* Divi's Accordion hides the open item's icon (and greys/shrinks it); show the
   − in the same colour, size and spot as the closed + (Toggles already do). */
.et_pb_accordion .toggle-plain-icon.et_pb_toggle_open .et_pb_toggle_title::before {
	display: block;
	color: rgb(215 203 181);
	font-size: 1.5rem;
	right: -4px;
	top: 17.5px;
}

/* ── Chevron toggle icons — .toggle-chevron-icon on a Divi Toggle: ⌄ closed,
   ⌃ open (About Us policies, per Figma). Same idea as .toggle-plain-icon. ── */
.toggle-chevron-icon .et_pb_toggle_title::before { content: "\33"; }
.toggle-chevron-icon.et_pb_toggle_open .et_pb_toggle_title::before { content: "\32"; }

/* ── Text link hover — underline grows from the centre out on links inside
   Divi Text modules and toggle content (address/phone/text/email, referral
   numbers). Toggle titles, buttons (Code modules) and menus are untouched.
   Uses the link's own colour, and a background gradient so links that wrap
   (the address) underline per line. ── */
.et_pb_text_inner a,
.et_pb_toggle_content a {
	text-decoration: none;
	/* line sits just under the baseline (not at the inline box's bottom edge),
	   so on wrapped links it never touches the line below */
	background: linear-gradient(currentColor, currentColor) 50% calc(100% - 0.12em) / 0 1px no-repeat;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: background-size 0.35s cubic-bezier(0.65, 0, 0.35, 1);
	align-self: flex-start; /* a lone [phone] in a flex toggle body would stretch full width */
}
.et_pb_text_inner a:hover,
.et_pb_text_inner a:focus-visible,
.et_pb_toggle_content a:hover,
.et_pb_toggle_content a:focus-visible { background-size: 100% 1px; }

/* ── Link rows — .link-row on a Divi group holding a label (Text module) and
   an arrow (Icon module), e.g. the About Us form links. On hover the label
   gets the centre-out underline used by text links and the arrow nudges
   right. Whole-row link goes on the group's Link setting. ── */
.link-row .et_pb_text_inner p {
	display: inline;
	background: linear-gradient(currentColor, currentColor) 50% calc(100% - 0.12em) / 0 1px no-repeat;
	transition: background-size 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}
.link-row .et_pb_icon { transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1); }
.link-row:hover .et_pb_text_inner p,
.link-row:focus-within .et_pb_text_inner p { background-size: 100% 1px; }
.link-row:hover .et_pb_icon,
.link-row:focus-within .et_pb_icon { transform: translateX(0.375rem); }
@media (prefers-reduced-motion: reduce) {
	.link-row .et_pb_text_inner p,
	.link-row .et_pb_icon { transition: none; }
}

/* ── Static links — .link-static on a module opts its links out of the hover
   animation and keeps a plain underline (footer legal line: Website by EOS |
   Privacy Policy). ── */
.link-static .et_pb_text_inner a {
	background: none;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

@media (prefers-reduced-motion: reduce) {
	.et_pb_text_inner a,
	.et_pb_toggle_content a { transition: none; }
}

/* ── Background video label — Divi's MediaElement player prints a visually hidden
   "Video Player" label in default grey, which checkers flag for contrast
   (EOS accessibility SOP fix 3, on-brand colours). ── */
.mejs-offscreen {
	color: var(--light-cream) !important;
	background-color: var(--dark-brown) !important;
}
