/* فونت پیش‌فرض */
body {
    font-family: 'Vazirmatn', sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* ============================================
   استایل دکمه Toggle - نسخه Fixed برای المنتور
   ============================================ */

.ptch-dark-mode-wrapper {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

.ptch-btn-toggle {
    margin: 0;
    padding: 0;
    position: relative;
    border: none;
    height: 1.5rem;
    width: 3rem;
    border-radius: 1.5rem;
    cursor: pointer;
    transition: background-color 0.25s ease;
    display: inline-block;
    vertical-align: middle;
}

.ptch-btn-toggle:focus,
.ptch-btn-toggle.focus {
    outline: none;
}

/* برچسب‌های On/Off */
.ptch-btn-toggle:before,
.ptch-btn-toggle:after {
    line-height: 1.5rem;
    width: auto;
    text-align: center;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: absolute;
    bottom: 0;
    transition: opacity 0.25s;
    white-space: nowrap;
}

.ptch-btn-toggle:before {
    content: 'روز';
    right: calc(100% + 0.5rem);
}

.ptch-btn-toggle:after {
    content: 'شب';
    left: calc(100% + 0.5rem);
    opacity: 0.5;
}

/* دسته دکمه */
.ptch-handle {
    position: absolute;
    top: 0.1875rem;
    left: 0.1875rem;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 1.125rem;
    background: #fff;
    transition: left 0.25s ease;
}

/* حالت فعال */
.ptch-btn-toggle.active > .ptch-handle {
    left: 1.6875rem;
}

.ptch-btn-toggle.active:before {
    opacity: 0.5;
}

.ptch-btn-toggle.active:after {
    opacity: 1;
}

/* ============================================
   اندازه‌های مختلف دکمه
   ============================================ */

/* اندازه بزرگ */
.ptch-btn-toggle.ptch-btn-lg {
    height: 2.5rem;
    width: 5rem;
    border-radius: 2.5rem;
}

.ptch-btn-toggle.ptch-btn-lg:before,
.ptch-btn-toggle.ptch-btn-lg:after {
    line-height: 2.5rem;
    font-size: 1rem;
}

.ptch-btn-toggle.ptch-btn-lg:before {
    right: calc(100% + 0.75rem);
}

.ptch-btn-toggle.ptch-btn-lg:after {
    left: calc(100% + 0.75rem);
}

.ptch-btn-toggle.ptch-btn-lg > .ptch-handle {
    top: 0.3125rem;
    left: 0.3125rem;
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 1.875rem;
}

.ptch-btn-toggle.ptch-btn-lg.active > .ptch-handle {
    left: 2.8125rem;
}

/* اندازه کوچک */
.ptch-btn-toggle.ptch-btn-sm {
    height: 1.5rem;
    width: 3rem;
    border-radius: 1.5rem;
}

.ptch-btn-toggle.ptch-btn-sm:before,
.ptch-btn-toggle.ptch-btn-sm:after {
    line-height: 1.48rem;
    color: #fff;
    letter-spacing: 0.75px;
    left: 0.4125rem;
    width: 2.325rem;
    font-size: 0.55rem;
}

.ptch-btn-toggle.ptch-btn-sm:before {
    text-align: right;
}

.ptch-btn-toggle.ptch-btn-sm:after {
    text-align: left;
    opacity: 0;
}

.ptch-btn-toggle.ptch-btn-sm.active:before {
    opacity: 0;
}

.ptch-btn-toggle.ptch-btn-sm.active:after {
    opacity: 1;
}

/* اندازه خیلی کوچک */
.ptch-btn-toggle.ptch-btn-xs {
    height: 1rem;
    width: 2rem;
    border-radius: 1rem;
}

.ptch-btn-toggle.ptch-btn-xs:before,
.ptch-btn-toggle.ptch-btn-xs:after {
    display: none;
}

.ptch-btn-toggle.ptch-btn-xs > .ptch-handle {
    top: 0.125rem;
    left: 0.125rem;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 0.75rem;
}

.ptch-btn-toggle.ptch-btn-xs.active > .ptch-handle {
    left: 1.125rem;
}

/* استایل ثانویه */
.ptch-btn-toggle.ptch-btn-secondary.active {
    background-color: #ff8300 !important;
}

/* ============================================
   حالت شب - استایل‌های اصلی
   ============================================ */

.dark-mode {
    background-color: #1C1C1C !important;
    color: #ECECEC !important;
}

.dark-mode table,
.dark-mode div:not(.ptch-btn-toggle):not(.ptch-handle):not(.ptch-dark-mode-wrapper),
.dark-mode section,
.dark-mode article,
.dark-mode aside,
.dark-mode header,
.dark-mode footer,
.dark-mode main,
.dark-mode nav {
    background-color: #2A2A2A !important;
    color: #ECECEC !important;
}

/* ✨ جدول‌ها - سلول‌های th و td */
.dark-mode th,
.dark-mode td {
    background-color: #2A2A2A !important;
    color: #ECECEC !important;
    border-color: #4A4A4A !important;
}

/* سطرهای جدول */
.dark-mode tr {
    background-color: #2A2A2A !important;
    color: #ECECEC !important;
}

/* سطرهای زوج/فرد (اگر دارند) */
.dark-mode tbody tr:nth-child(even) {
    background-color: #333333 !important;
}

.dark-mode tbody tr:nth-child(odd) {
    background-color: #2A2A2A !important;
}

/* سطرهای Hover */
.dark-mode tbody tr:hover {
    background-color: #3A3A3A !important;
}

/* هدر جدول */
.dark-mode thead th,
.dark-mode thead td {
    background-color: #3A3A3A !important;
    color: #ECECEC !important;
    font-weight: 600;
}

/* فوتر جدول */
.dark-mode tfoot th,
.dark-mode tfoot td {
    background-color: #3A3A3A !important;
    color: #ECECEC !important;
    font-weight: 600;
}

.dark-mode a {
    color: #6CA1CB;
}

.dark-mode a:hover {
    color: #8BC1E5;
}

/* ============================================
   حالت شب - فرم‌ها و Input ها
   ============================================ */

.dark-mode input,
.dark-mode textarea,
.dark-mode select {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
    border-color: #4A4A4A !important;
}

.dark-mode input:focus,
.dark-mode textarea:focus,
.dark-mode select:focus {
    background-color: #FFFFFF !important;
    border-color: #6CA1CB !important;
    box-shadow: 0 0 0 2px rgba(108, 161, 203, 0.2) !important;
}

.dark-mode input::placeholder,
.dark-mode textarea::placeholder {
    color: #888 !important;
}

/* ============================================
   حالت شب - Gravity Forms
   ============================================ */

/* فیلدهای اصلی Gravity Forms */
.dark-mode .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.dark-mode .gform_wrapper textarea,
.dark-mode .gform_wrapper select {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
    border-color: #4A4A4A !important;
}

/* لیبل‌ها و توضیحات */
.dark-mode .gform_wrapper label,
.dark-mode .gform_wrapper .gfield_label,
.dark-mode .gform_wrapper .gfield_description,
.dark-mode .gform_wrapper .gfield_required,
.dark-mode .gform_wrapper .gsection_title,
.dark-mode .gform_wrapper .gsection_description {
    color: #ECECEC !important;
}

/* باکس فرم */
.dark-mode .gform_wrapper {
    background-color: #2A2A2A !important;
}

.dark-mode .gform_wrapper .gform_body {
    background-color: transparent !important;
}

/* دکمه‌های Gravity Forms */
.dark-mode .gform_wrapper .gform_footer input[type=submit],
.dark-mode .gform_wrapper .gform_page_footer input[type=submit],
.dark-mode .gform_wrapper .gform_page_footer input[type=button] {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
    border-color: #6CA1CB !important;
}

.dark-mode .gform_wrapper .gform_footer input[type=submit]:hover,
.dark-mode .gform_wrapper .gform_page_footer input[type=submit]:hover {
    background-color: #5C91BB !important;
}

/* ============================================
   حالت شب - Chosen Dropdown
   ============================================ */

.dark-mode .chosen-container {
    background-color: #FFFFFF !important;
}

.dark-mode .chosen-container-single .chosen-single {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
    border-color: #4A4A4A !important;
}

.dark-mode .chosen-container-single .chosen-single span {
    color: #1C1C1C !important;
}

.dark-mode .chosen-container-single .chosen-single div b {
    background-position: 0 7px !important;
}

/* Dropdown باز شده */
.dark-mode .chosen-container .chosen-drop {
    background-color: #FFFFFF !important;
    border-color: #4A4A4A !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3) !important;
}

/* فیلد جستجو داخل Dropdown */
.dark-mode .chosen-container .chosen-search input[type="text"] {
    background-color: #F5F5F5 !important;
    color: #1C1C1C !important;
    border-color: #DDDDDD !important;
}

/* لیست نتایج */
.dark-mode .chosen-container .chosen-results {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
}

.dark-mode .chosen-container .chosen-results li {
    color: #1C1C1C !important;
}

.dark-mode .chosen-container .chosen-results li.active-result {
    color: #1C1C1C !important;
}

.dark-mode .chosen-container .chosen-results li.highlighted {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
}

.dark-mode .chosen-container .chosen-results li.result-selected {
    background-color: #E0E0E0 !important;
    color: #1C1C1C !important;
}

/* Chosen Multi-Select */
.dark-mode .chosen-container-multi .chosen-choices {
    background-color: #FFFFFF !important;
    border-color: #4A4A4A !important;
}

.dark-mode .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    color: #1C1C1C !important;
}

.dark-mode .chosen-container-multi .chosen-choices li.search-choice {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
    border-color: #5C91BB !important;
}

.dark-mode .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    background-position: -42px 1px !important;
}

/* ============================================
   حالت شب - Radio Buttons & Checkboxes
   ============================================ */

.dark-mode .gform_wrapper input[type=radio] + label,
.dark-mode .gform_wrapper input[type=checkbox] + label {
    color: #ECECEC !important;
}

.dark-mode .gform_wrapper .gfield_radio li,
.dark-mode .gform_wrapper .gfield_checkbox li {
    color: #ECECEC !important;
}

/* ============================================
   حالت شب - File Upload
   ============================================ */

.dark-mode .gform_wrapper input[type=file] {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
    border-color: #4A4A4A !important;
    padding: 8px !important;
}

/* ============================================
   حالت شب - Date Picker
   ============================================ */

.dark-mode .ui-datepicker {
    background-color: #FFFFFF !important;
    border-color: #4A4A4A !important;
}

.dark-mode .ui-datepicker th,
.dark-mode .ui-datepicker td {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
}

.dark-mode .ui-datepicker td a {
    color: #1C1C1C !important;
}

.dark-mode .ui-datepicker td a:hover {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
}

.dark-mode .ui-datepicker-header {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
}

/* ============================================
   حالت شب - پیام‌های خطا و موفقیت
   ============================================ */

.dark-mode .gform_wrapper .validation_error {
    background-color: #8B2E2E !important;
    color: #FFFFFF !important;
    border-color: #6B1E1E !important;
}

.dark-mode .gform_wrapper .gfield_error {
    background-color: rgba(139, 46, 46, 0.1) !important;
}

.dark-mode .gform_wrapper .gfield_error .gfield_label {
    color: #FF6B6B !important;
}

.dark-mode .gform_wrapper .validation_message {
    color: #FF6B6B !important;
}

.dark-mode .gform_wrapper .gform_confirmation_message {
    background-color: #2E8B57 !important;
    color: #FFFFFF !important;
    border-color: #1E6B47 !important;
}

/* ============================================
   حالت شب - Progress Bar
   ============================================ */

.dark-mode .gform_wrapper .gf_progressbar {
    background-color: #3A3A3A !important;
}

.dark-mode .gform_wrapper .gf_progressbar_percentage {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
}

/* ============================================
   حالت شب - Section Break
   ============================================ */

.dark-mode .gform_wrapper .gsection {
    border-bottom-color: #4A4A4A !important;
}

/* ============================================
   حالت شب - Price Fields
   ============================================ */

.dark-mode .gform_wrapper .ginput_product_price,
.dark-mode .gform_wrapper .ginput_quantity,
.dark-mode .gform_wrapper .gfield_price {
    color: #ECECEC !important;
}

/* ============================================
   حالت شب - سایر عناصر فرم
   ============================================ */

/* Button و Submit عمومی */
.dark-mode button:not(.ptch-btn-toggle),
.dark-mode input[type="submit"],
.dark-mode input[type="button"] {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
    border-color: #6CA1CB !important;
}

.dark-mode button:not(.ptch-btn-toggle):hover,
.dark-mode input[type="submit"]:hover,
.dark-mode input[type="button"]:hover {
    background-color: #5C91BB !important;
}

/* Select2 */
.dark-mode .select2-container--default .select2-selection--single {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
    border-color: #4A4A4A !important;
}

.dark-mode .select2-dropdown {
    background-color: #FFFFFF !important;
    border-color: #4A4A4A !important;
}

.dark-mode .select2-results__option {
    background-color: #FFFFFF !important;
    color: #1C1C1C !important;
}

.dark-mode .select2-results__option--highlighted {
    background-color: #6CA1CB !important;
    color: #FFFFFF !important;
}

/* ============================================
   انیمیشن‌های نرم
   ============================================ */

.dark-mode,
.dark-mode *:not(.ptch-btn-toggle):not(.ptch-handle) {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

.ptch-btn-toggle,
.ptch-handle {
    transition: background-color 0.25s ease, left 0.25s ease !important;
}
