/* =========================================================================
   Deport Defense — Elementor Bridge
   This file teaches Elementor's default widgets (button, heading, image,
   text-editor, etc.) to use the theme's design tokens. It only overrides
   *colors*, *typography*, and *radii* — never layout — so Elementor's own
   spacing controls keep working as expected.
   ========================================================================= */

/* Elementor Global Colors → theme palette */
.elementor-kit-defaults,
.elementor {
	--e-global-color-primary:   #0F2A4A;
	--e-global-color-secondary: #E8B547;
	--e-global-color-text:      #0F2A4A;
	--e-global-color-accent:    #1E5F5A;
}

/* Force Inter on Elementor headings + paragraphs */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-path,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title,
.elementor-widget-button .elementor-button {
	font-family: 'Inter', sans-serif !important;
}

/* Buttons — match theme button language without breaking Elementor's controls */
.elementor-button {
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: 0.01em;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.elementor-button:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(15, 42, 74, 0.10); }

/* Image box / icon box — softer corners */
.elementor-image-box-img img,
.elementor-widget-image img {
	border-radius: 14px;
}

/* Form fields — look like the theme's inputs */
.elementor-field-group input[type="text"],
.elementor-field-group input[type="email"],
.elementor-field-group input[type="tel"],
.elementor-field-group input[type="number"],
.elementor-field-group textarea,
.elementor-field-group select {
	border: 1.5px solid var(--dd-line, #E5E1D6);
	border-radius: 12px;
	padding: 12px 16px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	background: var(--dd-cream-soft, #F9F7F1);
	color: var(--dd-ink, #0F2A4A);
	transition: border-color .2s ease;
}
.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.elementor-field-group select:focus {
	border-color: var(--dd-ink, #0F2A4A);
	outline: 0;
}

/* Posts widget — bring it visually closer to dd-card */
.elementor-posts .elementor-post {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--dd-line, #E5E1D6);
	background: var(--dd-white, #FFFFFF);
	transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-posts .elementor-post:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(15, 42, 74, 0.10);
}
.elementor-post__title { font-family: 'Inter', sans-serif; font-weight: 700; letter-spacing: -0.015em; }

/* Divider — quieter line color matched to theme */
.elementor-widget-divider .elementor-divider-separator {
	border-top-color: var(--dd-line, #E5E1D6) !important;
}

/* Tabs / accordions — pick up theme palette */
.elementor-tabs .elementor-tab-title.elementor-active,
.elementor-accordion .elementor-tab-title.elementor-active {
	color: var(--dd-ink, #0F2A4A);
}
.elementor-tabs .elementor-tab-content { color: var(--dd-text, #0F2A4A); }

/* Counter / progress widgets pick up gold + ink */
.elementor-counter-number-wrapper { color: var(--dd-ink, #0F2A4A); font-weight: 800; letter-spacing: -0.03em; }
.elementor-progress-bar { background: var(--dd-gold, #E8B547); }

/* Editor canvas tweaks (only inside the Elementor editor frame) */
body.elementor-editor-active .dd-hero,
body.elementor-editor-active .dd-stats,
body.elementor-editor-active .dd-cta-banner {
	min-height: 200px;
}
