/**
 * Bridge theme typography sync for Elementor and page content.
 * Loads after Elementor per-page CSS to override widget-level styles.
 */

/* --- Site-wide body / paragraph text --- */
body.elementor-page .elementor-widget-text-editor,
body.elementor-page .elementor-widget-text-editor p,
body.elementor-page .elementor-widget-text-editor li,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-description,
body.elementor-page .elementor-widget-image-box .elementor-image-box-description,
body.elementor-page .elementor-widget-icon-list .elementor-icon-list-text,
body.elementor-page .elementor-widget-accordion .elementor-accordion-content,
body.elementor-page .elementor-widget-toggle .elementor-toggle-content,
body.elementor-page .elementor-widget-tabs .elementor-tab-content,
body.elementor-page .elementor-widget-testimonial .elementor-testimonial-content,
body.elementor-page .elementor-widget-testimonial .elementor-testimonial-job,
body.elementor-page .elementor-widget-alert .elementor-alert-description,
body.elementor-page .elementor-widget-call-to-action .elementor-cta__description,
body.elementor-page .elementor-widget-posts .elementor-post__excerpt p,
body.elementor-page .elementor-widget-posts .elementor-post__meta-data,
.content .content_inner p,
.content .content_inner li {
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif !important;
	font-size: var(--psele-theme-text-size, 14px) !important;
	line-height: var(--psele-theme-text-line-height, 26px) !important;
	font-weight: var(--psele-theme-text-weight, 300) !important;
	color: var(--psele-theme-text-color, #777777) !important;
}

/* --- Section headings (Bridge H2) --- */
body.elementor-page .elementor-widget-heading .elementor-heading-title,
.content .content_inner > .elementor > .elementor-element > .elementor-widget-heading .elementor-heading-title {
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif !important;
	font-size: var(--psele-theme-heading-size, 34px) !important;
	line-height: var(--psele-theme-heading-line-height, 38px) !important;
	font-weight: var(--psele-theme-heading-weight, 700) !important;
	color: var(--psele-theme-heading-color, #303030) !important;
	text-transform: none !important;
	letter-spacing: -1.3px !important;
	-webkit-text-stroke: 0 !important;
	stroke: none !important;
}

/* --- Card / box titles — same on every card (Bridge H3) --- */
body.elementor-page .elementor-widget-image-box .elementor-image-box-title,
body.elementor-page .elementor-widget-image-box .elementor-image-box-title a,
body.elementor-page .elementor-widget-image-box .elementor-image-box-wrapper:hover .elementor-image-box-title,
body.elementor-page .elementor-widget-image-box .elementor-image-box-wrapper:hover .elementor-image-box-title a,
body.elementor-page .elementor-widget-image-box .elementor-image-box-wrapper:has(:hover) .elementor-image-box-title,
body.elementor-page .elementor-widget-image-box .elementor-image-box-wrapper:has(:focus) .elementor-image-box-title,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-title,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-title a,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon-box-title,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon-box-title a,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-wrapper:has(:hover) .elementor-icon-box-title,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-wrapper:has(:focus) .elementor-icon-box-title {
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif !important;
	font-size: var(--psele-theme-card-heading-size, 23px) !important;
	line-height: var(--psele-theme-card-heading-line-height, 26px) !important;
	font-weight: var(--psele-theme-card-heading-weight, 700) !important;
	color: var(--psele-theme-card-heading-color, #303030) !important;
	text-transform: none !important;
	letter-spacing: -1.3px !important;
	-webkit-text-stroke: 0 !important;
	stroke: none !important;
	margin-bottom: 15px !important;
}

/* --- Card descriptions — uniform grey text --- */
body.elementor-page .elementor-widget-image-box .elementor-image-box-description,
body.elementor-page .elementor-widget-icon-box .elementor-icon-box-description {
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif !important;
	font-size: var(--psele-theme-text-size, 14px) !important;
	line-height: var(--psele-theme-text-line-height, 26px) !important;
	font-weight: var(--psele-theme-text-weight, 300) !important;
	color: var(--psele-theme-text-color, #777777) !important;
}

/* --- Other Elementor titles --- */
body.elementor-page .elementor-widget-posts .elementor-post__title,
body.elementor-page .elementor-widget-posts .elementor-post__title a,
body.elementor-page .elementor-widget-testimonial .elementor-testimonial__name {
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif !important;
	font-size: var(--psele-theme-heading-size, 34px) !important;
	line-height: var(--psele-theme-heading-line-height, 38px) !important;
	font-weight: var(--psele-theme-heading-weight, 700) !important;
	color: var(--psele-theme-heading-color, #303030) !important;
}

body.elementor-page .elementor-widget-posts .elementor-post__title a:hover {
	color: var(--psele-theme-heading-color, #303030) !important;
}

/* --- Align image box content --- */
body.elementor-page .elementor-widget-image-box .elementor-image-box-content {
	text-align: center;
}

body.elementor-page .elementor-widget-counter .elementor-counter-number-wrapper,
body.elementor-page .elementor-widget-counter .elementor-counter-title,
body.elementor-page .elementor-widget-button .elementor-button,
body.elementor-page .elementor-widget-tabs .elementor-tab-title,
body.elementor-page .elementor-widget-accordion .elementor-accordion-title,
body.elementor-page .elementor-widget-toggle .elementor-toggle-title {
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif;
}

/* --- Site-wide borders (cards, boxes, buttons, forms) --- */
body.elementor-page .elementor-widget-image-box.elementor-element,
body.elementor-page .elementor-widget-icon-box.elementor-element {
	border-style: solid !important;
	border-width: var(--psele-border-width, 1px) !important;
	border-color: var(--psele-border-color, #E6E6E6) !important;
	border-radius: var(--psele-border-radius, 14px) !important;
}

body.elementor-page .elementor-button {
	border-width: var(--psele-border-width, 1px);
	border-style: solid;
	border-color: var(--psele-border-color, #E6E6E6);
	border-radius: var(--psele-border-radius-sm, 6px);
}

body.elementor-page .psele-gallery-nav .elementor-button {
	border-radius: 999px;
}

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form-control.wpcf7-select,
.wpcf7-form-control.wpcf7-number,
.wpcf7-form-control.wpcf7-tel {
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif;
	font-size: var(--psele-theme-text-size, 14px);
	border: var(--psele-border-width, 1px) solid var(--psele-border-color, #E6E6E6) !important;
	border-radius: var(--psele-border-radius-sm, 6px) !important;
	padding: 12px 14px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.wpcf7-form-control:not(.wpcf7-submit):focus {
	border-color: var(--psele-theme-primary-color, #0000ff) !important;
	box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.12);
	outline: none;
}

/* Contact Form 7 — submit button (site-wide) */
input.wpcf7-form-control.wpcf7-submit,
button.wpcf7-form-control.wpcf7-submit {
	display: inline-block !important;
	width: auto !important;
	min-width: 160px;
	max-width: none;
	height: auto !important;
	min-height: 48px;
	line-height: 1.25 !important;
	margin: 8px 0 0 !important;
	padding: 14px 36px !important;
	font-family: var(--psele-theme-font-family, "Poppins"), sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	color: #ffffff !important;
	background: linear-gradient(
		135deg,
		var(--psele-theme-primary-color, #0000ff) 0%,
		#3333ff 100%
	) !important;
	border: none !important;
	border-radius: var(--psele-border-radius-sm, 6px) !important;
	box-shadow: 0 4px 20px rgba(0, 0, 255, 0.25);
	cursor: pointer;
	box-sizing: border-box !important;
	-webkit-appearance: none;
	appearance: none;
	transition: transform 0.2s ease, box-shadow 0.25s ease, background 0.25s ease;
}

input.wpcf7-form-control.wpcf7-submit:hover,
input.wpcf7-form-control.wpcf7-submit:focus,
button.wpcf7-form-control.wpcf7-submit:hover,
button.wpcf7-form-control.wpcf7-submit:focus {
	color: #ffffff !important;
	background: linear-gradient(135deg, #ffcc00 0%, #e6b800 100%) !important;
	box-shadow: 0 6px 24px rgba(255, 204, 0, 0.35);
	transform: translateY(-2px);
	outline: none;
}
