/*
 * DataLinks — brand styling for pages built with Elementor.
 * Text and layout stay exactly as built; this re-skins fonts, colours,
 * buttons, cards, icons, images, tabs, accordions and forms.
 */

/* Elementor global colours & fonts → brand */
body[class*="elementor-kit-"] {
	--e-global-color-primary: #5C0B84;
	--e-global-color-secondary: #111111;
	--e-global-color-text: #2F2A38;
	--e-global-color-accent: #5C0B84;
	--e-global-typography-primary-font-family: "Poppins";
	--e-global-typography-secondary-font-family: "Poppins";
	--e-global-typography-text-font-family: "Poppins";
	--e-global-typography-accent-font-family: "Poppins";
}

/* Typography everywhere inside Elementor content */
.elementor, .elementor :not(i):not([class*="eicon"]):not([class*="fa-"]):not([class*="icon"]):not(svg):not(path) {
	font-family: 'Poppins', system-ui, sans-serif !important;
}
.elementor .elementor-heading-title { font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
.elementor h1.elementor-heading-title { font-size: clamp(34px, 4vw, 56px); letter-spacing: -0.03em; }
.elementor h2.elementor-heading-title { font-size: clamp(28px, 3vw, 42px); }
.elementor h3.elementor-heading-title { font-size: clamp(21px, 1.8vw, 26px); }
.elementor .elementor-widget-text-editor { font-size: 17px; line-height: 1.7; }
.elementor .elementor-widget-text-editor strong { font-weight: 600; }
.elementor .elementor-widget-text-editor a { color: #5C0B84; text-decoration: underline; text-underline-offset: 3px; }

/* Sections breathe a little more; boxed width matches the theme */
.dl-elementor .elementor-section.elementor-section-boxed > .elementor-container,
.dl-elementor .e-con-boxed > .e-con-inner { max-width: 1248px; }

/* Buttons → brand pills */
.elementor .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 52px; padding: 0 26px !important; border-radius: 999px !important; border: 0 !important;
	background: #5C0B84 !important; color: #FFFFFF !important;
	font-size: 16px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important;
	box-shadow: none !important; transition: background-color .15s;
}
.elementor .elementor-button:hover, .elementor .elementor-button:focus { background: #480966 !important; color: #FFFFFF !important; }
.elementor .elementor-button .elementor-button-text { color: inherit !important; }

/* Icons → brand purple */
.elementor .elementor-icon, .elementor .elementor-icon-list-icon i, .elementor .elementor-icon-list-icon svg,
.elementor .elementor-icon-box-icon .elementor-icon, .elementor .elementor-icon-box-icon .elementor-icon svg {
	color: #5C0B84; fill: #5C0B84;
}
.elementor .elementor-view-stacked .elementor-icon { background-color: #5C0B84; color: #FFFFFF; fill: #FFFFFF; }
.elementor .elementor-view-framed .elementor-icon { border-color: #5C0B84; }

/* Icon boxes and image boxes → clean cards */
.elementor .elementor-widget-icon-box > .elementor-widget-container,
.elementor .elementor-widget-image-box > .elementor-widget-container {
	height: 100%; padding: 28px; border-radius: 20px; background: #FFFFFF; border: 1px solid #E5E1EB;
}
.elementor .elementor-icon-box-title, .elementor .elementor-image-box-title { font-weight: 600 !important; font-size: 20px; line-height: 1.3; }
.elementor .elementor-icon-box-description, .elementor .elementor-image-box-description { color: #4E485A; font-size: 16px; line-height: 1.6; }

/* Icon lists */
.elementor .elementor-icon-list-item { font-size: 16px; }
.elementor .elementor-icon-list-text { color: inherit; }

/* Images → soft corners */
.elementor .elementor-widget-image img, .elementor .elementor-image-box-img img { border-radius: 20px; }

/* Dividers */
.elementor .elementor-divider-separator { border-color: #E5E1EB !important; }

/* Tabs / accordion / toggle */
.elementor .elementor-tab-title, .elementor .e-n-accordion-item-title, .elementor .e-n-tab-title { font-weight: 600 !important; }
.elementor .elementor-tab-title.elementor-active, .elementor .elementor-tab-title.elementor-active a,
.elementor .e-n-tab-title[aria-selected="true"] { color: #5C0B84 !important; }
.elementor .elementor-accordion .elementor-accordion-item, .elementor .elementor-toggle .elementor-toggle-item { border-color: #E5E1EB !important; }
.elementor .elementor-accordion-item, .elementor .elementor-toggle-item { border-radius: 14px; overflow: hidden; }

/* Counters & progress */
.elementor .elementor-counter-number-wrapper { color: #5C0B84; font-weight: 600; }
.elementor .elementor-progress-bar { background-color: #5C0B84 !important; }

/* Forms (Elementor Pro form, Contact Form 7, WPForms) */
.elementor .elementor-field-group .elementor-field,
.elementor .wpcf7 input:not([type="submit"]), .elementor .wpcf7 textarea, .elementor .wpcf7 select,
.elementor .wpforms-field input, .elementor .wpforms-field textarea, .elementor .wpforms-field select {
	min-height: 50px; padding: 12px 16px !important; border: 1px solid #CDC6D8 !important; border-radius: 12px !important;
	background: #FFFFFF !important; color: #111111 !important; font-size: 16px !important;
}
.elementor .elementor-field-group .elementor-field:focus,
.elementor .wpcf7 input:focus, .elementor .wpcf7 textarea:focus { border-color: #5C0B84 !important; outline: 3px solid rgba(92, 11, 132, .25); }
.elementor .elementor-field-label { font-weight: 500; font-size: 15px; }
.elementor .wpcf7 input[type="submit"], .elementor .wpforms-submit {
	min-height: 52px; padding: 0 26px !important; border: 0 !important; border-radius: 999px !important;
	background: #5C0B84 !important; color: #FFFFFF !important; font-weight: 600 !important; cursor: pointer;
}

/* Old Elementor header/footer templates hidden inside page content, if any were placed there */
.dl-elementor .elementor-location-header, .dl-elementor .elementor-location-footer { display: none; }
