/* فرم ساز دونوکو - استایل فرانت (ریسپانسیو) */

.donooco-form-wrap {
	--donooco-primary: #ef6c2b;   /* نارنجی حاشیه */
	--donooco-label:   #1b2a52;   /* سرمه‌ای لیبل */
	--donooco-req:     #e0201a;   /* قرمز «ضروری» */
	--donooco-border:  #ef6c2b;
	--donooco-radius:  10px;
	--donooco-error:   #e0201a;
	direction: rtl;
	text-align: right;
	width: 100%;
	font-family: inherit;
	box-sizing: border-box;
}

.donooco-form-wrap *,
.donooco-form-wrap *::before,
.donooco-form-wrap *::after {
	box-sizing: border-box;
}

.donooco-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 18px 22px;
}

.donooco-col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.donooco-col-6  { grid-column: span 6; }
.donooco-col-12 { grid-column: span 12; }

/* ---------------------------------------------------------------
 * دفاع در برابر CSS سایت که width ثابت روی .elementor-widget-html div می‌گذارد
 * مثال: .elementor-widget-html div { width: 378px !important }
 * سلکتور double-class اینجا specificity بالاتری از selector آن rule دارد.
 * --------------------------------------------------------------- */
.donooco-form-wrap .donooco-grid {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.donooco-form-wrap .donooco-col,
.donooco-form-wrap .donooco-select-wrap,
.donooco-form-wrap .donooco-time-wrap,
.donooco-form-wrap .donooco-actions {
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: stretch !important;
	box-sizing: border-box !important;
}

.donooco-form-wrap .donooco-time-wrap {
	flex-direction: row !important;
	align-items: center !important;
}

.donooco-label {
	display: block;
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 15px;
	font-family: 'Dana', sans-serif;
	color: var(--donooco-label);
	line-height: 1.6;
}

.donooco-req {
	color: var(--donooco-req);
	font-size: 13px;
	font-weight: 700;
	margin-inline-start: 4px;
}

.donooco-input {
	width: 100%;
	min-height: 52px;
	padding: 12px 16px;
	font-family: inherit;
	font-size: 15px;
	color: #1b2a52;
	background: #f5f6f8 !important;
	border: 1.5px solid var(--donooco-border);
	border-radius: var(--donooco-radius);
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
	line-height: 1.6;
}

textarea.donooco-input {
	min-height: 110px;
	resize: vertical;
}

.donooco-input::placeholder {
	color: #9aa3b2;
	opacity: 1;
}

.donooco-input:focus {
	border-color: var(--donooco-primary);
	box-shadow: 0 0 0 3px rgba(239, 108, 43, .15);
}

/* سلکت */
.donooco-select-wrap {
	position: relative;
}

.donooco-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-left: 42px;
	cursor: pointer;
}

.donooco-select-wrap::after {
	content: "";
	position: absolute;
	left: 16px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-left: 2px solid var(--donooco-primary);
	border-bottom: 2px solid var(--donooco-primary);
	transform: translateY(-70%) rotate(-45deg);
	pointer-events: none;
}

/* ساعت — direction:ltr باعث می‌شود ساعت سمت چپ و دقیقه سمت راست باشد */
.donooco-time-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	direction: ltr;
}

.donooco-time-wrap .donooco-input {
	flex: 1;
	min-width: 0;
	text-align: center;
	padding-left: 8px;
	padding-right: 8px;
	/* حذف فلش‌های number input در مرورگرهای مختلف */
	-moz-appearance: textfield;
}

.donooco-time-wrap .donooco-input::-webkit-inner-spin-button,
.donooco-time-wrap .donooco-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.donooco-time-sep {
	font-size: 20px;
	font-weight: 700;
	color: var(--donooco-label);
	flex-shrink: 0;
	line-height: 1;
}

/* تاریخ */
.donooco-date {
	cursor: pointer;
	background-image: none;
}

/* خطا */
.donooco-col.has-error .donooco-input {
	border-color: var(--donooco-error);
	box-shadow: 0 0 0 3px rgba(224, 32, 26, .12);
}

.donooco-error-msg {
	display: none;
	margin-top: 6px;
	font-size: 13px;
	color: var(--donooco-error);
}

.donooco-col.has-error .donooco-error-msg {
	display: block;
}

/* دکمه ارسال */
.donooco-actions {
	margin-top: 24px;
}

.donooco-submit {
	position: relative;
	width: 100%;
	min-height: 54px;
	padding: 14px 24px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	background: var(--donooco-primary);
	border: none;
	border-radius: var(--donooco-radius);
	cursor: pointer;
	transition: filter .15s ease, opacity .15s ease;
}

.donooco-submit:hover { filter: brightness(.95); }
.donooco-submit:disabled { opacity: .7; cursor: not-allowed; }

.donooco-spinner {
	display: none;
	width: 18px;
	height: 18px;
	margin-inline-start: 10px;
	border: 2px solid rgba(255, 255, 255, .5);
	border-top-color: #fff;
	border-radius: 50%;
	vertical-align: middle;
	animation: donooco-spin .7s linear infinite;
}

.donooco-form.is-loading .donooco-spinner { display: inline-block; }

@keyframes donooco-spin {
	to { transform: rotate(360deg); }
}

@keyframes donooco-shake {
	0%, 100% { transform: translateX(0); }
	15%       { transform: translateX(-7px); }
	30%       { transform: translateX(7px); }
	45%       { transform: translateX(-5px); }
	60%       { transform: translateX(5px); }
	75%       { transform: translateX(-3px); }
	90%       { transform: translateX(3px); }
}

.donooco-col.do-shake {
	animation: donooco-shake .45s ease;
}

/* پیام نتیجه */
.donooco-message {
	display: none;
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: var(--donooco-radius);
	font-size: 15px;
	line-height: 1.8;
}

.donooco-message.is-success {
	display: block;
	background: #e9f8ee;
	color: #1a7a3d;
	border: 1.5px solid #43b96a;
}

.donooco-message.is-error {
	display: block;
	background: #fdecec;
	color: #b71c1c;
	border: 1.5px solid #e0201a;
}

.donooco-form-error {
	padding: 12px;
	background: #fdecec;
	color: #b71c1c;
	border-radius: 8px;
	direction: rtl;
}

/* ------------- ریسپانسیو موبایل ------------- */
/* 1024px: تبلت — فرم هنوز دو ستونی هست ولی gap کمتر */
@media (max-width: 1024px) {
	.donooco-grid {
		gap: 14px 16px;
	}
}

/* 767px: موبایل — یک ستونه. !important برای غلبه بر Elementor */
@media (max-width: 767px) {
	.donooco-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
	.donooco-col-6,
	.donooco-col-12 {
		grid-column: 1 / -1 !important;
	}
	.donooco-input {
		font-size: 16px !important; /* جلوگیری از زوم خودکار iOS */
	}
}

/* ------------- تقویم شمسی ------------- */

/* کانتینر تقویم — داخل body قرار می‌گیرد */
.donooco-cal {
	position: absolute;
	z-index: 99999;
	width: 284px;
	background: #fff !important;
	border: 1.5px solid var(--donooco-primary) !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, .18) !important;
	padding: 14px !important;
	direction: rtl;
	font-family: inherit;
	box-sizing: border-box;
}

.donooco-cal * {
	box-sizing: border-box;
	font-family: inherit;
}

.donooco-cal-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 10px !important;
	padding: 0 !important;
	background: transparent !important;
}

.donooco-cal-title {
	font-weight: 700;
	color: var(--donooco-label);
	font-size: 15px;
	flex: 1;
	text-align: center;
}

/* دکمه‌های ماه قبل/بعد — از div ساخته شده، تم سایت روی آنها اثر ندارد */
.donooco-cal-nav {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	background: #f3f4f7 !important;
	border: none !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--donooco-label) !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	min-height: 0 !important;
}

.donooco-cal-nav:hover {
	background: #e7e9ef !important;
	color: var(--donooco-primary) !important;
}

.donooco-cal-grid {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr) !important;
	gap: 3px !important;
}

.donooco-cal-dow {
	text-align: center !important;
	font-size: 11px !important;
	color: #9aa3b2 !important;
	padding: 5px 0 !important;
	font-weight: 700 !important;
	background: transparent !important;
}

/* خانه روز — div است نه button تا از استایل تم جدا بماند */
.donooco-cal-day {
	/* ریست کامل از استایل‌های احتمالی تم */
	display: block !important;
	text-align: center !important;
	padding: 7px 2px !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	font-size: 13px !important;
	color: #1b2a52 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	font-weight: normal !important;
	min-height: 0 !important;
	height: auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	text-decoration: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: background .1s ease !important;
	user-select: none;
}

.donooco-cal-day:hover {
	background: #fdece2 !important;
	color: #1b2a52 !important;
}

.donooco-cal-empty {
	display: block;
	padding: 7px 2px;
}

.donooco-cal-day.is-today {
	border: 2px solid var(--donooco-primary) !important;
	background: rgba(239, 108, 43, .10) !important;
	color: var(--donooco-primary) !important;
	font-weight: 700 !important;
}

.donooco-cal-day.is-selected {
	background: var(--donooco-primary) !important;
	color: #fff !important;
	font-weight: 700 !important;
}

.donooco-cal-day.is-selected:hover {
	background: #d45e1e !important;
}

/* ------------- پاپ‌آپ موفقیت ------------- */

.donooco-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	z-index: 9999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	animation: donooco-overlay-in .25s ease;
}

.donooco-modal-overlay.is-closing {
	animation: donooco-overlay-out .2s ease forwards;
}

@keyframes donooco-overlay-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@keyframes donooco-overlay-out {
	from { opacity: 1; }
	to   { opacity: 0; }
}

.donooco-modal {
	background: #fff;
	border-radius: 24px;
	padding: 44px 32px 36px;
	max-width: 420px;
	width: 100%;
	text-align: center;
	direction: rtl;
	box-shadow: 0 24px 64px rgba(0, 0, 0, .22);
	animation: donooco-modal-in .38s cubic-bezier(.34, 1.56, .64, 1);
	position: relative;
}

.donooco-modal-overlay.is-closing .donooco-modal {
	animation: donooco-modal-out .2s ease forwards;
}

@keyframes donooco-modal-in {
	from { transform: scale(.7) translateY(20px); opacity: 0; }
	to   { transform: scale(1) translateY(0);     opacity: 1; }
}

@keyframes donooco-modal-out {
	from { transform: scale(1) translateY(0);     opacity: 1; }
	to   { transform: scale(.85) translateY(10px); opacity: 0; }
}

.donooco-modal-icon {
	width: 76px;
	height: 76px;
	background: linear-gradient(135deg, #ef6c2b 0%, #f5944a 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 22px;
	box-shadow: 0 10px 28px rgba(239, 108, 43, .38);
	animation: donooco-icon-pop .45s cubic-bezier(.34, 1.56, .64, 1) .15s both;
}

@keyframes donooco-icon-pop {
	from { transform: scale(0); opacity: 0; }
	to   { transform: scale(1); opacity: 1; }
}

.donooco-modal-icon svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: #fff;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.donooco-modal-title {
	font-family: 'Dana', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #1b2a52;
	margin: 0 0 12px;
	line-height: 1.5;
}

.donooco-modal-msg {
	font-family: 'Dana', sans-serif;
	font-size: 15px;
	color: #6b7280;
	line-height: 1.9;
	margin: 0 0 30px;
}

.donooco-modal-btn {
	display: inline-block;
	width: 100%;
	padding: 14px 24px;
	background: var(--donooco-primary, #ef6c2b);
	color: #fff;
	border: none;
	border-radius: 12px;
	font-family: 'Dana', sans-serif;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: filter .15s ease;
	box-sizing: border-box;
}

.donooco-modal-btn:hover {
	filter: brightness(.92);
}
