/* ============================================================
   Digitro Pro — Custom Elementor widgets styles
   ============================================================ */

/* Hero widget */
.dp-ew-hero {
	min-height: 600px; padding: clamp(3rem, 6vw, 5rem);
	border-radius: var(--dp-radius-xl);
	background: var(--dp-bg-elev-1); border: 1px solid var(--dp-border);
	position: relative; overflow: hidden;
}
.dp-ew-hero__inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--dp-space-8); align-items: center; position: relative; z-index: 1; }
@media (max-width: 900px) { .dp-ew-hero__inner { grid-template-columns: 1fr; } }

/* Glass card */
.dp-ew-glass {
	background: var(--dp-bg-glass);
	backdrop-filter: blur(20px) saturate(160%);
	-webkit-backdrop-filter: blur(20px) saturate(160%);
	border: 1px solid var(--dp-border-strong);
	border-radius: var(--dp-radius-xl);
	padding: var(--dp-space-6);
	position: relative; overflow: hidden;
}
.dp-ew-glass::before {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,0.06), transparent 60%);
	pointer-events: none;
}

/* Stats widget */
.dp-ew-stats { display: grid; gap: var(--dp-space-6); grid-template-columns: repeat(4, 1fr); text-align: center; }
@media (max-width: 700px) { .dp-ew-stats { grid-template-columns: repeat(2, 1fr); } }
.dp-ew-stats__item { padding: var(--dp-space-6); background: var(--dp-bg-elev-1); border: 1px solid var(--dp-border); border-radius: var(--dp-radius-lg); transition: all var(--dp-dur); }
.dp-ew-stats__item:hover { border-color: var(--dp-primary); transform: translateY(-4px); }
.dp-ew-stats__num { font-family: var(--dp-font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; background: var(--dp-grad-text); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.dp-ew-stats__label { color: var(--dp-text-muted); font-size: var(--dp-text-sm); margin-top: 8px; }

/* Process steps widget */
.dp-ew-steps { display: grid; gap: var(--dp-space-6); position: relative; }
.dp-ew-steps--horizontal { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
@media (max-width: 800px) { .dp-ew-steps--horizontal { grid-auto-flow: row; grid-auto-columns: 1fr; } }

.dp-ew-step {
	padding: var(--dp-space-6);
	background: var(--dp-bg-elev-1); border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius-lg);
	position: relative; transition: all var(--dp-dur);
}
.dp-ew-step:hover { transform: translateY(-4px); border-color: var(--dp-primary); }
.dp-ew-step__num {
	font-family: var(--dp-font-display); font-size: var(--dp-text-5xl); font-weight: 900;
	background: var(--dp-grad-text); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
	margin-bottom: var(--dp-space-3);
	line-height: 1;
	opacity: 0.85;
}

/* CTA widget */
.dp-ew-cta {
	padding: clamp(2rem, 5vw, 4rem); text-align: center;
	border-radius: var(--dp-radius-xl);
	background:
		radial-gradient(circle at 50% 100%, rgba(var(--dp-primary-rgb), 0.3), transparent 60%),
		var(--dp-bg-elev-2);
	border: 1px solid var(--dp-primary);
	position: relative; overflow: hidden;
}
.dp-ew-cta__title { font-size: clamp(1.75rem, 4vw, 3rem); }
.dp-ew-cta__actions { display: flex; gap: var(--dp-space-3); justify-content: center; flex-wrap: wrap; margin-top: var(--dp-space-6); }

/* FAQ widget — uses .dp-faq existing styles, just spacing */
.dp-ew-faq { max-width: 880px; margin-inline: auto; }

/* Marquee widget */
.dp-ew-marquee { overflow: hidden; padding-block: var(--dp-space-4); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.dp-ew-marquee__track { display: flex; gap: var(--dp-space-12); animation: dp-marquee 40s linear infinite; width: max-content; align-items: center; }
.dp-ew-marquee__item img { height: 32px; opacity: 0.7; transition: opacity var(--dp-dur); }
.dp-ew-marquee__item:hover img { opacity: 1; }

/* Glass card widget — premium look */
.dp-ew-glass-card {
	padding: var(--dp-space-8);
	background: linear-gradient(135deg, rgba(var(--dp-primary-rgb), 0.08), rgba(var(--dp-primary-rgb), 0.02));
	border: 1px solid var(--dp-primary);
	border-radius: var(--dp-radius-xl);
	position: relative; overflow: hidden;
}
.dp-ew-glass-card::after {
	content: ''; position: absolute; top: -50%; right: -50%;
	width: 100%; height: 200%;
	background: radial-gradient(circle, rgba(var(--dp-primary-rgb), 0.25), transparent 60%);
	pointer-events: none;
}

/* Features widget */
.dp-ew-features { display: grid; gap: var(--dp-space-6); grid-template-columns: repeat(3, 1fr); }
@media (max-width: 800px) { .dp-ew-features { grid-template-columns: 1fr; } }
.dp-ew-feature { padding: var(--dp-space-6); border-radius: var(--dp-radius-lg); background: var(--dp-bg-elev-1); border: 1px solid var(--dp-border); transition: all var(--dp-dur); }
.dp-ew-feature:hover { transform: translateY(-4px); border-color: var(--dp-primary); box-shadow: var(--dp-shadow); }
.dp-ew-feature__icon {
	width: 56px; height: 56px; border-radius: var(--dp-radius);
	display: grid; place-items: center;
	background: rgba(var(--dp-primary-rgb), 0.1); color: var(--dp-primary);
	font-size: 28px; margin-bottom: var(--dp-space-4);
}

/* Account grid widget (Elementor) — re-uses .dp-account-card */
.dp-ew-account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--dp-space-5); }
