:root {
	--icba-global-blue: #0f4c81;
	--icba-energy-blue: #1e78d7;
	--icba-link-blue: #57b8ff;
	--icba-silver-mist: #bec7d1;
	--icba-soft-blue: #dde9fe;
	--icba-ink: #213247;
	--icba-radius-card: 20px;
	--icba-radius-control: 12px;
	--icba-radius-button: 30px;
	--icba-button-height: 56px;
	--icba-button-shadow: 0 0 10px rgba(15, 76, 129, 0.16);
}

/* Match the text-command buttons used in the home-page banner. */
body :where(
	.elementor-button,
	.wp-element-button,
	.wp-block-button__link,
	a.button,
	button.button,
	input.button,
	input[type="submit"],
	.ff-btn,
	.tutor-btn,
	.icba-btn,
	.icba-about-button,
	.icba-footer-action
):not(.ct-header .ct-search-form *) {
	border-radius: var(--icba-radius-button) !important;
	box-shadow: var(--icba-button-shadow) !important;
	box-sizing: border-box;
	letter-spacing: 0;
	min-height: var(--icba-button-height) !important;
	padding-left: 30px !important;
	padding-right: 30px !important;
}

body :where(
	.elementor-button,
	.wp-element-button,
	.wp-block-button__link,
	a.button,
	button.button,
	input.button,
	input[type="submit"],
	.ff-btn,
	.tutor-btn,
	.icba-btn,
	.icba-about-button,
	.icba-footer-action
):not(.ct-header .ct-search-form *):focus-visible {
	outline: 3px solid rgba(87, 184, 255, 0.45);
	outline-offset: 3px;
}

/* Keep the Blocksy Book Store search geometry with ICBA's current colors. */
.ct-header .ct-search-form-inner {
	align-items: center;
	border-radius: 30px;
	height: 45px;
}

.ct-header .ct-search-form input[type="search"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	height: 45px;
	padding: 0 23px;
}

.ct-header .ct-search-form button.wp-element-button {
	border-radius: 30px !important;
	box-shadow: none !important;
	flex: 0 0 43px;
	height: 43px;
	min-height: 43px !important;
	padding: 0 !important;
	width: 43px;
}

/* Card-like surfaces share the banner's 20px geometry. */
body .elementor .e-con:not(.elementor-location-footer .e-con):not(#footer .e-con) {
	border-radius: var(--icba-radius-card) !important;
}

body :where(
	.elementor-widget-icon-box .elementor-widget-container,
	.elementor-widget-image-box .elementor-widget-container,
	.elementor-widget-call-to-action .elementor-widget-container,
	.elementor-widget-testimonial .elementor-widget-container,
	.elementor-widget-price-table .elementor-widget-container,
	.wp-block-group.is-style-card,
	.card,
	.tutor-card,
	.tutor-course-card,
	.tutor-table-responsive,
	.woocommerce ul.products li.product,
	.wc-block-grid__product,
	.entries article,
	.ct-posts-shortcode article,
	.woocommerce .woocommerce-MyAccount-navigation,
	.woocommerce .woocommerce-MyAccount-content,
	.woocommerce .woocommerce-checkout-review-order,
	.woocommerce .cart_totals,
	.woocommerce form.checkout_coupon,
	.woocommerce form.login,
	.woocommerce form.register,
	.icba-hero-note,
	.icba-flow-steps li,
	.icba-resource-card,
	.icba-upload-section,
	.icba-submission-card,
	.icba-guide-grid article,
	.icba-sop-details,
	.icba-status-guide dl div,
	.icba-dashboard-summary > div,
	.icba-dashboard-card,
	.icba-learning-center .tutor-dashboard-content,
	.icba-about-logo-primary,
	.icba-about-logo-points article,
	.icba-about-grid article
) {
	border-radius: var(--icba-radius-card) !important;
}

/* Fields use a related, tighter radius so forms stay easy to scan. */
body :where(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="password"],
	input[type="number"],
	input[type="date"],
	input[type="search"],
	select,
	textarea,
	.ff-el-form-control,
	.select2-selection
):not(.ct-header .ct-search-form *) {
	border-radius: var(--icba-radius-control) !important;
}

body :where(input[type="file"]) {
	border-radius: var(--icba-radius-control) !important;
}

body :where(input[type="file"])::file-selector-button {
	border-radius: var(--icba-radius-button) !important;
}

/* Keep course-search cards readable in their initial, hover, and keyboard-focus states. */
body.search.post-type-archive-courses .tutor-card.tutor-course-card {
	background: #ffffff !important;
	border: 1px solid #b8cadc !important;
	box-shadow: 0 8px 24px rgba(15, 76, 129, 0.1) !important;
	color: var(--icba-ink) !important;
	overflow: hidden;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.search.post-type-archive-courses .tutor-card.tutor-course-card :where(
	.tutor-course-name,
	.tutor-course-name a,
	.tutor-fs-5,
	.tutor-fw-medium
) {
	color: #172f4d !important;
}

body.search.post-type-archive-courses .tutor-card.tutor-course-card :where(
	.tutor-color-secondary,
	.tutor-fs-6,
	.tutor-fs-7,
	.tutor-meta,
	.tutor-meta-level,
	.tutor-course-author,
	.tutor-course-category
) {
	color: #425b76 !important;
}

body.search.post-type-archive-courses .tutor-card.tutor-course-card :where(
	.tutor-course-price,
	.tutor-course-price .woocommerce-Price-amount,
	.tutor-course-price-value
) {
	color: var(--icba-global-blue) !important;
	font-weight: 800 !important;
}

body.search.post-type-archive-courses .tutor-card.tutor-course-card:hover,
body.search.post-type-archive-courses .tutor-card.tutor-course-card:focus-within {
	background: #f2f7fd !important;
	border-color: var(--icba-energy-blue) !important;
	box-shadow: 0 12px 30px rgba(15, 76, 129, 0.18) !important;
	transform: translateY(-2px);
}

body.search.post-type-archive-courses .tutor-card.tutor-course-card:hover :where(.tutor-course-name, .tutor-course-name a),
body.search.post-type-archive-courses .tutor-card.tutor-course-card:focus-within :where(.tutor-course-name, .tutor-course-name a) {
	color: var(--icba-global-blue) !important;
}

body.search.post-type-archive-courses .tutor-card.tutor-course-card :where(.tutor-btn, .tutor-course-list-btn, .tutor-course-details-btn) {
	background: var(--icba-global-blue) !important;
	border-color: var(--icba-global-blue) !important;
	color: #ffffff !important;
}

body.search.post-type-archive-courses .tutor-card.tutor-course-card :where(.tutor-btn, .tutor-course-list-btn, .tutor-course-details-btn):hover,
body.search.post-type-archive-courses .tutor-card.tutor-course-card :where(.tutor-btn, .tutor-course-list-btn, .tutor-course-details-btn):focus-visible {
	background: var(--icba-energy-blue) !important;
	border-color: var(--icba-energy-blue) !important;
	color: #ffffff !important;
}

@media (max-width: 640px) {
	body :where(
		.elementor-button,
		.wp-element-button,
		.wp-block-button__link,
		a.button,
		button.button,
		input.button,
		input[type="submit"],
		.ff-btn,
		.tutor-btn,
		.icba-btn,
		.icba-about-button,
		.icba-footer-action
	) {
		max-width: 100%;
		white-space: normal;
	}
}
