.manisoft-email-page {
	max-width: 560px;
	margin: 40px auto;
	padding: 0 16px;
}
.manisoft-email-card {
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 14px;
	padding: 28px 26px;
	box-shadow: 0 2px 12px rgba(20, 25, 40, 0.06);
}
.manisoft-email-card h3 {
	margin-top: 0;
}
.manisoft-email-muted {
	color: #777;
	font-size: 13px;
}
.manisoft-email-label {
	font-weight: bold;
	margin: 18px 0 6px;
}
.manisoft-email-lists label.checkbox,
.manisoft-email-reason label.radio {
	display: block;
	margin: 4px 0;
}
.manisoft-email-hint {
	color: #999;
	font-size: 12px;
	margin-top: 6px;
}
.manisoft-email-reason textarea {
	margin-top: 10px;
}
.manisoft-email-card .btn-primary {
	margin-top: 18px;
}

/* Status card (confirm view: ok / already / invalid) */
.manisoft-email-status-card {
	text-align: center;
}
.manisoft-email-status-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 999px;
	margin-bottom: 16px;
}
.manisoft-email-status-card--ok .manisoft-email-status-icon {
	background: #e7f6ec;
	color: #1e7a3e;
}
.manisoft-email-status-card--already .manisoft-email-status-icon {
	background: #e8f0fb;
	color: #2d7dd2;
}
.manisoft-email-status-card--invalid .manisoft-email-status-icon {
	background: #fdecea;
	color: #b3261e;
}
.manisoft-email-status-title {
	margin: 0 0 10px;
	font-size: 21px;
}
.manisoft-email-status-desc {
	color: #555;
	font-size: 14px;
	line-height: 1.8;
	margin: 0 0 6px;
}
.manisoft-email-status-reasons {
	text-align: start;
	display: inline-block;
	margin: 14px auto;
	padding-inline-start: 20px;
	color: #555;
	font-size: 13px;
	line-height: 1.9;
}
.manisoft-email-status-back {
	display: inline-block;
	margin-top: 18px;
	color: var(--manisoft-accent, #2d7dd2);
	text-decoration: underline;
	font-size: 13px;
}

/* Admin list tables */
.manisoft-email-admin-table {
	border: 1px solid #e4e8ef;
	border-radius: 8px;
	overflow: hidden;
}
.manisoft-email-admin-table thead th {
	background: #f7f9fc;
	color: #444;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-bottom: 2px solid #e4e8ef !important;
	vertical-align: middle;
}
.manisoft-email-admin-table tbody td {
	vertical-align: middle;
	font-size: 13px;
}
.manisoft-email-admin-table .label {
	font-size: 11px;
	padding: 3px 8px;
	border-radius: 999px;
}

/* Footer subscribe module — 2026 style */
.manisoft-email-module {
	--manisoft-accent: #2d7dd2;
	--manisoft-link: #5a6069;
	--manisoft-bg: #f7f9fc;
	--manisoft-text: #1b1f27;
	--manisoft-border: #e4e8ef;
	--manisoft-radius: 0px;
	--manisoft-radius-sm: 0px;
	color: var(--manisoft-text);
}
.manisoft-email-module--card {
	background: var(--manisoft-bg);
	border: 1px solid var(--manisoft-border);
	border-radius: var(--manisoft-radius);
	padding: 26px 26px;
	box-shadow: 0 1px 2px rgba(20, 25, 40, 0.04), 0 8px 24px rgba(20, 25, 40, 0.06);
}
.manisoft-email-module--horizontal {
	background: var(--manisoft-bg);
	border: 1px solid var(--manisoft-border);
	border-radius: var(--manisoft-radius);
	padding: 16px 20px;
}
.manisoft-email-module--horizontal .manisoft-email-module-intro {
	margin-bottom: 10px;
}
.manisoft-email-module-intro {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
.manisoft-email-module-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-width: 34px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--manisoft-accent) 15%, transparent);
	color: var(--manisoft-accent);
}
.manisoft-email-module-pretext {
	margin: 0;
	font-weight: 600;
	font-size: 15px;
}
.manisoft-email-module-form {
	display: block;
}
.manisoft-email-module-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.manisoft-email-module-input {
	flex: 1 1 200px;
	min-width: 160px;
	padding: 10px 14px;
	border: 1px solid var(--manisoft-border);
	border-radius: var(--manisoft-radius-sm, 0);
	font-family: inherit;
	font-size: 14px;
	background: #fff;
	color: var(--manisoft-text);
}
.manisoft-email-module-input:focus {
	outline: none;
	border-color: var(--manisoft-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--manisoft-accent) 20%, transparent);
}
.manisoft-email-module-input--name {
	flex: 1 1 160px;
}
.manisoft-email-module-btn {
	flex: 0 0 auto;
	padding: 10px 22px;
	border: none;
	border-radius: var(--manisoft-radius-sm, 0);
	background: var(--manisoft-accent);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.05s ease;
}
.manisoft-email-module-btn:hover {
	filter: brightness(1.08);
}
.manisoft-email-module-btn:active {
	transform: translateY(1px);
}
.manisoft-email-module-lists {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin-top: 14px;
}
.manisoft-email-module-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	cursor: pointer;
	margin: 0;
}
.manisoft-email-module-check input {
	accent-color: var(--manisoft-accent);
	width: 15px;
	height: 15px;
}
.manisoft-email-module-empty {
	color: #999;
	font-size: 13px;
	margin: 0;
}

/* AJAX result box */
.manisoft-email-result {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-radius: var(--manisoft-radius-sm, 0);
	font-size: 14px;
	line-height: 1.6;
}
.manisoft-email-result--pending {
	background: color-mix(in srgb, var(--manisoft-accent) 12%, transparent);
	color: var(--manisoft-text);
}
.manisoft-email-result--already {
	background: #e7f6ec;
	color: #1e7a3e;
}
.manisoft-email-result--error {
	background: #fdecea;
	color: #b3261e;
}
.manisoft-email-result--notfound {
	background: #f2f3f5;
	color: #5a6069;
}
.manisoft-email-result-icon {
	flex: 0 0 auto;
	display: inline-flex;
	margin-top: 1px;
}

/* Manage subscription mini flow */
.manisoft-email-managelink {
	display: inline-block;
	margin-top: 12px;
	background: none;
	border: none;
	padding: 0;
	font-size: 12px;
	color: var(--manisoft-link, #5a6069);
	text-decoration: none;
	cursor: pointer;
}
.manisoft-email-managelink:hover {
	text-decoration: none;
	opacity: 0.85;
}
.manisoft-email-manage-form {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	flex-wrap: wrap;
}
.manisoft-email-module-btn--ghost {
	background: transparent;
	border: 1px solid var(--manisoft-accent);
	color: var(--manisoft-accent);
}
.manisoft-email-result-link {
	color: var(--manisoft-link, inherit);
	font-weight: 600;
	text-decoration: none;
}
.manisoft-email-result-link:hover {
	text-decoration: none;
	opacity: 0.85;
}
.manisoft-email-module--inline .manisoft-email-module-intro {
	display: inline-flex;
	margin-bottom: 8px;
}
.manisoft-email-module--inline .manisoft-email-module-form {
	display: inline-block;
}

/* Honeypot */
.manisoft-email-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
	height: 0;
	width: 0;
	overflow: hidden;
}

/* RTL (Persian) */
html[dir="rtl"] .manisoft-email-page {
	text-align: right;
}
html[dir="rtl"] .manisoft-email-module {
	direction: rtl;
}

/* ============ New field system (icons, phone/country, tag-select) ============ */

.manisoft-email-theme-dark {
	--manisoft-bg: #1c1f26;
	--manisoft-text: #f2f3f5;
	--manisoft-border: #333844;
	--manisoft-input-bg: #262a33;
	--manisoft-neutral-bg: #333844;
	--manisoft-neutral-text: #d3d6db;
}
.manisoft-email-theme-light {
	--manisoft-input-bg: #ffffff;
	--manisoft-neutral-bg: #eef0f3;
	--manisoft-neutral-text: #444a54;
}

.manisoft-email-formwrap--contained {
	max-width: 992px;
	margin: 0 auto;
}

.manisoft-email-fields {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.manisoft-email-fields--horizontal {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
}
.manisoft-email-fields--horizontal .manisoft-email-field-group {
	flex: 1 1 180px;
}
.manisoft-email-fields--horizontal .manisoft-email-field-group--phone {
	flex: 0 1 150px;
}
.manisoft-email-fields--horizontal .manisoft-email-tagselect-group {
	flex: 1 1 180px;
}
.manisoft-email-fields--horizontal > .manisoft-email-module-btn {
	width: auto;
	flex: 0 0 auto;
	align-self: flex-end;
	margin-top: 0;
}

.manisoft-email-field {
	position: relative;
}
.manisoft-email-field-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--manisoft-text, #1b1f27);
	opacity: 0.75;
	margin-bottom: 4px;
}
/* .manisoft-email-tagselect-group {
	flex: 1 1 180px;
} */
.manisoft-email-field-icon {
	position: absolute;
	inset-inline-start: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.manisoft-email-input {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid var(--manisoft-border, #e4e8ef);
	border-radius: var(--manisoft-radius-sm, 0);
	font-family: inherit;
	font-size: 14px;
	background: var(--manisoft-input-bg, #fff);
	color: var(--manisoft-text, #1b1f27);
}
.manisoft-email-input--icon {
	padding-inline-start: 38px;
}
.manisoft-email-input:focus {
	outline: none;
	border-color: var(--manisoft-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--manisoft-accent) 20%, transparent);
}
/* .manisoft-email-module[dir="rtl"] input[type="email"].manisoft-email-input,
.manisoft-email-module[dir="rtl"] input[type="email"].manisoft-email-phone-input {
	text-align: right;
}
.manisoft-email-module[dir="rtl"] .manisoft-email-phone-input {
	text-align: right;
} */
 .manisoft-email-input[type="email"],  .manisoft-email-input[type="phone"]{
    direction: rtl !important;
    text-align: right !important;
    padding-right: 38px !important;
    padding-left: 40px !important;
}
.manisoft-email-input.is-invalid {
	border-color: #b3261e;
}
.manisoft-email-field-error {
	color: #b3261e;
	font-size: 12px;
	margin-top: 3px;
	min-height: 0;
}
.manisoft-email-field-error:empty {
	display: none;
}

/* Phone row: country picker + the phone input, each icon scoped to its own
   sub-field so it never overlaps the country picker next to it. */
.manisoft-email-field--phone {
	display: flex;
	gap: 8px;
	position: static;
}
.manisoft-email-field--phone-input {
	position: relative;
	flex: 1;
}

/* Merged phone input: one bordered box containing the country picker,
   a thin divider, then the number field — instead of two separate boxes. */
.manisoft-email-phone-combo {
	display: flex;
	align-items: stretch;
	padding: 0;
}
.manisoft-email-phone-combo .manisoft-email-country-picker {
	display: flex;
	align-items: center;
}
.manisoft-email-phone-combo .manisoft-email-country-btn {
	border: none;
	background: transparent;
	padding: 0 8px 0 12px;
	border-radius: 0;
}
.manisoft-email-phone-divider {
	width: 1px;
	align-self: center;
	height: 60%;
	background: var(--manisoft-border, #e4e8ef);
}
.manisoft-email-field--phone-input {
	display: flex;
	align-items: center;
	flex: 1;
}
.manisoft-email-phone-input {
	flex: 1;
	width: 100%;
	border: none;
	background: transparent;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 14px;
	color: var(--manisoft-text, #1b1f27);
	    text-align: right;
    padding-right: 38px;
}
.manisoft-email-phone-input:focus {
	outline: none;
}
/* .manisoft-email-phone-input.manisoft-email-input--icon {
	padding-inline-start: 34px;
} */

/* Country / dial-code picker */
.manisoft-email-country-picker {
	position: relative;
	flex: 0 0 auto;
}
.manisoft-email-country-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 100%;
	padding: 10px 10px;
	border: 1px solid var(--manisoft-border, #e4e8ef);
	border-radius: var(--manisoft-radius-sm, 0);
	background: var(--manisoft-input-bg, #fff);
	color: var(--manisoft-text, #1b1f27);
	cursor: pointer;
	font-size: 14px;
}
.manisoft-email-country-btn .flag {
	font-size: 16px;
	line-height: 1;
}
.manisoft-email-country-dropdown {
	position: absolute;
	z-index: 40;
	top: calc(100% + 4px);
	inset-inline-start: 0;
	width: 240px;
	max-height: 260px;
	background: var(--manisoft-input-bg, #fff);
	border: 1px solid var(--manisoft-border, #e4e8ef);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(20, 25, 40, 0.14);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.manisoft-email-country-search {
	border: none;
	border-bottom: 1px solid var(--manisoft-border, #e4e8ef);
	padding: 10px 12px;
	font-size: 13px;
	background: transparent;
	color: var(--manisoft-text, #1b1f27);
}
.manisoft-email-country-search:focus {
	outline: none;
}
.manisoft-email-country-list {
	overflow-y: auto;
}
.manisoft-email-country-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	font-size: 13px;
	cursor: pointer;
	color: var(--manisoft-text, #1b1f27);
}
.manisoft-email-country-item:hover {
	background: color-mix(in srgb, var(--manisoft-accent) 10%, transparent);
}
.manisoft-email-country-item .name {
	flex: 1;
}
.manisoft-email-country-item .dial {
	color: #8a8f9a;
	font-size: 12px;
}

/* Interests tag multi-select */
.manisoft-email-tagselect {
	position: relative;
}
.manisoft-email-tagselect-control {
	min-height: 42px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	padding: 6px 10px;
	border: 1px solid var(--manisoft-border, #e4e8ef);
	border-radius: var(--manisoft-radius-sm, 0);
	background: var(--manisoft-input-bg, #fff);
	cursor: pointer;
}
.manisoft-email-tagselect-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-height: 84px;
	overflow-y: auto;
	flex: 1;
}
.manisoft-email-tagselect-placeholder {
	color: #999;
	font-size: 13px;
}
.manisoft-email-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 6px 3px 10px;
	background: var(--manisoft-neutral-bg, #eef0f3);
	color: var(--manisoft-neutral-text, #444a54);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
}
html[dir="rtl"] .manisoft-email-tag {
	padding: 3px 10px 3px 6px;
}
.manisoft-email-tag-remove {
	border: none;
	background: none;
	color: inherit;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
	padding: 0 2px;
}
.manisoft-email-tagselect-dropdown {
	position: absolute;
	z-index: 40;
	top: calc(100% + 4px);
	inset-inline-start: 0;
	inset-inline-end: 0;
	max-height: 240px;
	background: var(--manisoft-input-bg, #fff);
	border: 1px solid var(--manisoft-border, #e4e8ef);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(20, 25, 40, 0.14);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.manisoft-email-tagselect-search {
	border: none;
	border-bottom: 1px solid var(--manisoft-border, #e4e8ef);
	padding: 10px 12px;
	font-size: 13px;
	background: transparent;
	color: var(--manisoft-text, #1b1f27);
}
.manisoft-email-tagselect-search:focus {
	outline: none;
}
.manisoft-email-tagselect-options {
	overflow-y: auto;
	padding: 4px 0;
}
.manisoft-email-tagselect-option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 12px;
	font-size: 13px;
	margin: 0;
	cursor: pointer;
	color: var(--manisoft-text, #1b1f27);
}
.manisoft-email-tagselect-option:hover {
	background: var(--manisoft-neutral-bg, #eef0f3);
}
.manisoft-email-tagselect-option input {
	accent-color: var(--manisoft-neutral-text, #6b7280);
}

/* Submit button spinner */
.manisoft-email-module-btn {
	position: relative;
	width: 100%;
	margin-top: 4px;
	padding: 11px 22px;
	border: none;
	border-radius: var(--manisoft-radius-sm, 0);
	background-color: var(--manisoft-accent);
	background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0px, rgba(255, 255, 255, 0.08) 2px, transparent 2px, transparent 10px);
	overflow: hidden;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.05s ease;
}
.manisoft-email-module-btn:hover {
	filter: brightness(1.08);
}
.manisoft-email-module-btn:active {
	transform: translateY(1px);
}
.manisoft-email-module-btn:disabled {
	cursor: default;
	opacity: 0.85;
}
.manisoft-email-module-btn .btn-spinner {
	position: absolute;
	top: 50%;
	inset-inline-start: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	margin-inline-start: -8px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: manisoft-email-spin 0.7s linear infinite;
}
@keyframes manisoft-email-spin {
	to { transform: rotate(360deg); }
}

/* Toast notifications */
#manisoft-email-toast-host {
	position: fixed;
	z-index: 9999;
	bottom: 20px;
	inset-inline-end: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 340px;
}
.manisoft-email-toast {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 25, 40, 0.18);
	font-size: 13px;
	line-height: 1.6;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.manisoft-email-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.manisoft-email-toast--pending { border-inline-start: 4px solid #2d7dd2; }
.manisoft-email-toast--already { border-inline-start: 4px solid #1e7a3e; }
.manisoft-email-toast--notfound { border-inline-start: 4px solid #8a8f9a; }
.manisoft-email-toast--error { border-inline-start: 4px solid #b3261e; }

/* Alert modal */
.manisoft-email-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(20, 25, 40, 0.45);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.manisoft-email-modal {
	background: #fff;
	border-radius: 14px;
	padding: 24px;
	max-width: 380px;
	width: 100%;
	text-align: center;
	box-shadow: 0 12px 40px rgba(20, 25, 40, 0.25);
}
.manisoft-email-modal .manisoft-email-result-icon {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}
.manisoft-email-modal .manisoft-email-result-text {
	display: block;
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 16px;
}
.manisoft-email-modal-close {
	border: none;
	background: var(--manisoft-accent, #2d7dd2);
	color: #fff;
	padding: 9px 26px;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
}

/* Subscribe Page (menu item) */
.manisoft-email-subscribepage {
}
.manisoft-email-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: background-image 0.2s ease;
}
.manisoft-email-hero-overlay {
	background: rgba(0, 0, 0, 0.28);
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.manisoft-email-hero-title {
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	margin: 0 0 6px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.manisoft-email-hero-subtitle {
	color: #f1f3f7;
	font-size: 15px;
	margin: 0;
	max-width: 560px;
}
.manisoft-email-subscribepage-body {
	display: flex;
	justify-content: center;
	padding: 0 16px;
}
.manisoft-email-subscribepage-card {
	width: 100%;
	max-width: 620px;
	margin-top: -36px;
	position: relative;
	z-index: 2;
	margin-bottom: 40px;
}
@media (max-width: 767px) {
	.manisoft-email-hero-title {
		font-size: 22px;
	}
	.manisoft-email-subscribepage-card {
		margin-top: -24px;
	}
}

