/* STR Elementor Addons – Popup Form */

/* Body scroll lock */
body.str-ea-no-scroll { overflow: hidden; }

/* Overlay */
.str-ea-modal-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.6);
	padding: 16px;
	box-sizing: border-box;
}
.str-ea-modal-overlay.is-open {
	display: flex;
	animation: strEaFadeIn .2s ease;
}
@keyframes strEaFadeIn { from{opacity:0} to{opacity:1} }

/* Inner panel */
.str-ea-modal-inner {
	position: relative;
	background: #fff;
	border-radius: 12px;
	padding: 40px;
	width: 600px;
	max-width: 95vw;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0,0,0,.25);
	box-sizing: border-box;
	animation: strEaSlideUp .25s cubic-bezier(.34,1.56,.64,1);
}
@keyframes strEaSlideUp {
	from { opacity:0; transform:translateY(24px) scale(.97) }
	to   { opacity:1; transform:translateY(0)    scale(1)   }
}
.str-ea-modal-inner::-webkit-scrollbar { width: 5px }
.str-ea-modal-inner::-webkit-scrollbar-thumb { background:#ddd; border-radius:3px }

/* Close button */
.str-ea-close-btn {
	position: absolute;
	top: 14px; right: 14px;
	width: 32px; height: 32px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(0,0,0,.06);
	border: none; border-radius: 50%;
	cursor: pointer; padding: 0; color: #555;
	transition: background .15s, color .15s, transform .2s;
}
.str-ea-close-btn:hover { background: rgba(0,0,0,.14); color:#111; transform: rotate(90deg); }

/* Popup title / desc */
.str-ea-modal-title {
	margin: 0 0 6px; padding-right: 40px;
	font-size: 1.45em; font-weight: 700; color: #111;
}
.str-ea-modal-desc { margin: 0 0 22px; color: #666; font-size: .93em; line-height:1.6; }

/* Trigger button */
.str-ea-trigger-btn {
	display: inline-flex; align-items: center; gap: 8px;
	background: #6C63FF; color: #fff;
	border: none; border-radius: 6px;
	padding: 12px 28px;
	font-size: 1em; font-weight: 600;
	cursor: pointer; font-family: inherit; line-height: 1;
	transition: background .18s, transform .15s;
}
.str-ea-trigger-btn:hover { background: #574fd6; transform: translateY(-1px); }
.str-ea-trigger-btn:active { transform: translateY(0); }

/* Fields wrapper */
.str-ea-fields {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-bottom: 22px;
}
.str-ea-field { box-sizing: border-box; min-width: 150px; }
@media (max-width: 480px) { .str-ea-field { width: 100% !important; } }

/* Label */
.str-ea-label {
	display: block;
	font-size: .875em; font-weight: 600;
	margin-bottom: 5px; color: #333;
}
.str-ea-req { color: #e53935; margin-left: 2px; }

/* Inputs */
.str-ea-input,
.str-ea-textarea,
.str-ea-select {
	width: 100%; box-sizing: border-box;
	padding: 10px 14px;
	font-size: .9375em; font-family: inherit; line-height: 1.5;
	background: #f9f9f9; color: #222;
	border: 1.5px solid #ddd; border-radius: 6px;
	outline: none;
	transition: border-color .18s, box-shadow .18s, background .18s;
}
.str-ea-input:focus,
.str-ea-textarea:focus,
.str-ea-select:focus {
	border-color: #6C63FF;
	box-shadow: 0 0 0 3px rgba(108,99,255,.14);
	background: #fff;
}
.str-ea-input.is-invalid,
.str-ea-textarea.is-invalid,
.str-ea-select.is-invalid {
	border-color: #e53935;
	box-shadow: 0 0 0 3px rgba(229,57,53,.1);
}
.str-ea-textarea { resize: vertical; min-height: 100px; }

/* Choices */
.str-ea-choices { display: flex; flex-direction: column; gap: 6px; }
.str-ea-choice-label { display: flex; align-items: center; gap: 8px; font-size: .9em; cursor: pointer; }
.str-ea-choice-label input { accent-color: #6C63FF; width:16px; height:16px; flex-shrink:0; }

/* Error text */
.str-ea-error { display: block; font-size: .8em; color: #e53935; margin-top: 4px; min-height: .9em; }

/* Submit row */
.str-ea-submit-row { display: flex; align-items: center; }

/* Submit button */
.str-ea-submit {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: #6C63FF; color: #fff;
	border: none; border-radius: 6px;
	padding: 12px 32px;
	font-size: 1em; font-weight: 600;
	cursor: pointer; font-family: inherit; line-height: 1;
	transition: background .18s, transform .15s, opacity .18s;
}
.str-ea-submit:hover:not(:disabled) { background: #574fd6; transform: translateY(-1px); }
.str-ea-submit:disabled,
.str-ea-submit.is-loading { opacity: .65; cursor: not-allowed; transform: none; }

/* Spinner */
.str-ea-spinner {
	display: none;
	width: 15px; height: 15px;
	border: 2px solid rgba(255,255,255,.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: strEaSpin .7s linear infinite;
}
.is-loading .str-ea-spinner { display: inline-block; }
@keyframes strEaSpin { to { transform: rotate(360deg); } }

/* Success / Error messages */
.str-ea-msg-ok,
.str-ea-msg-err {
	margin-top: 14px; padding: 11px 16px;
	border-radius: 6px; font-size: .9em; font-weight: 500; line-height: 1.5;
}
.str-ea-msg-ok  { background: #e8f5e9; color: #2e7d32; border-left: 4px solid #43a047; }
.str-ea-msg-err { background: #ffebee; color: #c62828; border-left: 4px solid #e53935; }
