.c-main {
    background-color: #f3f5f9;
}

.ck-editor__editable,
textarea {
    min-height: 150px;
}

.datatable {
    width: 100% !important;
}

table.dataTable tbody td.select-checkbox::before,
table.dataTable tbody td.select-checkbox::after,
table.dataTable tbody th.select-checkbox::before,
table.dataTable tbody th.select-checkbox::after {
    top: 50%;
}

.page-link {
    border: none;
}

.dataTables_length,
.dataTables_filter,
.dt-buttons {
    margin-bottom: 0.333em;
    margin-top: 0.2rem;
}

.dataTables_filter {
    margin-right: 0.2rem;
}

.dt-buttons .btn {
    margin-left: 0.333em;
    border-radius: 0;
}

.table.datatable {
    box-sizing: border-box;
    border-collapse: collapse;
}

table.dataTable thead th {
    border-bottom: 2px solid #e1e3ea;
		font-weight: 600;
		font-size: 14px;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border-bottom: none;
}

.table thead th {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.header-bg {
    background-color: #f9f9f9;
}

.header-bg th {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #000;
}

.header-bg th:first-child {
    border-top-left-radius: 0;
}

.header-bg th:last-child {
    border-top-right-radius: 0;
}

.has-error .invalid-feedback {
    display: block !important;
}

.btn-info,
.badge-info {
    color: white;
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    background-image: none;
}

.sidebar .nav-item {
    cursor: pointer;
}

.form-control:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
		color: #000;
}

.btn-default {
    color: #23282c;
    background-color: #f0f3f5;
    border-color: #f0f3f5;
}

.btn-default.focus,
.btn-default:focus {
    box-shadow: 0 0 0 0.2rem rgba(209, 213, 215, 0.5);
}

.btn-default:hover {
    color: #23282c;
    background-color: #d9e1e6;
    border-color: #d1dbe1;
				text-decoration: none;
}

.btn-group-xs > .btn,
.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.searchable-title {
    font-weight: bold;
}
.searchable-fields {
    padding-left: 5px;
}
.searchable-link {
    padding: 0 5px 0 5px;
}
.searchable-link:hover {
    cursor: pointer;
    background: #eaeaea;
}
.form-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.form-group .required::after {
    content: " *";
    color: red;
}

.form-check.is-invalid ~ .invalid-feedback {
    display: block;
}

.c-sidebar-brand .c-sidebar-brand-full:hover {
    color: inherit;
}

.c-sidebar {
    background-color: #131313;
		width: 290px;
}

html:not([dir=rtl]) .c-sidebar:not(.c-sidebar-right) {
    margin-left: -290px;
}

@media (min-width: 992px) and (min-width: 992px) {
    html:not([dir=rtl]) .c-sidebar.c-sidebar-lg-show:not(.c-sidebar-right).c-sidebar-fixed~.c-wrapper, html:not([dir=rtl]) .c-sidebar.c-sidebar-show:not(.c-sidebar-right).c-sidebar-fixed~.c-wrapper {
        margin-left: 290px;
    }
}

.c-sidebar-nav-link:hover {
    background-color: #326698 !important;
}

.c-sidebar-nav-dropdown-toggle:hover {
    background-color: #326698 !important;
}

.c-sidebar-brand {
    flex: 0 0 65px;
}

.custom-select.form-control-sm {
    padding: 0.25rem 1.5rem;
}
/* MY CUSTOM STYLES */

/* Page Title */
.page-title {
    font-size: 20px;
    font-weight: 600;
    color: #000;
    margin: 0;
    line-height: 1.1;
}

/* Modern Card Styling */
.modern-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
}

.card {
    border-bottom: 1px solid #f1f1f2;
    border-radius: 20px;
    box-shadow: none;
    border-color: #fff;
}

.card-header {
    padding: 1.25rem;
    border-bottom: 0 !important;
    border-radius: 20px !important;
}

.card-footer {
    padding: 0;
    background-color: #fff;
    border-top: 1px solid #e1e3ea;
}

.pl-12px {
    padding-left: 12px;
}

.card-body-modern {
    background: #ffffff;
    padding: 32px;
    border-radius: 20px;
    box-shadow: none;
    border-color: #fff;
}

/* Divider */
.card-divider {
    height: 1px;
    background: #e1e3ea;
}

/* Card Footer */
.card-footer-modern {
    background: #ffffff;
    padding: 24px 0 0 24px;
    border-top: none;
    border-radius: 20px;
    box-shadow: none;
    border-color: #fff;
}

/* Form Group */
.form-group-modern {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
    padding: 0;
}

.form-group-modern-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: 0;
}

.form-group-modern:last-child {
    margin-bottom: 0;
}

/* Form Labels*/
label {
    font-weight: 600;
    color: #000;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.1;
}

.form-label-modern.required::after {
    content: " *";
    color: #ef4444;
    font-weight: 500;
}

/* Form Controls */
.form-control {
    border: 1px solid #e1e3ea;
    border-radius: 6px;
    color: #000;
    height: 38px;
}

.form-control::placeholder {
    color: #7e8299;
}

.form-control-modern {
    height: 45px;
    border: 1px solid #e0e6ed;
    border-radius: 6px;
    padding: 12px 15px;
    font-size: 14px;
    color: #495057;
    background-color: #ffffff;
    transition: all 0.15s ease-in-out;
    width: 100%;
}

.form-control-modern:focus {
    border-color: #007bff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.form-control-modern:hover {
    border-color: #b0b6c1;
}

.form-control-modern::placeholder {
    color: #9ca3af;
    opacity: 1;
}

.form-control-modern.error {
    border-color: #ef4444;
}

.form-control-modern.error:focus {
    border-color: #ef4444;
    box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.25);
}

/* Input Styling */
input[type="date"] {
    cursor: pointer;
    appearance: none;
    border: 1px solid #e1e3ea;
    border-radius: 6px;
}

/* Select Styling */
select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 32px;
    appearance: none;
    border: 1px solid #e1e3ea;
    border-radius: 6px;
}

/* Textarea */
textarea.form-control-modern {
    resize: vertical;
    min-height: 100px;
}

/* Modern Switch */
.switch-modern {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 12px;
}

.switch-modern input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider-modern {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #d1d5db;
    transition: all 0.3s ease;
    border-radius: 30px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 24px;
    height: 18px;
    width: 30px;
    gap: 10px;
    padding: 4px;
}

.slider-modern:before {
    position: absolute;
    content: "";
    height: 14px;
    width: 14px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: 0.3s ease;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

input:checked + .slider-modern {
    background-color: #326698;
}

input:checked + .slider-modern:before {
    transform: translateX(12px);
}

.slider-modern:hover {
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}

input:checked + .slider-modern:hover {
    background-color: #326698;
}

.dropzone {
	  border: 1px solid #e1e3ea;
    border-radius: 6px;
}

/* Modern Dropzone */
.dropzone-modern {
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    padding: 32px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #f9fafb;
}

.dropzone-modern:hover {
    border-color: #3b82f6;
    background: #eff6ff;
}

.dropzone-modern.error {
    border-color: #ef4444;
    background: #fef2f2;
}

.dropzone-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.dropzone-icon {
    font-size: 32px;
    color: #9ca3af;
}

.dropzone-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dropzone-text span {
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

.dropzone-text small {
    font-size: 12px;
    color: #6b7280;
}

/* Helper Text */

.helper-text {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.4;
}

/* Error styling */
.error-message {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    display: none;
}

.form-control.error {
    border-color: #dc3545 !important;
}

/* Make sure error messages are visible when needed */
.form-control.error + .error-message,
.form-control-wrapper .error-message[style="display: block;"] {
    display: block !important;
}

/* Style for invalid dropzone */
.dropzone-modern.error {
    border-color: #dc3545 !important;
    background-color: rgba(220, 53, 69, 0.05);
}

.button-group {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    /* margin-top: 32px; */
}

/* Buttons */
.btn-secondary {
    border-radius: 44px;
    padding: 8px 12px;
    gap: 8px;
    background: #eeeeee;
    color: #595959;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid #eeeeee;
}

.btn-secondary:hover {
    background: #6C757D;
    border: 1px solid #6C757D;
		color: #fff;
		text-decoration: none;
		outline: none !important;
		box-shadow: none;
}

.btn-secondary:focus {
    background: #eeeeee !important; 
    color: #595959;
    border: none;
		text-decoration: none;
		outline: none !important;	
		box-shadow: none;
}

.btn-secondary:active {
    background: #eeeeee !important; 
    color: #595959;
    border: none	;
		text-decoration: none;
		box-shadow: none;
		outline: none !important;
}

.btn-primary-outline {
    border-radius: 44px;
    padding: 8px 12px;
    gap: 8px;
    background: var(--Main-Color, #ffffff);
    color: #326698;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
    border: 1px solid #326698;
}

.btn-primary-outline:hover {
    background: #326698;
		color: #fff;
				text-decoration: none;
		outline: none;
		box-shadow: none;
}

.btn-primary-outline:active {
    background: #ffffff;
		color: #326698;
				text-decoration: none;
		outline: none;
		box-shadow: none;
}

.btn-primary-outline:focus {
    background: #ffffff;
		color: #326698;
				text-decoration: none;
		outline: none;
		box-shadow: none;
}

.btn-primary {
    border-radius: 44px;
    padding: 8px 12px;
    gap: 8px;
    background: var(--Main-Color, #326698);
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid #326698;
}

.btn-primary:hover {
    background: #0B3054;
    border-color: #0B3054;
		text-decoration: none;
		outline: none;
		box-shadow: none;
}

.btn-primary:focus {
    background: #326698;
    border-color: #326698;
		text-decoration: none;
		outline: none;
		box-shadow: none;
		color: #ffffff;
}

.btn-primary:active {
    background: #326698;
    border-color: #326698;
		text-decoration: none;
		outline: none;
		box-shadow: none;
		color: #ffffff;
}

.btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
		background: #326698;
			border-color: #326698;
			text-decoration: none;
			outline: none;
			box-shadow: none !important;
			color: #ffffff;
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .show>.btn-primary.dropdown-toggle:focus {
		background: #326698;
			border-color: #326698;
			text-decoration: none;
			outline: none;
			box-shadow: none !important;
			color: #ffffff;
}

.btn-danger {
    border-radius: 44px;
    padding: 8px 12px;
    gap: 8px;
    background: var(--Main-Color, #e55353);
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid #e55353;
}

.btn-danger:hover {
    background: #e03232;
    border-color: #e03232;
				text-decoration: none;
}

.btn-action {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    border: none;
    margin-right: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: #6c757d;
    padding: 8px 12px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.btn-action:hover {
    background-color: transparent;
		text-decoration: none;
		box-shadow:none;
		color: #326698;
}

.btn-action:active {
    background-color: transparent;
		text-decoration: none;
		box-shadow:none;
}

.btn-action:focus {
    background-color: transparent;
		text-decoration: none;
		box-shadow:none;
}

.btn-minus {
    width: 38px;
    height: 38px;
    border-width: 1px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #dc3545;
    border: 1px solid #dc3545;
    color: #fff;
    outline: none;
}

.btn-minus:active {
    border: 1px solid #dc3545;
		outline: none;
}

.btn-plus {
    width: 38px;
    height: 38px;
    border-width: 1px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #198754;
    border: 1px solid #198754;
    color: #fff;
    outline: none;
}

.btn-plus:active {
    border: 1px solid #198754;
		outline: none;
}

.btn-link {
    color: var(--Main-Color, #326698);
    outline: none;
}

.btn-link:active {
    box-shadow: none;
    outline: none;
}

.btn-link:focus {
    box-shadow: none;
    outline: none;
}

.gap-1 {
    gap: 8px;
}

.gap-2 {
    gap: 16px;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
}

h2 {
    font-size: 20px;
    font-weight: 600;
    color: #000;
    margin: 0;
    line-height: 1.1;
}

h3 {
	font-weight: 600 !important;
	font-size: 18px !important;
	line-height: 110.00000000000001%;
	letter-spacing: 0;
	text-align: center;
	color: #071437;
}

h4 {
	font-weight: 600 !important;
	font-size: 20px !important;
	line-height: 110.00000000000001%;
	letter-spacing: 0;
}

h5 {
	font-weight: 600 !important;
	font-size: 14px !important;
	line-height: 110.00000000000001%;
	letter-spacing: 0;
}

/* Search Input */
.search-input-wrapper {
    position: relative;
}

.search-icon {
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    color: #1e293b;
    z-index: 5;
}

.calendar-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #1e293b;
    z-index: 5;
}

.search-input {
    padding-left: 35px;
}

.search-input::placeholder {
    color: #475569;
}

.form-section {
    min-width: 0;
    padding: 0;
}

.form-layout-container {
    gap: 24px;
    margin: 24px 0;
}

.preview-card-section {
    margin-bottom: 32px;
}

/* Preview Card Styling */
.preview-card {
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    position: sticky;
    top: 24px;
    border: 1px solid #e2e8f0;
		padding: 12px;
		margin-top: 8px;
}

.preview-header {
    padding: 20px 24px;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    border-radius: 24px 24px 0 0;
    display: flex;
    align-items: center;
    padding: 16px;
    gap: 12px;
}

.preview-title {
    font-size: 16px;
    font-weight: 600;
    color: #000;
    margin: 0;
    margin-bottom: 0.75rem;
    text-align: left;
}

.preview-content {
    padding: 0;
}

.preview-label {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    letter-spacing: 0;
    margin-bottom: 8px;
}

/* --- Append: Ad preview styles & shimmer --- */
.preview-title {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 4px;
}

.preview-label {
  color: #6b7280;
  font-size: 12px;
  margin-bottom: 8px;
}

/* preview image container */
.ad-image-preview {
  width: 100%;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  background: #f8fafc;
}

/* shimmer placeholder */
.image-shimmer {
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #f3f4f6 25%, #eceff1 37%, #f3f4f6 63%);
  background-size: 400% 100%;
  animation: shimmer 1.4s ease-in-out infinite;
}

.preview-section {
	padding: 0;
}

/* hide shimmer when image visible (JS toggles display) */

/* image styling */
#ad-preview-img,
#preview-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
}

/* shimmer keyframes */
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* responsive: move preview under form on small screens */
@media (max-width: 992px) {
  .preview-section { width: 100%; margin-left: 0; margin-top: 1rem; }
}

.preview-content {
    padding: 0;
}

.preview-label {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

/* Post Preview Styling */
.post-preview {
    border: none;
    border-radius: 24px;
    overflow: hidden;
    background: #ffffff;
}

.post-header {
    display: flex;
    align-items: center;
    padding: 16px;
    gap: 12px;
}

.post-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.avatar-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #e5e7eb 0%, #f3f4f6 50%, #e5e7eb 100%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

.post-meta {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.post-author-placeholder,
.post-date-placeholder {
    height: 12px;
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 4px;
}

.post-author-placeholder {
    width: 100%;
}

.post-date-placeholder {
    width: 100%;
}

.post-options {
    color: #9ca3af;
    font-size: 18px;
    cursor: pointer;
}

.more-options {
    transform: rotate(90deg);
}

.post-content-preview {
    padding: 0 16px 16px 16px;
    font-size: 14px;
    line-height: 1.5;
    color: #374151;
    margin-top: 1rem;
}

.post-content-preview p {
    margin: 0 0 12px 0;
}

.post-content-preview p:last-child {
    margin-bottom: 0;
}

.post-image-preview {
    margin: 0 16px 16px 16px;
    border-radius: 8px;
    overflow: hidden;
}

.post-image-preview.show {
    display: block;
}

.post-image-preview img {
	display: block;
  object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.post-actions {
    display: flex;
    padding: 12px 16px;
    gap: 8px;
}

.bootstrap-datetimepicker-widget {
    z-index: 99999 !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100%;
}

/* Ensure the input wrapper doesn't clip the picker */
.form-control-wrapper {
    position: relative;
    overflow: visible;
}

/* Remove competing z-index declarations */
.datetimepicker,
.datetimepicker-dropdown {
    z-index: 99999 !important;
}

.hidden {
    display: none;
}

input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid #dbdfe9;
    cursor: pointer;
    border-radius: 4px;
}

input[type="checkbox"]:checked {
    background-color: #326698;/
}

.text-muted {
	color: #78829D;
	font-family: 'Poppins';
	font-weight: 500;
	font-style: Medium;
	font-size: 14px;
	line-height: 110.00000000000001%;
	letter-spacing: 0%;
	text-align: center;
}

div.dataTables_wrapper div.dataTables_paginate {
	margin-bottom: 1.25rem;
}

table.dataTable tbody td
{
    padding: 8px 20px;
}

.field-row{
	padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.select2-container {
	width: 100% !important;
}

.select2-container--default .select2-selection--multiple {
	border: 1px solid #e1e3ea;
	height: 38px;
	outline: none;
	border-radius: 6px;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
	border: 1px solid #e1e3ea;
}

.select2-container--default .select2-selection--single {
	border: 1px solid #e1e3ea;
	height: 38px;
	outline: none;
	border-radius: 6px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
		color: #000;
		padding-left: 12px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 38px;
	right: 12px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa;
		border-radius: 6px;
    outline: none;
}

.select {
		display: block !important;
    padding-left: 8px !important;
    padding-right: 20px !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lang-select {
	width: 60px;
	border: 1px solid #D9D9D9;
	border-radius: 100px;
	font-family: 'Poppins';
	font-weight: 400;
	font-size: 12px;
	line-height: 140%;
	letter-spacing: 0%;
	color: #000;
}

.lang-select:active {
	border: 1px solid #326698;
}

.lang-select:focus {
	border: 1px solid #326698;
	box-shadow: none;
}

.lang-select:active {
	border-color: none !important;
	box-shadow: none;
}

/* Override DataTables unsorted icon with public/images/unsorted.svg */
table.dataTable thead th.sorting {
  background-image: url("/images/unsorted.svg") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 12px 12px !important;
  padding-right: 1.8rem; /* reserve space for the icon */
}

/* Hide DataTables ascending/descending icons (some themes use pseudo-elements) */
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
  background-image: none !important;
  background: none !important;
}

/* Remove any pseudo-element icons used by DataTables or theme CSS */
table.dataTable thead th.sorting_asc::after,
table.dataTable thead th.sorting_desc::after,
table.dataTable thead th.sorting_asc::before,
table.dataTable thead th.sorting_desc::before {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

/* Re-ensure the custom unsorted icon remains visible */
table.dataTable thead th.sorting {
  background-image: url("/images/unsorted.svg") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 12px 12px !important;
  padding-right: 1.8rem; /* reserve space for the icon */
}

/* Use single icon per header state (unsorted / asc / desc) */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 12px 12px !important;
  padding-right: 1.8rem !important; /* reserve space */
}

/* unsorted */
table.dataTable thead th.sorting {
  background-image: url("/images/unsorted.svg") !important;
}

/* ascending */
table.dataTable thead th.sorting_asc {
  background-image: url("/images/sorted_asc.svg") !important;
}

/* descending */
table.dataTable thead th.sorting_desc {
  background-image: url("/images/sorted_desc.svg") !important;
}

/* Remove any pseudo-element icons that some themes add */
table.dataTable thead th.sorting::before,
table.dataTable thead th.sorting::after,
table.dataTable thead th.sorting_asc::before,
table.dataTable thead th.sorting_asc::after,
table.dataTable thead th.sorting_desc::before,
table.dataTable thead th.sorting_desc::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

input[type="checkbox"]:checked::after {
    content: "✔";
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

/* keep checked checkbox styling but exclude switch-modern-input checkboxes */
input[type="checkbox"]:not(.switch-modern-input):checked::after {
    content: "✔";
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 16px;
}

input[type="checkbox"]:not(.switch-modern-input)::after {
    content: "✔";
    color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 16px;
}


.dropzone-disabled {
	background-color: #d8dbe0;
}

.text-color-disabled {
    color: #7e8299 !important;
}

.datatable-User img {
	border-radius: 50%;
	width: 40px;
	height: 40px;
}

.datatable-Entity img {
	border-radius: 50%;
	width: 40px;
	height: 40px;
}

.flag {
	width: 22px;
	height: 22px;
}

.header-avatar {
	width: 35px;
	height: 35px;
	border-radius: 50%;
	object-fit: cover;
}

.dropdown-item.active, .dropdown-item:active {
    text-decoration: none;
    color: #fff;
    background-color: #326698;
}

.preview-details-map {
		padding: 16px;
}

.map-placeholder {
		width: 100%;
}

.cursor-pointer {
	cursor: pointer;
}

.preview-image {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 16px;
}

.chart-line-total {
	font-weight: 600;
	font-size: 32px;
	line-height: 1.1;
	letter-spacing: 0;
	color: #1E293B;
}

.comment-reports-section {
	margin-top: 2rem;
}

.reported-contents-section {
	margin-top: 2rem;
}

.post-title-preview {
    padding: 0 16px;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 1rem;
		color: #1E293B;
		font-weight: 600;
}

.short-post-title {
		font-size: 14px;
		line-height: 1.4;
		display: -webkit-box;
		-webkit-line-clamp: 1;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		padding-right: 24px;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: break-word;
		font-weight: 600;
		padding: 0 16px;
		color: #fff;
}

.campaign-preview-card-body {
		display: flex;
		gap: 1rem;
}

.preview-card-body-image img{
		width: 125px;
    height: 97px;
    border-radius: 16px;
}

.campaign-preview-title {
		font-weight: 600;
		font-size: 16px;
		line-height: 1.1;
		letter-spacing: 0%;
		color: #1E293B;
}

.campaign-preview-theme {
		font-weight: 400;
		font-size: 14px;
		line-height: 1.4;
		letter-spacing: 0%;
		color: #747688;
}

.table td, .table th {
	vertical-align: middle;
}

.text-black {
	color: #000 !important;
}

.dashboard-card-title {
	font-size: 16px !important;
}

/* Ensure Microtip can render above buttons */
.btn[data-microtip-position] {
  overflow: visible !important;
  position: relative; /* needed for ::before/::after positioning */
}

[data-microtip-position]::after {
  background-color: rgba(0, 0, 0, 0.75) !important;
  color: #fff !important;
}

/* Fix Microtip visibility for CoreUI/Bootstrap buttons */
.btn[data-microtip-position],
button[data-microtip-position],
a.btn[data-microtip-position] {
  overflow: visible !important;
  position: relative;
}

/* Ensure Bootstrap tooltips appear above sticky headers */
.tooltip {
  z-index: 3000 !important;
}

/* Microtip pseudo-elements (override default stacking) */
[data-microtip]:before,
[data-microtip]:after,
.microtip:before,
.microtip:after {
  z-index: 3000 !important;
}

/* If your table header uses position: sticky with a high z-index,
   you can reduce it or ensure tooltip is higher. Example: */
table thead,
.header-bg,
.table thead.sticky {
  z-index: 1; /* or a lower value than tooltips */
}

/* If the table wrapper hides overflow, allow visible so inline tooltips won't be clipped.
   Use with caution if this affects layout. */
.table-responsive {
  overflow: visible;
}

.post-author-name {
	font-weight: 600;
	font-size: 14px;
	color: #1E293B;
}