/*
 * NovaCare global electric card system v1.5.7
 * Premium gold perimeter runner shared across the website.
 * Slim, slow and refined: designed to enhance cards without overpowering content.
 */

:root {
	--nc-electric-gold-deep: #a97824;
	--nc-electric-gold: #c99736;
	--nc-electric-gold-mid: #d9aa4b;
	--nc-electric-gold-bright: #e8c36f;
	--nc-electric-gold-pale: #f6dda0;
}

/* Main NovaCare card surfaces across all pages. */
.treatment-card__link,
.medical-treatment-card__link,
.medical-service-card__link,
.doctor-card,
.physician-card__link,
.gallery-card,
.results-card,
.difference-card,
.contact-info-card,
.contact-form-card,
.contact-location__card,
.book-appointment-card,
.book-appointment-confirmed__card,
.add-doctor-page__card,
.doctor-profile__card,
.doctor-before-after__card,
.doctor-certifications__card,
.doctor-reviews__card,
.doctor-testimonials__card,
.treatment-single-info__card,
.nc-seo-service-card,
.metabolic-card {
	position: relative !important;
	isolation: isolate;
	overflow: hidden !important;
	box-sizing: border-box;
	border: 2px solid rgba(201, 151, 54, 0.82) !important;
	border-radius: 0.95rem !important;
	box-shadow:
		0 11px 26px rgba(28, 25, 23, 0.085),
		0 0 0 1px rgba(243, 220, 166, 0.34),
		0 0 11px rgba(201, 151, 54, 0.13) !important;
	transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
}

/* Disable earlier treatment-specific decorative pseudo borders so the global
 * perimeter stays slim and consistent instead of stacking multiple frames. */
.treatment-card__link::before,
.treatment-card__link::after,
.medical-treatment-card__link::before,
.medical-treatment-card__link::after,
.medical-service-card__link::before,
.medical-service-card__link::after {
	content: none !important;
	display: none !important;
}

.treatment-card__link:hover,
.treatment-card__link:focus-visible,
.medical-treatment-card__link:hover,
.medical-treatment-card__link:focus-visible,
.medical-service-card__link:hover,
.medical-service-card__link:focus-visible,
.doctor-card:hover,
.physician-card__link:hover,
.physician-card__link:focus-visible,
.gallery-card:hover,
.results-card:hover,
.difference-card:hover,
.contact-info-card:hover,
.contact-form-card:focus-within,
.contact-location__card:hover,
.book-appointment-card:focus-within,
.book-appointment-confirmed__card:hover,
.add-doctor-page__card:focus-within,
.doctor-profile__card:hover,
.doctor-before-after__card:hover,
.doctor-certifications__card:hover,
.doctor-reviews__card:hover,
.doctor-testimonials__card:hover,
.treatment-single-info__card:hover,
.nc-seo-service-card:hover,
.nc-seo-service-card:focus-visible,
.metabolic-card:hover,
.metabolic-card:focus-within {
	border-color: rgba(222, 174, 72, 0.96) !important;
	box-shadow:
		0 16px 36px rgba(28, 25, 23, 0.11),
		0 0 0 1px rgba(247, 226, 177, 0.48),
		0 0 15px rgba(218, 170, 75, 0.18) !important;
}

/* The runner sits exactly on the perimeter and never captures clicks. */
.nc-electric-runner {
	position: absolute;
	inset: -1px;
	z-index: 999;
	border-radius: inherit;
	pointer-events: none !important;
	overflow: hidden;
}

.nc-electric-runner__edge {
	position: absolute;
	display: block;
	opacity: 0;
	z-index: 2;
	will-change: transform, opacity;
	filter:
		drop-shadow(0 0 3px rgba(246, 221, 160, 0.96))
		drop-shadow(0 0 7px rgba(232, 195, 111, 0.82))
		drop-shadow(0 0 13px rgba(201, 151, 54, 0.52));
}

/* Small champagne-gold leading point: bright enough to read, never oversized. */
.nc-electric-runner__edge::after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--nc-electric-gold-pale);
	box-shadow:
		0 0 3px 1px rgba(246, 221, 160, 0.98),
		0 0 8px 3px rgba(232, 195, 111, 0.74),
		0 0 15px 5px rgba(201, 151, 54, 0.36);
}

.nc-electric-runner__edge--top,
.nc-electric-runner__edge--bottom {
	width: 34%;
	height: 6px;
	background: linear-gradient(
		90deg,
		rgba(169, 120, 36, 0) 0%,
		rgba(169, 120, 36, 0.16) 20%,
		rgba(201, 151, 54, 0.52) 46%,
		var(--nc-electric-gold-mid) 68%,
		var(--nc-electric-gold-bright) 86%,
		var(--nc-electric-gold-pale) 100%
	);
}

.nc-electric-runner__edge--right,
.nc-electric-runner__edge--left {
	width: 6px;
	height: 34%;
	background: linear-gradient(
		180deg,
		rgba(169, 120, 36, 0) 0%,
		rgba(169, 120, 36, 0.16) 20%,
		rgba(201, 151, 54, 0.52) 46%,
		var(--nc-electric-gold-mid) 68%,
		var(--nc-electric-gold-bright) 86%,
		var(--nc-electric-gold-pale) 100%
	);
}

.nc-electric-runner__edge--top {
	top: 0;
	left: 0;
	animation: nc-electric-lap-top 7.2s linear infinite !important;
}
.nc-electric-runner__edge--top::after { right: -3px; top: -2px; }

.nc-electric-runner__edge--right {
	top: 0;
	right: 0;
	animation: nc-electric-lap-right 7.2s linear infinite !important;
}
.nc-electric-runner__edge--right::after { right: -2px; bottom: -3px; }

.nc-electric-runner__edge--bottom {
	right: 0;
	bottom: 0;
	background: linear-gradient(
		270deg,
		rgba(169, 120, 36, 0) 0%,
		rgba(169, 120, 36, 0.16) 20%,
		rgba(201, 151, 54, 0.52) 46%,
		var(--nc-electric-gold-mid) 68%,
		var(--nc-electric-gold-bright) 86%,
		var(--nc-electric-gold-pale) 100%
	);
	animation: nc-electric-lap-bottom 7.2s linear infinite !important;
}
.nc-electric-runner__edge--bottom::after { left: -3px; bottom: -2px; }

.nc-electric-runner__edge--left {
	left: 0;
	bottom: 0;
	background: linear-gradient(
		0deg,
		rgba(169, 120, 36, 0) 0%,
		rgba(169, 120, 36, 0.16) 20%,
		rgba(201, 151, 54, 0.52) 46%,
		var(--nc-electric-gold-mid) 68%,
		var(--nc-electric-gold-bright) 86%,
		var(--nc-electric-gold-pale) 100%
	);
	animation: nc-electric-lap-left 7.2s linear infinite !important;
}
.nc-electric-runner__edge--left::after { left: -2px; top: -3px; }

/* One current completes a full, calm perimeter lap. */
@keyframes nc-electric-lap-top {
	0% { opacity: 0.96; transform: translateX(-100%); }
	2% { opacity: 0.96; }
	24% { opacity: 0.96; transform: translateX(294%); }
	25%, 100% { opacity: 0; transform: translateX(294%); }
}

@keyframes nc-electric-lap-right {
	0%, 24.9% { opacity: 0; transform: translateY(-100%); }
	25% { opacity: 0.96; transform: translateY(-100%); }
	49% { opacity: 0.96; transform: translateY(294%); }
	50%, 100% { opacity: 0; transform: translateY(294%); }
}

@keyframes nc-electric-lap-bottom {
	0%, 49.9% { opacity: 0; transform: translateX(100%); }
	50% { opacity: 0.96; transform: translateX(100%); }
	74% { opacity: 0.96; transform: translateX(-294%); }
	75%, 100% { opacity: 0; transform: translateX(-294%); }
}

@keyframes nc-electric-lap-left {
	0%, 74.9% { opacity: 0; transform: translateY(100%); }
	75% { opacity: 0.96; transform: translateY(100%); }
	99% { opacity: 0.96; transform: translateY(-294%); }
	100% { opacity: 0; transform: translateY(-294%); }
}

/* Preserve the requested decorative perimeter motion consistently. */
@media (prefers-reduced-motion: reduce) {
	.nc-electric-runner__edge--top { animation: nc-electric-lap-top 7.2s linear infinite !important; }
	.nc-electric-runner__edge--right { animation: nc-electric-lap-right 7.2s linear infinite !important; }
	.nc-electric-runner__edge--bottom { animation: nc-electric-lap-bottom 7.2s linear infinite !important; }
	.nc-electric-runner__edge--left { animation: nc-electric-lap-left 7.2s linear infinite !important; }
}
