/* ==========================================================================
   Devarsity — Elementor compatibility
   Scoped, low-specificity defaults only: every heading, text, button,
   container and image keeps its own Elementor Style/Advanced controls, and
   Elementor's per-element CSS always wins over these rules.
   ========================================================================== */

/* Native widgets: neutral defaults that never override element settings. */
:where(.elementor) .elementor-heading-title { margin: 0; }
:where(.elementor-widget-text-editor) p:last-child { margin-bottom: 0; }
:where(.elementor-widget-text-editor) a { text-underline-offset: 3px; }
:where(.elementor-widget-icon-box) .elementor-icon-box-title { margin-top: 0; }
:where(.elementor-widget-icon-box) .elementor-icon-box-description { margin: 0; }
:where(.elementor-widget-icon-list) a { text-decoration: none; }
:where(.elementor-widget-image) img { display: inline-block; }

/* Lucide SVG icons (media library) keep their stroke style in icon widgets. */
.elementor-icon svg [fill="none"],
.elementor-icon-list-icon svg [fill="none"] { fill: none; }

/* Breadcrumb line built with a Text Editor widget. */
.dv-el-crumbs a { color: inherit; text-decoration: none; }
.dv-el-crumbs a:hover { color: var(--color-accent); text-decoration: underline; }

/* Payment badges in the footer text. */
.dv-el-paybadges .dv-paybadge { display: inline-block; margin-left: 4px; line-height: 1.4; }

/* Granular Devarsity widgets */
.dv-el-grid { --min: 260px; }
.dv-cat--card { background: var(--color-bg); border: var(--rule); border-radius: var(--r); box-shadow: var(--shadow-sm); }
.dv-el-testimonials { display: flex; flex-direction: column; gap: 20px; }
.dv-el-testimonials .dv-carousel__controls { justify-content: flex-end; }
.dv-layout-sidebar--none { grid-template-columns: minmax(0, 1fr); }
.dv-catalog__more { display: flex; justify-content: center; }
.dv-faq-search .dv-search-field { max-width: 560px; }
.dv-faq-search__empty { margin: 16px 0 0; color: var(--color-muted); }
.dv-article-filters { gap: 16px; }
.dv-article-list.dv-section { border-bottom: 0; }

/* Elementor header / footer templates inside the theme wrappers. */
.dv-header--builder .dv-nav--widget { display: flex; justify-content: flex-end; }
.dv-header--builder .dv-nav__list > li > a { padding-top: 8px; padding-bottom: 8px; }
.dv-footer--builder { background: none; border: 0; margin: 0; }

/* Keep the sticky header above Elementor sticky elements. */
.dv-header { z-index: 100; }

/* Editor only: make empty containers visible while building. */
.elementor-editor-active .dv-section:empty { min-height: 80px; }

@media (max-width: 1023px) {
	.dv-header--builder .dv-nav--widget { display: none; }
}

/* Course detail widgets (Devarsity Core): highlights */
.dv-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.dv-highlights__item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: var(--rule); border-radius: var(--r); background: var(--color-bg); }
.dv-highlights__icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 6px; background: var(--color-tint); color: var(--color-accent); }
.dv-highlights__icon svg { fill: none; }
.dv-highlights__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dv-highlights__label { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-muted); }
.dv-highlights__value { margin: 0; font-weight: 600; color: var(--color-text); }
.dv-el-outcomes { margin: 0; }
.dv-curriculum__summary { margin: 0 0 4px; }
