
/*-------------------------------------------------------------------------------------------------------------------	
Backend related CSS used in the ODM Core Plugin wp-admin pages
------------------------------------------------------------------------------------------------------------------- */

:root {
	--odm-primary: #2271b1;
	--odm-secondary: #273754;
	--odm-success: #28a745;
	--odm-info: #17a2b8;
	--odm-warning: #ffc107;
	--odm-danger: #dc3545;
	--odm-light: #f8f9fa;
	--odm-dark: #343a40;
	--odm-white: #fff;
	--odm-black: #000;
	--odm-gray: #6c757d;
	--odm-gray-dark: #343a40;
	--odm-gray-light: #f8f9fa;
	--odm-title-background: #2271b1;
	--odm-mid-dark: #b0bed9;
}

body{ background-color: var(--odm-white);}

/* ODM actions toolbar
------------------------------------------------------------------------------------------------------------------- */
.odm-actions-toolbar {
	background: var(--odm-white);
	border-bottom: 1px solid #ccd0d4;
	padding-top: 0;
}
.odm-actions-toolbar h2 i {
	vertical-align: middle;
	color: #babbbc;
	margin-right: 5px;
	margin-top: -2px;
}
.odm-actions-toolbar h2 {
	margin: 0;
}
.odm-actions-toolbar h2 a {
	line-height: 2.5714285714;
	display: inline-block;
	padding: 5px 0;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 300;
}
#wpcontent .odm-actions-toolbar {
	margin-left: -20px;
	padding-left: 20px;
	background-color: var(--odm-white);
}
.odm-admin-page .table-responsive {
	padding-top: 10px;
}
.odm-admin-page .odm-admin-page-subtitle-wrapper {
	display: flex;        /* Makes the header-wrapper a flex container */
	align-items: center;  /* Aligns items vertically in the center */
	justify-content: space-between; /* Spaces out the h2 and span */
}
.odm-admin-page .odm-admin-page-subtitle-wrapper h2 {
	margin-right: auto;  /* Ensures the h2 pushes everything else to the right */
}
.odm-admin-page .odm-admin-page-subtitle-wrapper .dashicons {
	color: lightgray;
	margin-right: 20px;
}
.odm-admin-page .odm-admin-page-subtitle-wrapper .dashicons:hover {
	color: red;
}
.odm-admin-page .odm-admin-page-subtitle-wrapper .dashicons.favourite {
	color: red;
}

.odm-admin-page-intro-text { max-width: 50%;}
@media (max-width: 1300px) {
	.odm-admin-page-intro-text { max-width: 90%;}
}
.odm-admin-page.grid-layout {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Creates a responsive grid with each column minimum 300px and maximum 1 fraction of available space */
	gap: 20px; /* Space between grids */
	padding: 20px; /* Padding around the grid */
}

.odm-admin-page.grid-layout .wp-list-table {
	width: 100%; /* Ensures tables expand to fill grid items */
}

.odm-admin-page .dataTables_wrapper {
	padding-left: 0;
	padding-right: 0;
}
.odm-admin-page table .intro-text-thead th {
	background: #2271b1;
	color: var(--odm-white);
}
/* odm-actions-toolbar-menu
------------------------------------------------------------------------------------------------------------------- */
nav.odm-actions-toolbar-menu {
	padding:0;
	margin: 0 0 0 -20px;
	background:#2271b1;
}
nav.odm-actions-toolbar-menu ul:before,nav.odm-actions-toolbar-menu ul:after {
	content:"";
	display:table;
}
nav.odm-actions-toolbar-menu ul {
	margin: 0;
	padding-left: 0;
}
nav.odm-actions-toolbar-menu ul:after {
	clear:both;
}
nav.odm-actions-toolbar-menu ul > li {
	float:left;
	position:relative;
	margin-bottom: 0;
}
nav.odm-actions-toolbar-menu a.active-action-group,
nav.odm-actions-toolbar-menu a:hover {
	border-bottom:var(--odm-white) 3px solid;
	padding-bottom: 7px;
	color: var(--odm-white);
}
nav.odm-actions-toolbar-menu a {
	display:block;
	padding:10px 20px;
	line-height:1.2em;
	color:var(--odm-white);
	text-decoration: none;
}
nav.odm-actions-toolbar-menu a:hover {
	text-decoration:none;
}
nav.odm-actions-toolbar-menu li ul {
	background:#273754;
}
nav.odm-actions-toolbar-menu li ul li {
	min-width:200px;
	border-bottom: none;
}
nav.odm-actions-toolbar-menu li ul a {
	border:none;
	color: var(--odm-white);
}
nav.odm-actions-toolbar-menu li ul a:hover {
	background:rgba(0,0,0,0.2);
	border-bottom: none;
	padding-bottom: 10px;
}
nav.odm-actions-toolbar-menu li ul {
	position:absolute;
	left:0;
	top:35px;
	z-index:1;
	visibility:hidden;
	opacity:0;
	filter:alpha(opacity=0);
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}
nav.odm-actions-toolbar-menu ul > li:hover ul {
	visibility:visible;
	opacity:1;
	filter:alpha(opacity=100);
}

nav.odm-actions-toolbar-menu li ul.type-grid {
	display: inline-block;
}

nav.odm-actions-toolbar-menu li ul.type-grid.columns-2 {
	column-count: 2;
}

nav.odm-actions-toolbar-menu li ul.type-grid.columns-3 {
	column-count: 3;
}

nav.odm-actions-toolbar-menu li ul.type-grid.columns-4 {
	column-count: 4;
}

nav.odm-actions-toolbar-menu li ul.type-grid.columns-5 {
	column-count: 5;
}

nav.odm-actions-toolbar-menu li ul.type-grid.columns-6 {
	column-count: 6;
}

nav.odm-actions-toolbar-menu li ul.type-grid > li::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	width: 1px;
	background-color: #ccc;
}

nav.odm-actions-toolbar-menu ul.type-grid:before {
	display: none;
}

@media screen and (max-width: 1160px) {
	.odm-actions-toolbar nav.odm-actions-toolbar-menu li ul.type-grid {
		column-count: 3;
	}
}

@media screen and (max-width: 860px) {
	.odm-actions-toolbar nav.odm-actions-toolbar-menu li ul.type-grid {
		column-count: 2;
	}
}

@media screen and (max-width: 600px) {
	.odm-actions-toolbar nav.odm-actions-toolbar-menu li ul.type-grid {
		column-count: 1;
	}
}

/* product_generator_codes
------------------------------------------------------------------------------------------------------------------- */
.product_generator_codes .invalid .product_title {
	text-decoration: line-through;
}

.product_generator_codes .do_not_publish a, .product_generator_codes .invalid a {
	color: #aba8a8;
}

.product_generator_codes .do_not_publish, .product_generator_codes .invalid {
	background: #f9f8f8;
	border-color: #f0f0f1;
}

.product_generator_codes a {
	text-decoration: none;
}

.product-functions_page_product_functions-product_generator .bootstrap-odm-wrapper ol {
	margin: 10px 0 20px;
	padding-left: 0;
}

.product-functions_page_product_functions-product_generator .list-group-item:hover {
	border-bottom: 1px solid var(--bs-primary);
}

span.product_type_badge {
	background: #aaa8a8;
	color: var(--odm-white);
	font-weight: bold;
	padding: 0px 2px;
	margin-right: 2px;
	min-width: 16px;
	display: inline-block;
	text-align: center;
}

.product-functions_page_product_functions-product_generator .bootstrap-odm-wrapper p {
	margin-bottom: 0.25rem;
}

.preview-table td, .preview-table th {
	border: 1px solid black;
	text-align: center;
}
.preview-table table {
	width: 100%;
}
.preview-table {
	border: 1px solid black;
}

.dt-buttons button span {
	font-size: 13px;
	padding: 0;
}

.dt-buttons {
	margin-bottom: 10px;
}

.DTE_Form_Content textarea {
	min-height: 200px !important;
}

hr.wp-header-end {
	margin: 0;
}

.processing-new-product .dashicons {
	color: red;
	animation: dashicons-spin 3s infinite;
	animation-timing-function: linear;
}

/* spinning icon
------------------------------------------------------------------------------------------------------------------- */
@keyframes dashicons-spin {
	0% {
		transform: rotate( 0deg );
	}
	100% {
		transform: rotate( 360deg );
	}
}

.odm-queued-product {
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
	transform: scale(1);
	animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 147, 49, 0.28);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
}

/* form builder styles
------------------------------------------------------------------------------------------------------------------- */
.json_1d_row .move-row {
	text-decoration: none;
}

.json_1d_row:first-child .move-up, .json_1d_row:last-child .move-down {
	display:none;
}

.odm-form {
	background: var(--odm-white);
	border-top: 1px solid #ced4da;
}

.hr-line-dashed {
	border-top: 1px dashed #e7eaec;
	color: var(--odm-gray);
	background-color: var(--odm-white);
	height: 1px;
	margin: 20px 0;
}

.bootstrap-odm-wrapper .form-control {
	background-color: #fcfcfc !important;
}

.odm_advanced_field {
	background: #fff8f8;
}

.odm-form-options-title {
	font-size: 1.5rem !important;
	font-weight: 400 !important;
	color: var(--odm-white);
	background: var(--odm-title-background);
	padding: 10px 15px;
	margin-left: -15px;
	margin-right: -15px;
}

.odm-form-row {
	padding: var(--bs-gutter-y) 0;
}

.odm-form-row-wrapper {
	border-top: 1px dashed #e3ebf3;
    padding: 8px 0 4px;
}

.odm-form .hr-line-dashed {
	margin: 0;
}

.odm-form .odm-form-footer-help-text {
	margin-top: 10px;
}

.odm-form-help-link, .odm-form-description {
	padding: 10px 0;
}

.odm-remove-item-button {
	text-decoration: none !important;
	color: rgb(220, 53, 69) !important;
	transition: all .2s ease-in-out;
}

.odm-remove-item-button:hover {
	transform: scale(1.1);
}

.odm-form-row-wrapper .required {
	color: #dc3545;
	margin-left: 3px;
}

.odm-form-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}
.odm-form-loader {
	text-align: center;
}
.odm-form-loader .dashicons {
	font-size: 36px;
	width: 36px;
	height: 36px;
	display: block;
	margin: 0 auto 10px;
}
.spin {
	animation: spin 2s linear infinite;
}
@keyframes spin {
	100% {
		transform: rotate(360deg);
	}
}
.loading-text {
	display: block;
	color: #444;
	font-size: 14px;
}

.odm-form-existing-file {
	display: flex;
	align-items: center;
	gap: 10px;
}
.odm-form-existing-file a {
	display: flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
}
.odm-form-existing-file .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
	line-height: 20px;
}
.odm-form-existing-file .btn {
	padding: 0;
	display: flex;
	align-items: center;
	text-decoration: none;
}

/* datatable styles
------------------------------------------------------------------------------------------------------------------- */

.datatables-action-icon {
	text-decoration: none !important;
}

.editor-delete span {
	color: var(--bs-primary);
}

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

.table-fixed {
	background: var(--odm-white);
	padding: 20px;
	border: 1px solid #e7eaec;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
	padding: 0;
	margin-left: 0;
}

.bootstrap-odm-wrapper table.dataTable tbody tr.selected {
	background-color: var(--odm-mid-dark);
	/*color: var(--odm-white);*/
}

.pre-dump-heading {background:#EFC366; border: 1px solid #ccc; border-radius: 4px; padding: 9.5px;}

.select2-container{
	z-index:100000;
}

.select2-results__options {
	padding-left: 0 !important;
}

.hidden_form_section {
	display: none;
}

.series_structure_row_highlighted {
	padding: 20px 10px;
	background: #f6f5f5;
	margin: 10px 0;
	box-shadow: 0px 5px 10px 0px #bfb8b8;
	border: 1px solid #ced4d9;
}

.series_structure_row, .series_structure_row .json_2d_row {
	margin-bottom: 10px
}

.series_structure_row .value {
	word-wrap: break-word;
}

.no-underline {
	text-decoration: none !important;
}

.select2-ajax {
	max-width: 100%;
}

/* product generator styles
------------------------------------------------------------------------------------------------------------------- */
#products-combinations-wrapper ol {
	margin-left: 0;
	padding-left: 0;
}

#products-combinations-wrapper .product_title {
	word-break: break-all;
}

tr.disabled-row td:first-child, tr.disabled-row td:nth-child(2), tr.disabled-row td:nth-child(3) {
	opacity: 0.2;
}

.loading-overlay {
	opacity: 0.2;
	pointer-events: none;
}

/*.product_type_badge.special {
	background: #ffc107;
}*/

.product-filter-trigger {
	cursor: pointer;
}

.controls-placeholder img {
	max-width: 90px;
	height: 16px;
	margin-left: 12px;
}

/* admin page styles
------------------------------------------------------------------------------------------------------------------- */

.odm-admin-contents-table td {
	padding: 1rem 0.5rem !important;
}

.odm-admin-contents-table > :not(:first-child) {
	border-top: none !important;
}

#product-generator-page-wrapper {
	position: relative;
	min-height: 300px;
}

#loading-wrapper {
	position: absolute;
	top: 100px;
	left: 50%;
}

.loading-icon {
	width: 44.8px;
	height: 44.8px;
	transform: perspective(168px) rotateX(0) rotateY(0);
	animation: flipping-ypwp40md 2s infinite linear,
	flipping-nphbg5md 3s infinite linear -0.5s;
}

@keyframes flipping-ypwp40md {
	50% {
		transform: perspective(168px) rotateX(180deg) rotateY(0);
	}

	100% {
		transform: perspective(168px) rotateX(180deg) rotateY(180deg);
	}
}

@keyframes flipping-nphbg5md {
	0%, 33% {
		background: #002387;
	}

	33.1%, 66% {
		background: #0b80d6;
	}

	66.1%, 100% {
		background: #15f9fc;
	}
}

.add-new-button {
	background: #226faf;
}

.product-generator-header {
	background: #226faf;
	color: #fff;
	padding: 5px 20px;
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
}

.product-generator-header a {
	color: #fff;
	text-decoration: none;
}

.product-generator-header h5, .product-generator-header p {
	margin-bottom: 0;
}


table.odm-dataTable tbody tr td, table.odm-dataTable thead tr th {
	word-wrap: break-word;
}

/* Global Action Launcher
------------------------------------------------------------------------------------------------------------------- */
#odm-core-action-launcher-modal {
	display: none; /* Hidden by default */
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgb(0,0,0);
	background-color: rgba(0,0,0,0.4);
}

.odm-core-action-launcher-content {
	background-color: #fefefe;
	margin: 15% auto;
	padding: 20px;
	border: 1px solid #888;
	width: 80%;
}