/*
 * Mifuerza Core – plugin-level styles only.
 * Visual design (colours, typography, cards, buttons) comes from your theme's CSS,
 * which targets the same class names used by the widgets (theme-btn, sm-heading-secondary, ...).
 */

/* Elementor editor helper */
.mifuerza-editor-notice {
	padding: 24px;
	margin: 16px 0;
	text-align: center;
	border: 2px dashed #c3c4c7;
	color: #50575e;
	font-size: 14px;
}

/* Resume: icon boxes (previously inline styles) */
.mifuerza-resume .mifuerza-skill-icon {
	width: 3rem;
	height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.mifuerza-resume .mifuerza-award-icon {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.mifuerza-resume .mifuerza-skill-icon svg,
.mifuerza-resume .mifuerza-award-icon svg {
	width: 100%;
	height: 100%;
}
.mifuerza-resume .tab-pane { display: none; }
.mifuerza-resume .tab-pane.active { display: block; }
.mifuerza-resume .tab-pane.fade { opacity: 0; transition: opacity .15s linear; }
.mifuerza-resume .tab-pane.fade.show { opacity: 1; }

/* Contact */
.mifuerza-contact .mifuerza-detail-row { border-bottom: 1px solid rgba(37, 36, 34, .1); }
.mifuerza-contact-form .elementor-field-group .elementor-field-textual {
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 4px;
	color: #fff;
	font: inherit;
	min-height: 0;
	padding: 14px 16px;
	transition: .2s;
}
.mifuerza-contact-form .elementor-field-group .elementor-field-textual::placeholder {
	color: #6f7a8a;
	opacity: 1;
}
.mifuerza-contact-form .elementor-field-group .elementor-field-textual:focus {
	border-color: var(--o);
	box-shadow: 0 0 0 3px rgba(254, 126, 1, .18);
	outline: 0;
}
.mifuerza-contact-form .elementor-button.elementor-field-type-submit {
	background: var(--o);
	border: 0;
	border-radius: 4px;
	color: var(--k);
	cursor: pointer;
	font: 600 1.05rem Poppins, sans-serif;
	grid-column: 1 / -1;
	min-height: 0;
	padding: 18px;
	transition: .25s;
}
.mifuerza-contact-form .elementor-button.elementor-field-type-submit:hover {
	background: #ff9530;
}
.mifuerza-contact .mifuerza-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.mifuerza-contact-form .error-message {
	display: none;
	min-height: 0;
	margin-top: 4px;
	font-size: 13px;
	color: #d63638;
}
.mifuerza-contact-form .f.bad .error-message { display: block; }
.mifuerza-contact-form .elementor-message-danger::before { content: none; display: none; }
.mifuerza-contact-form .form-response { font-size: 15px; }
.mifuerza-contact-form .form-response.is-success { color: #1a7f37; }
.mifuerza-contact-form .form-response.is-error { color: #d63638; }

/* Submit button loading state */
.mifuerza-contact-form button[type="submit"] { position: relative; }
.mifuerza-contact-form .btn-spinner { display: none; }
.mifuerza-contact-form button.is-loading { pointer-events: none; opacity: .85; }
.mifuerza-contact-form button.is-loading .btn-content { visibility: hidden; }
.mifuerza-contact-form button.is-loading .btn-spinner {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: mifuerza-spin .7s linear infinite;
}
@keyframes mifuerza-spin { to { transform: rotate(360deg); } }
