/* ==========================================================================
   AUM Dividers (Elementor) — port of the theme's Divider block.

   --ead-w        width of the rule
   --ead-line     the line itself         (theme --aum-gray)
   --ead-accent   ornaments               (theme --aum-black)
   --ead-fill     diamond fill            (theme --aum-white)
   --ead-thick    thin-line thickness
   --ead-orn      ornament size
   --ead-inset    floating-bar end inset
   --ead-sweep    gentle-light sweep duration
   ========================================================================== */

.ead-divider {
	--ead-line: var(--aum-gray, #9d9d9d);
	--ead-accent: var(--aum-black, #444444);
	--ead-fill: var(--aum-white, #ffffff);
	--ead-w: 100%;
	--ead-thick: 1px;
	--ead-inset: 15%;
	--ead-sweep: 4s;

	width: 100%;
	display: flow-root;
	line-height: 0;
}

.ead-divider__rule {
	width: var(--ead-w);
	max-width: 100%;
	position: relative;
	margin: 0 auto;
}

/* Elementor's editor: give a 1px rule a hit area. */
.elementor-editor-active .ead-divider { min-height: 24px; }

/* --- 01 Silk Fade --------------------------------------------------------- */
.ead-divider--silk-fade .ead-divider__rule {
	height: var(--ead-thick);
	background: linear-gradient(90deg, transparent, var(--ead-line), var(--ead-accent), var(--ead-line), transparent);
}

/* --- 02 Zen Stone --------------------------------------------------------- */
.ead-divider--zen-stone { --ead-orn: 34px; }
.ead-divider--zen-stone .ead-divider__rule { display: flex; align-items: center; }
.ead-divider--zen-stone .ead-divider__rule::before,
.ead-divider--zen-stone .ead-divider__rule::after {
	content: "";
	flex: 1;
	border-top: var(--ead-thick) solid var(--ead-line);
}
.ead-divider__stone {
	width: var(--ead-orn);
	height: var(--ead-orn);
	border: var(--ead-thick) solid var(--ead-accent);
	border-radius: 50%;
	margin: 0 18px;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	box-sizing: border-box;
}
.ead-divider__stone::before {
	content: "";
	width: calc(var(--ead-orn) * 0.235);
	height: calc(var(--ead-orn) * 0.235);
	background: var(--ead-accent);
	border-radius: 50%;
}

/* --- 03 River Pebbles ----------------------------------------------------- */
.ead-divider--river-pebbles { --ead-orn: 14px; }
.ead-divider--river-pebbles .ead-divider__rule {
	height: 18px;
	background: radial-gradient(circle, var(--ead-accent) 1.3px, transparent 1.4px) center / var(--ead-orn) 6px repeat-x;
}

/* --- 04 Layered Calm ------------------------------------------------------ */
.ead-divider--layered-calm .ead-divider__rule { height: 12px; }
.ead-divider--layered-calm .ead-divider__rule::before,
.ead-divider--layered-calm .ead-divider__rule::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: var(--ead-thick);
}
.ead-divider--layered-calm .ead-divider__rule::before { top: 2px; background: var(--ead-line); opacity: 0.55; }
.ead-divider--layered-calm .ead-divider__rule::after  { top: 8px; background: var(--ead-accent); }

/* --- 05 Lotus Accent ------------------------------------------------------ */
.ead-divider--lotus-accent .ead-divider__rule { display: flex; align-items: center; }
.ead-divider--lotus-accent .ead-divider__rule::before,
.ead-divider--lotus-accent .ead-divider__rule::after {
	content: "";
	flex: 1;
	height: var(--ead-thick);
	background: var(--ead-line);
}
.ead-divider__symbol {
	margin: 0 16px;
	color: var(--ead-accent);
	font-size: var(--aum-fs-h5, 1.25rem);
	line-height: 1;
	flex: 0 0 auto;
}

/* --- 06 Floating Bar ------------------------------------------------------ */
.ead-divider--floating-bar .ead-divider__rule {
	height: 6px;
	background: linear-gradient(90deg, transparent 0 var(--ead-inset), var(--ead-accent) var(--ead-inset) calc(100% - var(--ead-inset)), transparent calc(100% - var(--ead-inset)));
}

/* --- 07 Diamond Balance --------------------------------------------------- */
.ead-divider--diamond-balance { --ead-orn: 12px; }
.ead-divider--diamond-balance .ead-divider__rule {
	height: calc(var(--ead-thick) + 1px);
	background: var(--ead-line);
}
.ead-divider--diamond-balance .ead-divider__rule::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: var(--ead-orn);
	height: var(--ead-orn);
	border: 2px solid var(--ead-accent);
	transform: translate(-50%, -50%) rotate(45deg);
	background: var(--ead-fill);
	box-sizing: border-box;
}

/* --- 08 Enso Curve -------------------------------------------------------- */
.ead-divider--enso-curve { --ead-orn: 44px; }
.ead-divider--enso-curve .ead-divider__rule { height: 20px; }
.ead-divider--enso-curve .ead-divider__rule::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 9px;
	height: var(--ead-thick);
	background: var(--ead-line);
}
.ead-divider--enso-curve .ead-divider__rule::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 2px;
	width: var(--ead-orn);
	height: 14px;
	border-top: var(--ead-thick) solid var(--ead-accent);
	border-radius: 50%;
	transform: translateX(-50%);
}

/* --- 09 Stone Groove ------------------------------------------------------ */
.ead-divider--stone-groove .ead-divider__rule {
	height: 3px;
	border-radius: 999px;
	background: var(--ead-line);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9), inset 0 -1px 2px rgba(0, 0, 0, 0.25);
}

/* --- 10 Gentle Light ------------------------------------------------------ */
.ead-divider--gentle-light .ead-divider__rule {
	height: var(--ead-thick);
	background: var(--ead-line);
	overflow: hidden;
}
.ead-divider--gentle-light .ead-divider__rule::after {
	content: "";
	position: absolute;
	left: -25%;
	top: 0;
	height: 100%;
	width: 25%;
	background: linear-gradient(90deg, transparent, var(--ead-accent), transparent);
	animation: ead-divider-sweep var(--ead-sweep) linear infinite;
}
@keyframes ead-divider-sweep { to { left: 100%; } }

.ead-divider--gentle-light.is-static .ead-divider__rule::after { animation: none; display: none; }
@media (prefers-reduced-motion: reduce) {
	.ead-divider--gentle-light .ead-divider__rule::after { animation: none; display: none; }
}
