/* stylelint-disable no-descending-specificity */
/* stylelint-disable selector-class-pattern */

/**
 * This file contains the styling for the plugin.
 *
 * Please do not make alterations to this file as you
 * will loose them when updating the plugin.
 *
 * This file contents are outlined below.
 *
 * 1. Grid system
 * 2. Containers
 * 3. Elements
 * 4. Floatbox
 * 5. Floating totals box
 * 6. Validation errors
 * 7. Lightbox
 * 8. Datepicker and Timepicker
 * 9. Checkbox and Radio button
 * 10. Checkbox and Radio button custom styles
 * 11. Checkbox and Radio button swatches
 * 12. Product element
 * 13. Tooltip
 * 14. Cart and Order styles
 * 15. Various styles
 * 16. Theme fixes
 *
 * @package Extra Product Options/CSS
 * @version 6.0
 */

/* 1. Grid system */

:root {
	--tcgaprow: 15px;
	--tcgapcolumn: 15px;
	--tcinnergaprow: calc(var(--tcgaprow) / 2);
	--tcinnergapcolumn: calc(var(--tcgapcolumn) / 2);
	--tcgap: var(--tcgaprow) var(--tcgapcolumn);
	--tcinnergap: var(--tcinnergaprow) var(--tcinnergapcolumn);
	--tcinlinesize: 3em;
	--flex-items: 1;
	--swatch-border-radius: 0;
	--swatch-border-color: transparent;
	--swatch-active-border-color: inherit;
	--text-swatch-border-color: inherit;
	--text-swatch-border-width: 2px;
	--text-swatch-active-border-width: 2px;
	--swatch-border-width: 2px;
	--swatch-active-border-width: 2px;
	--tooltip-background-color: rgba(0, 0, 0, 0.7);
	--tooltip-border-color: rgba(0, 0, 0, 0.5);
	--tooltip-color: #fff;
	--tooltip-backdrop-blur: blur(8px);
}

.tm-extra-product-options .tc-container,
.tc-container {
	display: block;
	width: 100%;
	padding: 0 var(--tcgapcolumn);
	margin: 0;
}

.tm-extra-product-options .tc-row,
.tc-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	margin: 0;
	gap: var(--tcgap);
}

.tm-extra-product-options .tc-element-inner-wrap .tc-row {
	gap: var(--tcinnergap);
}

.tc-row > *,
.tmcp-field-wrap-inner > *,
.tc-label-wrap > *,
.tm-epo-element-label > * {
	-webkit-box-ordinal-group: 11;
	-ms-flex-order: 10;
	order: 10;
}

.tc-section-inner-wrap > .tc-row {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.tm-extra-product-options .tc-cell,
.tc-extra-product-options .tmcp-field-wrap label.tc-cell,
.tc-cell {
	position: relative;
	padding: 0;
	min-height: 1px;
	overflow: visible;
	width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.tm-extra-product-options .cpf-type-dynamic .tc-cell,
.tc-extra-product-options .cpf-type-dynamic .tmcp-field-wrap label.tc-cell,
.cpf-type-dynamic .tc-cell,
.cpf-type-dynamic.tc-cell {
	min-height: 0;
}


.cpf-section.tc-cell {
	margin: 0;
}

.cpf-section.section-disabled {
	display: none;
}

.tc-container.nopadding {
	padding-left: 0;
	padding-right: 0;
}

.nomargin .tc-cell {
	margin: 0;
}

.tc-row .cpf-section.tc-row {
	margin: 0;
}

.tm-extra-product-options .tc-row.tc-col-12,
.tm-extra-product-options .tc-row.tc-col-12 .tc-row.tc-col-12 {
	margin: 0 -1em;
	min-width: 100% !important;
	max-width: 100%;
	overflow: visible;
	position: relative;
}

.tm-extra-product-options .tc-col,
.tm-extra-product-options .tc-cell.tc-col,
.tc-cell.tc-col,
.tc-col {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 0;
	flex: 1 1 0;
	max-width: 100%;
}

.tm-extra-product-options .tc-col-auto,
.tm-extra-product-options .tc-cell.tc-col-auto,
.tc-cell.tc-col-auto,
.tc-col-auto {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
}

.tm-extra-product-options .tc-col-0,
.tm-extra-product-options .tc-cell.tc-col-0,
.tc-cell.tc-col-0,
.tc-col-0 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 0%;
	flex: 0 0 0%;
	max-width: 0%;
}

.tm-extra-product-options .tc-col-1,
.tm-extra-product-options .tc-cell.tc-col-1,
.tc-cell.tc-col-1,
.tc-col-1 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 8.3334%;
	flex: 0 0 8.3334%;
	max-width: 8.3334%;
}

.tm-extra-product-options .tc-col-1-5,
.tm-extra-product-options .tc-cell.tc-col-1-5,
.tc-cell.tc-col-1-5,
.tc-col-1-5 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 12.5%;
	flex: 0 0 12.5%;
	max-width: 12.5%;
}

.tm-extra-product-options .tc-col-2,
.tm-extra-product-options .tc-cell.tc-col-2,
.tc-cell.tc-col-2,
.tc-col-2 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 16.6667%;
	flex: 0 0 16.6667%;
	max-width: 16.6667%;
}

.tm-extra-product-options .tc-col-2-5,
.tm-extra-product-options .tc-cell.tc-col-2-5,
.tc-cell.tc-col-2-5,
.tc-col-2-5 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 20%;
	flex: 0 0 20%;
	max-width: 20%;
}

.tm-extra-product-options .tc-col-3,
.tm-extra-product-options .tc-cell.tc-col-3,
.tc-cell.tc-col-3,
.tc-col-3 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	max-width: 25%;
}

.tm-extra-product-options .tc-col-4,
.tm-extra-product-options .tc-cell.tc-col-4,
.tc-cell.tc-col-4,
.tc-col-4 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 33.3334%;
	flex: 0 0 33.3334%;
	max-width: 33.3334%;
}

.tm-extra-product-options .tc-col-4-5,
.tm-extra-product-options .tc-cell.tc-col-4-5,
.tc-cell.tc-col-4-5,
.tc-col-4-5 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 37.5%;
	flex: 0 0 37.5%;
	max-width: 37.5%;
}

.tm-extra-product-options .tc-col-5,
.tm-extra-product-options .tc-cell.tc-col-5,
.tc-cell.tc-col-5,
.tc-col-5 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 41.6667%;
	flex: 0 0 41.6667%;
	max-width: 41.6667%;
}

.tm-extra-product-options .tc-col-6,
.tm-extra-product-options .tc-cell.tc-col-6,
.tc-cell.tc-col-6,
.tc-col-6 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	max-width: 50%;
}

.tm-extra-product-options .tc-col-7,
.tm-extra-product-options .tc-cell.tc-col-7,
.tc-cell.tc-col-7,
.tc-col-7 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 58.3334%;
	flex: 0 0 58.3334%;
	max-width: 58.3334%;
}

.tm-extra-product-options .tc-col-7-5,
.tm-extra-product-options .tc-cell.tc-col-7-5,
.tc-cell.tc-col-7-5,
.tc-col-7-5 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 62.5%;
	flex: 0 0 62.5%;
	max-width: 62.5%;
}

.tm-extra-product-options .tc-col-8,
.tm-extra-product-options .tc-cell.tc-col-8,
.tc-cell.tc-col-8,
.tc-col-8 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 66.6667%;
	flex: 0 0 66.6667%;
	max-width: 66.6667%;
}

.tm-extra-product-options .tc-col-9,
.tm-extra-product-options .tc-cell.tc-col-9,
.tc-cell.tc-col-9,
.tc-col-9 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 75%;
	flex: 0 0 75%;
	max-width: 75%;
}

.tm-extra-product-options .tc-col-10,
.tm-extra-product-options .tc-cell.tc-col-10,
.tc-cell.tc-col-10,
.tc-col-10 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 83.3334%;
	flex: 0 0 83.3334%;
	max-width: 83.3334%;
}

.tm-extra-product-options .tc-col-10-5,
.tm-extra-product-options .tc-cell.tc-col-10-5,
.tc-cell.tc-col-10-5,
.tc-col-10-5 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 87.5%;
	flex: 0 0 87.5%;
	max-width: 87.5%;
}

.tm-extra-product-options .tc-col-11,
.tm-extra-product-options .tc-cell.tc-col-11,
.tc-cell.tc-col-11,
.tc-col-11 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 91.6667%;
	flex: 0 0 91.6667%;
	max-width: 91.6667%;
}

.tm-extra-product-options .tc-col-12,
.tm-extra-product-options .tc-cell.tc-col-12,
.tc-cell.tc-col-12,
.tc-col-12 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

.tcwidth {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
	flex: 0 0 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
	max-width: calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
}

.tcwidth-1 {
	--flex-items: 100;
}

.tcwidth-2 {
	--flex-items: 50;
}

.tcwidth-3 {
	--flex-items: calc(100 / 3);
}

.tcwidth-4 {
	--flex-items: 25;
}

.tcwidth-5 {
	--flex-items: 20;
}

.tcwidth-6 {
	--flex-items: calc(100 / 6);
}

.tcwidth-7 {
	--flex-items: calc(100 / 7);
}

.tcwidth-8 {
	--flex-items: calc(100 / 8);
}

.tcwidth-9 {
	--flex-items: calc(100 / 9);
}

.tcwidth-10 {
	--flex-items: 10;
}

.tcwidth-11 {
	--flex-items: calc(100 / 11);
}

.tcwidth-12 {
	--flex-items: calc(100 / 12);
}

.tcwidth-12-5 {
	--flex-items: calc(100 / 12.5);
}

.tcwidth-13 {
	--flex-items: calc(100 / 13);
}

.tcwidth-14 {
	--flex-items: calc(100 / 14);
}

.tcwidth-15 {
	--flex-items: calc(100 / 15);
}

.tcwidth-16 {
	--flex-items: calc(100 / 16);
}

.tcwidth-17 {
	--flex-items: calc(100 / 17);
}

.tcwidth-18 {
	--flex-items: calc(100 / 18);
}

.tcwidth-19 {
	--flex-items: calc(100 / 19);
}

.tcwidth-20 {
	--flex-items: 5;
}

.tcwidth-21 {
	--flex-items: calc(100 / 21);
}

.tcwidth-22 {
	--flex-items: calc(100 / 22);
}

.tcwidth-23 {
	--flex-items: calc(100 / 23);
}

.tcwidth-24 {
	--flex-items: calc(100 / 24);
}

.tcwidth-25 {
	--flex-items: 4;
}

.tcwidth-26 {
	--flex-items: calc(100 / 26);
}

.tcwidth-27 {
	--flex-items: calc(100 / 27);
}

.tcwidth-28 {
	--flex-items: calc(100 / 28);
}

.tcwidth-29 {
	--flex-items: calc(100 / 29);
}

.tcwidth-30 {
	--flex-items: calc(100 / 30);
}

.tcwidth-31 {
	--flex-items: calc(100 / 31);
}

.tcwidth-32 {
	--flex-items: calc(100 / 32);
}

.tcwidth-33 {
	--flex-items: calc(100 / 33);
}

.tcwidth-33-3 {
	--flex-items: calc(100 / 33.3);
}

.tcwidth-34 {
	--flex-items: calc(100 / 34);
}

.tcwidth-35 {
	--flex-items: calc(100 / 35);
}

.tcwidth-36 {
	--flex-items: calc(100 / 36);
}

.tcwidth-37 {
	--flex-items: calc(100 / 37);
}

.tcwidth-37-5 {
	--flex-items: calc(100 / 37.5);
}

.tcwidth-38 {
	--flex-items: calc(100 / 38);
}

.tcwidth-39 {
	--flex-items: calc(100 / 39);
}

.tcwidth-40 {
	--flex-items: calc(100 / 40);
}

.tcwidth-41 {
	--flex-items: calc(100 / 41);
}

.tcwidth-42 {
	--flex-items: calc(100 / 42);
}

.tcwidth-43 {
	--flex-items: calc(100 / 43);
}

.tcwidth-44 {
	--flex-items: calc(100 / 44);
}

.tcwidth-45 {
	--flex-items: calc(100 / 45);
}

.tcwidth-46 {
	--flex-items: calc(100 / 46);
}

.tcwidth-47 {
	--flex-items: calc(100 / 47);
}

.tcwidth-48 {
	--flex-items: calc(100 / 48);
}

.tcwidth-49 {
	--flex-items: calc(100 / 49);
}

.tcwidth-50 {
	--flex-items: 2;
}

.tcwidth-51 {
	--flex-items: calc(100 / 51);
}

.tcwidth-52 {
	--flex-items: calc(100 / 52);
}

.tcwidth-53 {
	--flex-items: calc(100 / 53);
}

.tcwidth-54 {
	--flex-items: calc(100 / 54);
}

.tcwidth-55 {
	--flex-items: calc(100 / 55);
}

.tcwidth-56 {
	--flex-items: calc(100 / 56);
}

.tcwidth-57 {
	--flex-items: calc(100 / 57);
}

.tcwidth-58 {
	--flex-items: calc(100 / 58);
}

.tcwidth-59 {
	--flex-items: calc(100 / 59);
}

.tcwidth-60 {
	--flex-items: calc(100 / 60);
}

.tcwidth-61 {
	--flex-items: calc(100 / 61);
}

.tcwidth-62 {
	--flex-items: calc(100 / 62);
}

.tcwidth-62-5 {
	--flex-items: calc(100 / 62.5);
}

.tcwidth-63 {
	--flex-items: calc(100 / 63);
}

.tcwidth-64 {
	--flex-items: calc(100 / 64);
}

.tcwidth-65 {
	--flex-items: calc(100 / 65);
}

.tcwidth-66 {
	--flex-items: calc(100 / 66);
}

.tcwidth-67 {
	--flex-items: calc(100 / 67);
}

.tcwidth-68 {
	--flex-items: calc(100 / 68);
}

.tcwidth-69 {
	--flex-items: calc(100 / 69);
}

.tcwidth-70 {
	--flex-items: calc(100 / 70);
}

.tcwidth-71 {
	--flex-items: calc(100 / 71);
}

.tcwidth-72 {
	--flex-items: calc(100 / 72);
}

.tcwidth-73 {
	--flex-items: calc(100 / 73);
}

.tcwidth-74 {
	--flex-items: calc(100 / 74);
}

.tcwidth-75 {
	--flex-items: calc(100 / 75);
}

.tcwidth-76 {
	--flex-items: calc(100 / 76);
}

.tcwidth-77 {
	--flex-items: calc(100 / 77);
}

.tcwidth-78 {
	--flex-items: calc(100 / 78);
}

.tcwidth-79 {
	--flex-items: calc(100 / 79);
}

.tcwidth-80 {
	--flex-items: calc(100 / 80);
}

.tcwidth-81 {
	--flex-items: calc(100 / 81);
}

.tcwidth-82 {
	--flex-items: calc(100 / 82);
}

.tcwidth-83 {
	--flex-items: calc(100 / 83);
}

.tcwidth-84 {
	--flex-items: calc(100 / 84);
}

.tcwidth-85 {
	--flex-items: calc(100 / 85);
}

.tcwidth-86 {
	--flex-items: calc(100 / 86);
}

.tcwidth-87 {
	--flex-items: calc(100 / 87);
}

.tcwidth-87-5 {
	--flex-items: calc(100 / 37.5);
}

.tcwidth-88 {
	--flex-items: calc(100 / 88);
}

.tcwidth-89 {
	--flex-items: calc(100 / 89);
}

.tcwidth-90 {
	--flex-items: calc(100 / 90);
}

.tcwidth-91 {
	--flex-items: calc(100 / 91);
}

.tcwidth-92 {
	--flex-items: calc(100 / 92);
}

.tcwidth-93 {
	--flex-items: calc(100 / 93);
}

.tcwidth-94 {
	--flex-items: calc(100 / 94);
}

.tcwidth-95 {
	--flex-items: calc(100 / 95);
}

.tcwidth-96 {
	--flex-items: calc(100 / 96);
}

.tcwidth-97 {
	--flex-items: calc(100 / 97);
}

.tcwidth-98 {
	--flex-items: calc(100 / 98);
}

.tcwidth-99 {
	--flex-items: calc(100 / 99);
}

.tcwidth-100 {
	--flex-items: 1;
}

/* 2. Containers */

.tc-extra-product-options {
	visibility: hidden;
}

.tc-extra-product-options.tc-show,
.tc-extra-product-options.tc-show-override {
	display: block;
	clear: both;
	visibility: visible;
}

.tc-extra-product-options.tc-show-hidden {
	display: block;
	clear: both;
	visibility: hidden !important;
}

.tm-extra-product-options,
.tm-extra-product-options .tm-extra-product-options-fields,
.tm-extra-product-options .tc-element-container,
.tm-extra-product-options .tmcp-ul-wrap,
.tm-extra-product-options .tmcp-field,
.tm-extra-product-options .tm-epo-field,
.tm-extra-product-options li.tmcp-field-wrap,
.tm-extra-product-options .tmcp-field-wrap-inner,
.tm-extra-product-options .tc-cell,
.tm-extra-product-options .tc-row,
.tm-collapse,
.tm-collapse-wrap,
.tc-epo-label,
.tm-show-picker-value,
.tm-bsbb,
.tm-bsbb-all,
.tm-bsbb-all *,
.tc-container,
.tc-row,
.tc-cell,
.tm-box,
.flasho,
.flasho div,
.tm-button,
.tm-epo-style,
.tc-lightbox img,
.tm-extra-product-options .tc-image {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.tm-extra-product-options {
	max-width: 100%;
	width: 100%;
}

.tm-extra-product-options .tmcp-ul-wrap {
	overflow: visible;
	max-width: 100%;
	width: 100%;
	margin-bottom: 0;
}

.tm-extra-product-options .tc-element-container {
	overflow: visible;
	margin-bottom: 0;
}

.tm-extra-product-options .tm-extra-product-options-fields,
.tm-extra-product-options .tmcp-ul-wrap {
	clear: both;
	list-style: none outside none;
	margin: 0;
	padding: 0;
}

.tm-extra-product-options .tc-repeater-element,
.tm-extra-product-options .tc-repeater-section,
.tc-repeater-delete,
.tc-repeater-section-delete,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap .tmcp-field-wrap-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: var(--tcinnergap);
	max-width: 100%;
}

.tc-element-container {
	gap: var(--tcgap);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tc-field-label-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 0 var(--tcinnergapcolumn);
	max-width: 100%;
	width: 100%;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap li.tmcp-field-wrap .tc-field-label-wrap {
	display: grid;
	grid-template-columns: auto auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tc-field-label-wrap {
	grid-template-columns: 1fr auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap li.tmcp-field-wrap .tc-field-label-wrap.no-price {
	grid-template-columns: auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tc-field-label-wrap.no-price {
	grid-template-columns: 1fr;
}

.tm-extra-product-options .cpf-type-select .tm-epo-field-label {
	display: grid;
	grid-template-columns: auto auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul .tm-epo-field-label {
	grid-template-columns: 1fr auto;
}

.tm-extra-product-options .cpf-type-select li.tmcp-field-wrap .tc-field-label-wrap.no-desc .tm-epo-field-label {
	grid-template-columns: auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tc-field-label-wrap.no-desc .tm-epo-field-label,
.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap li.tmcp-field-wrap .tc-field-label-wrap.desc-inline .tm-epo-field-label {
	grid-template-columns: 1fr;
}

.tm-extra-product-options .tc-repeater-element,
.tm-extra-product-options .tc-repeater-section,
.tc-repeater-delete,
.tc-repeater-section-delete {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tm-extra-product-options .tc-repeater-element,
.tm-extra-product-options .tc-repeater-section {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.tm-extra-product-options .tc-repeater-element .tmcp-ul-wrap,
.tm-extra-product-options .tc-repeater-section > .tc-row {
	-webkit-box-flex: 1 !important;
	-ms-flex-positive: 1 !important;
	flex-grow: 1 !important;
	-ms-flex-preferred-size: 0 !important;
	flex-basis: 0 !important;
	width: auto !important;
	max-width: 100%;
}

.tm-extra-product-options .tm-owl-slider-section .tc-repeater-section.has-delete > .tc-row {
	max-width: calc(100% - (30px + var(--tcinnergapcolumn)));
}

.tc-repeater-delete,
.tc-repeater-section-delete {
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
	-ms-flex-preferred-size: 0;
	flex-basis: 0;
	width: auto;
	padding: 0;
}

.tc-price-wrap {
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: calc(1ch / 2);
}

.tm-extra-product-options .tmcp-ul-wrap + .tmcp-ul-wrap {
	margin: 0.5em 0 0 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap .tmcp-field-wrap-inner {
	width: 100%;
	list-style: none outside none !important;
	position: relative;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap li.tmcp-field-wrap {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}


.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap:not(.fullwidth-ul) li.tmcp-field-wrap .tmcp-field-wrap-inner,
.tm-extra-product-options .cpf-type-radio ul.tmcp-ul-wrap:not(.fullwidth-ul) li.tmcp-field-wrap .tmcp-field-wrap-inner,
.tm-extra-product-options .cpf-type-checkbox ul.tmcp-ul-wrap:not(.fullwidth-ul) li.tmcp-field-wrap .tmcp-field-wrap-inner {
	width: auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tmcp-field-wrap-inner .tc-price-wrap {
	justify-self: flex-end;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap {
	padding: 0;
	margin: 0;
}

.tc-epo-element-product-li-container {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap:last-child {
	margin: 0;
}

.tc-totals-form {
	clear: both;
	display: none;
	width: 100%;
}

.tc-totals-form.tc-show {
	display: block;
}

.tm-epo-totals {
	clear: both;
	padding-bottom: 1em;
	padding-top: 1em;
}

.tm-epo-totals:empty {
	display: none;
}

.tc-epo-totals.hidden,
.tc-extra-product-options.hidden {
	display: none;
}

html .tc-extra-product-options .tc-hidden.tc-cell,
.tc-hidden,
.tm-hidden,
.tm-extra-product-options .tc-mode-text .tc-input-wrap,
.tm-extra-product-options .tc-mode-color .tc-input-wrap,
.tm-extra-product-options .tc-mode-images .tc-input-wrap,
.tm-extra-product-options .tc-mode-color input.use_images,
.tm-extra-product-options .tc-mode-images input.use_images {
	display: none !important;
}

.tc-hidden-visibility {
	visibility: hidden;
	opacity: 0;
}

.tm-box,
.tm-collapse {
	border: 1px solid rgba(0, 0, 0, 0.035);
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.01)), color-stop(50%, rgba(0, 0, 0, 0.01)), color-stop(50%, rgba(0, 0, 0, 0.02)), to(rgba(0, 0, 0, 0.01)));
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.01) 0%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.02) 50%, rgba(0, 0, 0, 0.01) 100%);
	margin: 0;
	width: 100%;
	max-width: 100%;
}

.tm-box {
	padding: var(--tcgap);
}

.tm-collapse {
	padding: 0;
}


.tm-extra-product-options .cpf-section.tc-cell.tm-owl-slider-section .tm-box .tc-row {
	padding-bottom: var(--tcgap);
}

.tm-arrow {
	cursor: pointer;
	height: 1em;
	text-align: center;
	width: 1em;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-ordinal-group: 101;
	-ms-flex-order: 100;
	order: 100;
}

.tm-extra-product-options .tc-epo-label .tm-arrow {
	margin-left: auto;
}

.tm-toggle {
	padding-right: 2em;
	position: relative;
	cursor: pointer;
}

.tm-collapse .tm-toggle {
	clear: both;
}

.tc-row.tm-collapse {
	gap: 0;
}

.tm-collapse > .tc-cell {
	margin-bottom: 0;
}

.tm-collapse-wrap {
	float: left;
	padding: calc(var(--tcgaprow) / 2) var(--tcgapcolumn);
	overflow: visible;
	width: 100%;
}

.tc-totals-form dl.tm-extra-product-options-totals {
	margin-left: 0;
	margin-right: 0;
}

dl.tm-extra-product-options-totals {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	line-height: 1.5;
}

dl.tm-extra-product-options-totals dt,
dl.tm-extra-product-options-totals dd {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
	width: auto;
	text-align: unset;
	display: initial;
	border: 0;
	padding: 0;
}

dl.tm-extra-product-options-totals dd {
	padding-bottom: var(--tcinnergaprow);
}

.tm-extra-product-options .tm-box .tm-section-label,
.tm-extra-product-options .tm-collapse .tm-section-label,
.tm-extra-product-options .tm-box .tc-epo-label.tm-section-label,
.tm-extra-product-options .tm-collapse .tc-epo-label.tm-section-label {
	margin: 0;
	position: relative;
	border: 0;
	outline: 0;
	width: 100%;
}

.tm-extra-product-options .tm-collapse .tm-section-label,
.tm-extra-product-options .tm-collapse .tc-epo-label.tm-section-label {
	padding: calc(var(--tcgaprow) / 2) var(--tcgapcolumn);
}

.tm-extra-product-options .tm-collapse .tm-section-description {
	padding: calc(var(--tcgaprow) / 2) var(--tcgapcolumn);
}

.tm-extra-product-options .tm-toggle.tm-section-label:focus {
	outline: 2px solid;
}

.tc-styled-variations {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
}

/* 3. Elements */

/* Required indicator */

.tm-epo-required {
	color: #f00;
}

.tmcp-field-wrap .tm-epo-required {
	position: static;
	left: auto;
	top: auto;
}

/* Element containers and labels */

label.tm-epo-field-label {
	-ms-flex-item-align: center;
	align-self: center;
	margin: 0;
}

.tc-epo-element-product-thumbnailmultiple label.tm-epo-field-label,
.tc-epo-element-product-thumbnail label.tm-epo-field-label,
.tc-mode-images label.tm-epo-field-label,
.tc-mode-color label.tm-epo-field-label {
	-ms-flex-item-align: start;
	align-self: flex-start;
}

.tc-left,
.tc-above,
.tc-top {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

.tc-right,
.tc-below,
.tc-bottom {
	-webkit-box-ordinal-group: 100;
	-ms-flex-order: 99;
	order: 99;
}

.tc-first {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 0;
	order: 0;
}

.tm-extra-product-options ul.tm-extra-product-options-fields li::before,
.tm-extra-product-options ul.tm-extra-product-options-fields li::after,
.tm-extra-product-options ul.tmcp-ul-wrap li::before,
.tm-extra-product-options ul.tmcp-ul-wrap li::after {
	display: none;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap label {
	margin: 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-variations li.tmcp-field-wrap .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-product li.tmcp-field-wrap.tc-epo-element-product-radio .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-product li.tmcp-field-wrap.tc-epo-element-product-checkbox .tm-label {
	padding: 0 !important;
	margin: 0 !important;
	display: inline !important;
	vertical-align: middle;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap .tm-label.tc-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap .tm-label.tc-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-variations li.tmcp-field-wrap .tm-label.tc-label {
	vertical-align: initial;
	-ms-flex-item-align: center;
	align-self: center;
}

.tc-label-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	max-width: 100%;
	gap: 0 var(--tcinnergapcolumn);
}

.fullwidth-ul .tc-label-inner:not(.tc-mode-text .tc-label-inner) {
	display: grid;
	grid-template-columns: auto auto 1fr;
}

.fullwidth-ul .tc-label-inner.desc-inline:not(.tc-mode-text .tc-label-inner, .cpf-type-variations .tc-label-inner),
.fullwidth-ul .tc-label-inner.no-desc:not(.tc-mode-text .tc-label-inner, .cpf-type-variations .tc-label-inner) {
	grid-template-columns: auto 1fr;
}

.cpf-type-variations .fullwidth-ul .tc-label-inner:not(.tc-mode-text .tc-label-inner),
.fullwidth-ul .tc-label-inner.desc-inline:not(.tc-mode-text .tc-label-inner):not(:has(.tc-label-text)),
.fullwidth-ul .tc-label-inner.no-desc:not(.tc-mode-text .tc-label-inner):not(:has(.tc-label-text)) {
	grid-template-columns: 1fr;
}

.cpf-type-variations .fullwidth-ul .tc-label-text {
	display: grid;
	grid-template-columns: 1fr;
}

.tc-price-variations {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.5em;
}

.tc-mode-text .tc-label-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tc-mode-color .tc-label-inner:not(.tc-mode-text .tc-label-inner),
.tc-mode-images .tc-label-inner:not(.tc-mode-text .tc-label-inner) {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.fullwidth-ul .tc-mode-color .tc-label-inner:not(.tc-mode-text .tc-label-inner),
.fullwidth-ul .tc-mode-images .tc-label-inner:not(.tc-mode-text .tc-label-inner) {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	grid-template-columns: 1fr;
	justify-items: center;
	gap: var(--tcinnergaprow) 0;
}

.tc-mode-color .radio-image-label,
.tc-mode-images .radio-image-label,
.tc-mode-color .checkbox-image-label,
.tc-mode-images .checkbox-image-label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: var(--tcinnergap);
}

.tc-label-text {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	max-width: 100%;
	gap: 0 var(--tcinnergapcolumn);
	-webkit-box-flex: 0;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap .tm-label:empty,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap .tm-label:empty,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-variations li.tmcp-field-wrap .tm-label:empty {
	padding: 0 !important;
}

.tm-extra-product-options .tm-extra-product-options-field {
	clear: both;
	padding: 0;
}

.tm-extra-product-options .tm-extra-product-options-field.tc-normal-mode {
	margin: 0 0 1em;
}

.tm-extra-product-options .tc-active .tc-label-text,
.tm-extra-product-options li.tmcp-field-wrap.tc-active .price.tc-price .amount,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap label input[type="radio"]:checked ~ .tc-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap label input[type="checkbox"]:checked ~ .tc-label {
	font-weight: 700;
	background: none !important;
}

.tc-extra-product-options .tmcp-field-wrap label,
.tm-epo-variation-section .tmhexcolorimage-li-nowh label,
.tm-epo-variation-section .tmhexcolorimage-li label {
	padding: 0;
	float: none;
	max-width: 100%;
	width: auto;
	overflow-wrap: break-word;
}

.tm-extra-product-options .tmcp-field-wrap label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 100%;
	min-width: 0; /* So that select boxes don't overflow. */
	gap: var(--tcinnergap);
}

.tm-extra-product-options .tmcp-field-wrap label:not(.fullwidth) {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}

.tm-extra-product-options .cpf-type-variations .tmcp-field-wrap label.fullwidth select,
.tc-extra-product-options .cpf-type-product .tmcp-field-wrap label.fullwidth select,
/* For custom select box wrappers */
.tc-extra-product-options .cpf-type-select .tmcp-field-wrap label.fullwidth select,
.tc-extra-product-options .cpf-type-select .tmcp-field-wrap label.fullwidth > *,
.tc-extra-product-options .cpf-type-selectmultiple .tmcp-field-wrap label.fullwidth select,
.tc-extra-product-options .cpf-type-time .tmcp-field-wrap label.fullwidth .tm-epo-field,
.tc-extra-product-options .cpf-type-date .tmcp-field-wrap label.fullwidth .tm-epo-field,
.tc-extra-product-options .cpf-type-textfield .tmcp-field-wrap label.fullwidth .tm-epo-field {
	width: 100%;
}

.tc-extra-product-options .cpf-type-textarea .tmcp-field-wrap label.fullwidth .tm-epo-field {
	width: 100% !important; /* Disable user manually changing width. */
}

.tm-extra-product-options .tc-images-container .tmcp-field-wrap label,
.tm-extra-product-options .tc-colors-container .tmcp-field-wrap label,
.tm-epo-variation-section .tmhexcolorimage-li-nowh label,
.tm-epo-variation-section .tmhexcolorimage-li label {
	cursor: pointer;
	width: 100%;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap.tc-mode-startcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-startimages,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-startcolor {
	text-align: initial;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap.tc-mode-endcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-endcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-endimages {
	text-align: initial;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap.tc-mode-color .tc-field-label-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-images .tc-field-label-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-color .tc-field-label-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: var(--tcinnergap);
}

/* Divider element */

.tm-extra-product-options .tc-cell hr {
	margin: var(--tcgaprow) 0;
}

.tm-extra-product-options .tm_divider {
	border-style: solid;
	border-width: 1px;
	margin: var(--tcgaprow) 0;
	clear: both;
}

.tm-extra-product-options .cpf-element .tm_divider.tc-cell {
	margin: var(--tcgaprow) 0;
}

.tm-extra-product-options .tm_padding {
	padding: var(--tcgaprow) 0;
}

.tm-extra-product-options .cpf-element .tm_padding.tc-cell {
	margin-left: var(--tcgapcolumn);
	margin-right: var(--tcgapcolumn);
}

/* Textarea element */

.tm-extra-product-options textarea.tm-epo-field {
	height: auto;
	width: 100%;
	max-width: 100%;
}

/* Textfield element */

.tm-extra-product-options .tmcp-textfield.tm-epo-field {
	width: auto;
	max-width: 100%;
}

/* Checkboxes and radio button elements */

.tm-extra-product-options .tm-epo-field.tmcp-checkbox,
.tm-extra-product-options .tm-epo-field.tmcp-radio {
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle;
	position: relative;
	width: auto;
	float: none;
	top: 1px;
}

.tm-extra-product-options .tc-epo-label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	position: relative;
	float: none;
	width: 100%;
	margin-bottom: 0;
	gap: var(--tcinnergap);
}

.tm-extra-product-options .tc-epo-label.tm-section-label {
	margin: 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tc-section-label-text {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
}

.float-editbox .section_popup .tm-section-label {
	display: none;
}

/* Select box element */

.tm-epo-field.tmcp-select {
	width: 100%;
	max-width: 100%;
	display: initial;
}

.tc-repeater-element .tm-epo-field.tmcp-select,
.tc-repeater-element .tm-epo-field.tmcp-selectmultiple {
	width: 100%;
}

/* Upload element */

.tm-extra-product-options input.tm-epo-field.tmcp-upload {
	width: 100%;
	font-size: inherit;
}

.tc-extra-product-options .tmcp-field-wrap .cpf-upload-text {
	width: 100%;
	display: inline-block;
	text-align: center;
}

.tc-upload-preview {
	display: grid;
	margin: 1em 0;
	width: 100%;
	gap: 1em;
	grid-template-columns: minmax(100px, -webkit-max-content);
	grid-template-columns: minmax(100px, max-content);
	grid-template-rows: 1fr;
}

.tc-upload-preview:empty {
	display: none;
}

.tc-upload-preview.multiple {
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}

.tc-upload-file {
	border-radius: 5px;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	margin: 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.tc-upload-preview.multiple .tc-upload-file {
	max-height: 100%;
	min-height: 100px;
}

.tc-upload-image {
	position: relative;
	border: 1px solid;
	padding: 2%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	border-radius: 5px;
	background: rgba(0, 0, 0, 0.7);
	min-width: 100%;
	min-height: 100px;
}

.tc-upload-preview.multiple .tc-upload-image {
	min-height: 100%;
}

.woocommerce .tc-upload-preview img {
	height: auto;
	max-width: 100%;
	width: auto;
	border-radius: 5px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.woocommerce .tc-upload-preview.multiple img {
	height: 96%;
	width: 96%;
	-o-object-fit: scale-down;
	object-fit: scale-down;
	max-height: 100%;
	position: absolute;
}

.tc-file-size {
	position: absolute;
	color: #fff;
	font-size: 0.625em;
	top: calc(2% + 0.5078125em);
	left: calc(2% + 0.5078125em);
	background: rgba(0, 0, 0, 0.5);
	padding: 0 3px;
	z-index: 1;
}

.tc-file-ext-overlay {
	background: rgba(0, 0, 0, 0.2);
	width: 96%;
	height: 96%;
	position: absolute;
	border-radius: 5px 12px 5px 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	left: 2%;
	top: 2%;
}

.tc-file-ext {
	position: absolute;
	padding: 2px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	min-width: 30%;
	text-align: center;
	text-transform: uppercase;
	font-size: 0.825em;
}

.tc-file-name {
	max-width: 94%;
	position: absolute;
	color: #fff;
	background: rgba(0, 0, 0, 0.5);
	bottom: 0;
	font-size: 0.625em;
	padding: 0.25em 0.5em;
	text-overflow: ellipsis;
	overflow: hidden;
	max-height: 2em;
	line-height: 2;
}

.tc-upload-remove {
	cursor: pointer;
	position: absolute;
	right: 2%;
	top: 2%;
	font-size: 1em;
	width: 1.625em;
	height: 1.625em;
	font-family: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	color: #fff;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.5);
	background-image: none;
	-webkit-box-shadow: 0 0 0 0 hsl(0deg 0% 100% / 0%);
	box-shadow: 0 0 0 0 hsl(0deg 0% 100% / 0%);
	z-index: 2;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.tc-upload-remove:hover,
.tc-upload-remove:focus {
	-webkit-box-shadow: 0 0 0 0.125em rgb(255 255 255 / 90%);
	box-shadow: 0 0 0 0.125em rgb(255 255 255 / 90%);
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
}

.tc-upload-remove svg {
	width: 100%;
	height: 100%;
	font-size: inherit;
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
	line-height: inherit;
}

.cpf-upload-container-basic,
.cpf-upload-container {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tc-max-file-size {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
}

.tc-extra-product-options .tmcp-field-wrap label.cpf-upload-container-basic .cpf-upload-wrap {
	display: block !important;
	position: relative;
	vertical-align: middle;
	cursor: pointer;
}

.tc-extra-product-options .tmcp-field-wrap label.cpf-upload-container .cpf-upload-wrap {
	border: 1px solid;
	display: block !important;
	font-size: 1em;
	height: auto;
	overflow: hidden;
	padding: 0.5em 1em;
	position: relative;
	vertical-align: middle;
	margin: 0 0.5em 0 0;
	cursor: pointer;
}

.cpf-upload-container [type="file"] {
	cursor: inherit;
	display: block;
	font-size: 0.01px;
	min-height: 100%;
	min-width: 100%;
	opacity: 0;
	position: absolute;
	right: 0;
	text-align: right;
	top: 0;
}

.cpf-upload-container + small::before,
.cpf-upload-container-basic + small::before {
	content: "";
	display: block;
}

.tm-filename {
	display: block;
	-ms-flex-item-align: center;
	align-self: center;
}

.tm-filename:empty {
	display: none;
}

.tc-upload-messages {
	padding: var(--tcgaprow) 0;
}

.tc-upload-message {
	font-size: 1.2em;
	margin-bottom: var(--tcgap);
}

/* Range picker element */

.tm-extra-product-options .cpf-type-range .tc-epo-label {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tmcp-ul-wrap.tmcp-elements.tm-extra-product-options-range {
	clear: both;
	position: relative;
}

.tm-range-picker {
	margin: 1em 14px;
	max-width: 100%;
	width: auto;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}

.tm-range-picker.noui-show-tooltip {
	margin: calc(1em + 22px) 14px;
}

.tm-range-picker.pips,
.tm-range-picker.noui-show-tooltip.pips {
	margin: calc(50px - 1em) 14px 50px 14px;
}

.tm-range-picker .noui-tooltip {
	line-height: 1;
	font-size: 10px;
}

.tc-extra-product-options .tm-show-picker-left,
.tc-extra-product-options .tm-show-picker-tleft,
.tc-extra-product-options .tm-show-picker-right,
.tc-extra-product-options .tm-show-picker-tright {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify !important;
	-ms-flex-pack: justify !important;
	justify-content: space-between !important;
}

.tc-extra-product-options .tm-show-picker-left .tm-range-picker,
.tc-extra-product-options .tm-show-picker-tleft .tm-range-picker,
.tc-extra-product-options .tm-show-picker-right .tm-range-picker,
.tc-extra-product-options .tm-show-picker-tright .tm-range-picker {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-right .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-tright .tm-show-picker-value {
	position: relative;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	border: 1px solid;
	border-radius: 5px;
	padding: 0 1em;
	display: inline-block;
	max-width: 20%;
	min-width: 4em;
	text-align: center;
	line-height: normal;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 0;
	order: 0;
}

.tc-extra-product-options .tm-show-picker-left .tc-price-wrap,
.tc-extra-product-options .tm-show-picker-tleft .tc-price-wrap,
.tc-extra-product-options .tm-show-picker-right .tc-price-wrap,
.tc-extra-product-options .tm-show-picker-tright .tc-price-wrap {
	-webkit-box-ordinal-group: 10;
	-ms-flex-order: 9;
	order: 9;
}

.tm-extra-product-options .tmcp-ul-wrap.tmcp-elements.tm-extra-product-options-range .tm-range-picker-value {
	display: inline-block;
	float: right;
	margin-left: 0;
	margin-top: -3px;
	position: absolute;
	right: 0;
	text-align: center;
	top: 1em;
	vertical-align: top;
	width: 19%;
}

input.tm-show-picker-value-edit {
	max-width: 100%;
	width: 4em;
	text-align: center;
	padding: 0;
	border: 1px solid;
	margin: 0;
}

.tm-show-picker-value-edit-wrap {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-right .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-tright .tm-show-picker-value-edit-wrap {
	max-width: 20%;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	position: relative;
	text-align: center;
	top: 0;
	font-size: 0.8em;
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	-ms-flex-item-align: center;
	align-self: center;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value-edit-wrap {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 0;
	order: 0;
}

/* Variation element */

.tm-extra-product-options .tc-epo-label.tm-has-undo-button {
	padding-right: 2em;
}

.tm-epo-reset-variation,
.tm-extra-product-options .tm-epo-reset-radio {
	text-align: center;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	padding: 0.2em;
	border: 2px solid;
	color: inherit;
	-webkit-box-sizing: content-box !important;
	box-sizing: content-box !important;
	background: rgba(255, 255, 255, 0.8);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	z-index: 10000;
}

.tm-extra-product-options .tm-epo-reset-radio {
	position: static;
}

.round .tm-epo-reset-variation,
.round .tm-epo-reset-radio {
	border-radius: 5px;
}

.square .tm-epo-reset-variation,
.square .tm-epo-reset-radio {
	border-radius: 0;
}

.circle .tm-epo-reset-variation,
.circle .tm-epo-reset-radio {
	border-radius: 100%;
}

.thinline .tm-epo-reset-variation,
.thinline .tm-epo-reset-radio {
	border-width: 1px;
	border-radius: 0;
}

.shadow .tm-epo-reset-variation,
.shadow .tm-epo-reset-radio {
	border-width: 1px;
	border-radius: 0;
}

.tm-epo-reset-variation .tcfa,
.tm-epo-reset-radio .tcfa {
	font-size: 0.8em;
	position: relative;
}

.tm-epo-variation-section .reset_variations {
	clear: both;
	display: block;
	width: 100%;
	position: static;
	visibility: hidden;
}

/* Element prices */

.tm-extra-product-options .tmcp-field-wrap .tc-price {
	font-size: 1em !important;
	width: auto !important;
	display: inline-block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tc-extra-product-options .tmcp-field-wrap .price.tc-price,
.after-amount,
.before-amount {
	font-size: 1em !important;
	background: none !important;
}

.tc-extra-product-options .tmcp-field-wrap .price.tc-price .amount {
	font-size: 1em !important;
	display: inline !important;
	background: none !important;
	white-space: nowrap;
}

.tm-extra-product-options .tmcp-field-wrap .tc-chars + .tc-price .amount {
	margin-left: 0;
}

.tm-extra-product-options .tc-images-container .tmcp-field-wrap .amount {
	margin-left: 0;
}

.tm-extra-product-options .amount.hidden,
.tm-extra-product-options .tmcp-field-wrap .price.amount.hidden,
.tm-extra-product-options .tmcp-field-wrap .tc-price.hidden,
.tm-extra-product-options .before-amount.hidden,
.tm-extra-product-options .after-amount.hidden,
.tm-extra-product-options .tmperiod.hidden {
	display: none !important;
}

.tm-extra-product-options .cpf-type-textarea .tmcp-field-wrap .amount,
.tm-extra-product-options .cpf-type-textfield .tmcp-field-wrap .amount {
	margin-left: 0;
}

/* Final Totals box */

.tm-extra-product-options-totals .price.amount.options,
.tm-extra-product-options-totals .price.amount.fees,
.tm-extra-product-options-totals .price.amount.subscription-fee {
	font-size: 1.25em;
}

.tm-extra-product-options-totals .amount {
	background: none;
}

.tm-extra-product-options-totals .amount.options,
.tm-extra-product-options-totals .amount.fees,
.tm-extra-product-options-totals .amount.subscription-fee {
	font-weight: 700;
}

.tm-extra-product-options-totals .amount.final {
	font-size: 1.5em;
	font-weight: 700;
}

.tm-extra-product-options-totals .price.amount {
	display: inline-block !important;
	width: auto;
	margin: 0;
}

.tm-unit-price,
.tm-fee-totals,
.tm-final-totals,
.tm-options-totals,
.tm-subscription-fee {
	padding: 0;
	margin: 0;
	border: 0 none;
	float: none;
}

.tm-extra-product-options .tmcp-field-wrap .tc-price del {
	font-size: 75% !important;
	margin: 0 !important;
}

.tm-extra-product-options .tmcp-field-wrap .price:empty {
	display: none !important;
}

/* Quantity selector */
.tc-quantity-right .tm-quantity,
.tc-quantity-left .tm-quantity {
	-ms-flex-item-align: center;
	align-self: center;
}

.tm-extra-product-options .cpf-type-checkbox .tc-quantity-right .tm-quantity,
.tm-extra-product-options .cpf-type-checkbox .tc-quantity-left .tm-quantity,
.tm-extra-product-options .cpf-type-radio .tc-quantity-right .tm-quantity,
.tm-extra-product-options .cpf-type-radio .tc-quantity-left .tm-quantity {
	-ms-flex-item-align: unset;
	align-self: unset;
}

.cpf-type-textfield .tc-quantity-right .tm-quantity,
.cpf-type-textfield .tc-quantity-left .tm-quantity {
	-ms-flex-item-align: initial;
	align-self: initial;
}

.tc-quantity-wrapper {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
}

.tc-row.tc-quantity-right,
.tc-row.tc-quantity-left {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.tc-quantity-right .tm-quantity,
.tc-quantity-bottom .tm-quantity {
	-webkit-box-ordinal-group: 100;
	-ms-flex-order: 99;
	order: 99;
}

.tc-quantity-left .tm-quantity,
.tc-quantity-top .tm-quantity {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 0;
	order: 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap .tc-row.tc-quantity-top,
.tm-extra-product-options ul.tmcp-ul-wrap .tc-row.tc-quantity-bottom {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tc-row.tc-quantity-top .tm-quantity,
.tc-row.tc-quantity-bottom .tm-quantity {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

.tm-quantity {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tm-extra-product-options-radio .tm-quantity,
.tm-extra-product-options-checkbox .tm-quantity {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.tm-quantity input.tm-qty {
	margin: 0;
	max-width: 100%;
	min-width: 3em;
	width: 4em;
	text-align: center;
	padding: 0.25em;
	line-height: 1;
}

.tm-quantity-alt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.5em;
}

.tm-quantity-alt input.tm-qty-alt {
	margin: 0;
	max-width: 100%;
	min-width: 50px;
	text-align: center;
	width: 5em !important;
	font-size: 100%;
	display: inline-block !important;
	padding: 0.358em 1em;
}

.tc-extra-product-options .cpf-type-product .tc-epo-element-product-li-container .tc-epo-element-product-container .single_add_to_cart_product,
.single_add_to_cart_product {
	vertical-align: baseline;
	float: none;
	padding: 0.618em 1em !important;
	margin: 0 !important;
}

.tc-row.tc-quantity-right .tc-cell,
.tc-row.tc-quantity-left .tc-cell,
.tm-quantity.tm-bottom {
	margin-bottom: 0;
}

/* Description */

.tm-description p:last-child {
	margin-bottom: 0 !important;
}

.tm-description {
	clear: both;
}

.tm-section-description {
	margin: 0;
}

/* 4. Floatbox */

.floatbox {
	height: 100%;
	left: 0% !important;
	position: fixed !important;
	top: 0% !important;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	z-index: 101001;
}

.floatbox.fl-overlay {
	background: rgba(0, 0, 0, 0.8);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.flasho {
	background: #fff;
	color: #000;
	border: 1px solid #fff;
	position: relative;
	z-index: 101001;
	-webkit-box-shadow: 0 0 1px 4px rgba(0, 0, 0, 0.1), 0 0 50px 13px rgba(0, 0, 255, 0.05);
	box-shadow: 0 0 1px 4px rgba(0, 0, 0, 0.1), 0 0 50px 13px rgba(0, 0, 255, 0.05);
	max-height: 100%;
	border-radius: 0;
	max-width: 100%;
	width: 80%;
	height: 80%;
	overflow: hidden;
	display: grid;
	grid-template-rows: minmax(1em, auto) minmax(33%, 1fr) minmax(1em, auto);
	gap: var(--tcgaprow) 0;
	padding: var(--tcgap);
}

.float-editbox {
	position: relative;
	overflow: auto;
	overflow-x: hidden;
	overflow-y: auto;
}

.flasho .header {
	line-height: 2;
	width: 100%;
	border-bottom: 1px solid #ecf0f1;
	padding-bottom: var(--tcgaprow);
}

.flasho .header h3 {
	font-size: 22px;
	font-weight: 400;
	line-height: 28px;
	margin: 0;
	letter-spacing: 1px;
}

.flasho .footer {
	margin: 0;
	padding: 0;
	text-align: right;
	background: none;
}

.flasho .footer .inner {
	border-top: 1px solid #ecf0f1;
	padding-top: var(--tcgaprow);
}

.tm-section-pop {
	display: none;
}

#tm-section-pop-up > .tc-epo-label.tm-section-label {
	display: none;
}

.tm-section-pop-up.single .tc-cell.section_popup {
	width: 100% !important;
	max-width: 100%;
	--flex-items: 1 !important;
}

.tm-section-pop-up.single .tc-cell.section_popup .tm-section-pop {
	padding-top: 1em;
	padding-bottom: 1em;
}

.tm-extra-product-options.tm-section-pop-up.single .footer .inner .tm-button.button.button-secondary.button-large.floatbox-cancel,
.tc-extra-product-options .tm-section-pop-up.single .footer .inner .tm-button.button.button-secondary.button-large.floatbox-cancel {
	float: none;
}

.noanimated {
	-webkit-animation-fill-mode: none !important;
	animation-fill-mode: none !important;
	opacity: 1 !important;
	z-index: auto !important;
	position: static !important;
	-webkit-transform: none !important;
	transform: none !important;
	container: none !important;
}

/* 5. Floating totals box */

.tm-floating-box {
	width: auto;
	height: auto;
	padding: 1em;
	position: fixed;
	right: 0;
	top: 0;
	bottom: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.99);
	z-index: 99999;
	max-height: 100%;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 20vw;
	gap: var(--tcgap);
	line-height: normal;
	border: 2px solid rgba(0, 0, 0, 0.05);
}

.tm-floating-box .tc-row,
.tm-floating-box .tm-extra-product-options-totals {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
}

.tm-floating-box.right {
	left: auto;
	right: 0;
}

.tm-floating-box.left {
	right: auto;
	left: 0;
}

.tm-floating-box.bottom {
	bottom: 0;
	top: auto;
}

.tm-floating-box.top {
	top: 0;
	bottom: auto;
}

.tm-fb {
	font-size: 12px;
	line-height: 18px;
	max-height: 200px;
	max-width: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	gap: 0;
}

.tm-fb dt {
	margin: 0;
	padding: 0;
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
}

.tm-fb dd {
	margin: 0 0 var(--tcinnergaprow) 0;
	padding: 0;
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
}

.tm-fb-title {
	font-weight: 700;
}

.tm-fb-value {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: var(--tcinnergap);
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tm-fb-value > * {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}

.tm-floating-box-alt .tm-floating-box {
	background: none;
	padding: 0;
	position: static;
	max-width: 100%;
	border: 0;
}

.tm-floating-box-nks .tm-floating-box {
	bottom: 0 !important;
	left: 0 !important;
	padding: 5%;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	width: 100%;
}

.tm-floating-box-nks .tm-fb {
	max-height: 90% !important;
	max-width: 90% !important;
}

.tc-row.tm-fb-labels {
	border-bottom: 1px solid;
	font-weight: 700;
	margin-bottom: 1.65em;
	padding: 0 0 1em 0;
}

.tc-row.tm-fb-labels .tm-fb-price,
.tc-row.tm-fb-data .tm-fb-price {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.tc-row.tm-fb-labels .tm-fb-quantity,
.tc-row.tm-fb-data .tm-fb-quantity {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.tc-img-floating .tmhexcolorimage.tc-center .tc-image,
.tc-img-floating .tc-image {
	max-width: calc(var(--tcinlinesize) * 2) !important;
	margin: 0;
	max-height: calc(var(--tcinlinesize) * 2) !important;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tc-img-floating .tmhexcolorimage.tc-center .tc-image {
	padding-top: calc((var(--tcinlinesize) * 2) - (2px * 2)) !important;
}

.tc-img-floating .tm-transparent-swatch .tc-image {
	border-style: dotted;
	border-color: inherit;
}

/* 6. Validation errors */

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap label.tm-error,
.tm-extra-product-options ul.tmcp-ul-wrap + .tm-error,
.tm-extra-product-options .tc-element-container > .tm-error {
	color: #f00;
	display: block !important;
	font-size: 80%;
	font-weight: 700;
	padding: 0 !important;
	margin: 1em 0 !important;
}

.tm-extra-product-options .tc-cell.tm-error {
	color: #f00;
	display: block;
	font-size: 80%;
	font-weight: 700;
	margin: 1em 0 !important;
}

.tm-epo-field.tmcp-textfield.tm-error,
.tm-epo-field.tmcp-textarea.tm-error {
	border: 1px solid #c0392b;
	color: #e74c3c;
	outline: 0;
}

/* 7. Lightbox */

.tc-transition {
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

.tc-lightbox {
	background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0;
	height: auto !important;
	max-height: 100% !important;
	max-width: 100% !important;
	text-align: center;
	width: auto !important;
	z-index: 100100;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	display: block;
	padding: 0;
	border: 0;
}

.tc-lightbox-image-wrap {
	position: relative;
}

.tc-lightbox-wrap {
	position: absolute;
	right: 1px;
	bottom: 1px;
	width: 1em;
	height: 1em;
	left: auto;
	top: auto;
	font-size: 1.5em;
	border-style: solid;
	border-width: 2px;
	border-color: #fff;
	padding: 0.3em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0;
}

.tc-lightbox-button {
	color: #fff;
	font-size: 1em !important;
	padding: 0;
	z-index: 2;
	cursor: -webkit-zoom-in;
	cursor: zoom-in;
	margin: auto;
}

.circle .tc-lightbox-button {
	border-radius: 100%;
}

.round .tc-lightbox-button {
	border-radius: 5px;
}

.tc-lightbox-wrap:hover .tc-lightbox-button {
	opacity: 1;
}

.tc-lightbox img {
	border: 0 none;
	cursor: -webkit-zoom-out;
	cursor: zoom-out;
	display: block;
	height: auto;
	line-height: 0;
	margin: 0;
	padding: 0;
	position: relative;
	width: auto;
}

.tc-lightbox-button-close {
	background: rgba(255, 255, 255, 0.3) none repeat scroll 0 0;
	color: #000 !important;
	float: left;
	height: 2em;
	line-height: 2;
	position: absolute;
	right: 0;
	text-align: center;
	top: 0;
	width: 2em;
	z-index: 2;
	cursor: pointer;
}

@-webkit-keyframes tc-lightbox-zoomin {

	0% {
		opacity: 0;
		-webkit-transform: scale(0.3);
		transform: scale(0.3);
	}

	50% {
		opacity: 1;
	}
}

@keyframes tc-lightbox-zoomin {

	0% {
		opacity: 0;
		-webkit-transform: scale(0.3);
		transform: scale(0.3);
	}

	50% {
		opacity: 1;
	}
}

.tc-lightbox-zoomin {
	-webkit-animation-name: tc-lightbox-zoomin;
	animation-name: tc-lightbox-zoomin;
}

@-webkit-keyframes tc-lightbox-zoomout {

	0% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	50% {
		opacity: 0;
		-webkit-transform: scale(0.3);
		transform: scale(0.3);
	}

	100% {
		opacity: 0;
	}
}

@keyframes tc-lightbox-zoomout {

	0% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	50% {
		opacity: 0;
		-webkit-transform: scale(0.3);
		transform: scale(0.3);
	}

	100% {
		opacity: 0;
	}
}

.tc-lightbox-zoomout {
	-webkit-animation-name: tc-lightbox-zoomout;
	animation-name: tc-lightbox-zoomout;
}

/* 8. Datepicker and Timepicker*/

.tm-static {
	position: static;
}

.tmcp-date-select {
	max-width: 100%;
}

.tm-epo-field.tmcp-date {
	min-height: 2.5em !important;
	height: auto;
}

.tc-extra-product-options .cpf-type-date .tmcp-field-wrap label:not(.fullwidth) .tm-epo-field.tmcp-date {
	width: auto !important;
}


.tm-epo-datepicker-label-container,
.tm-epo-timepicker-label-container {
	display: inline-block !important;
	vertical-align: baseline;
	position: relative;
	max-width: 100%;
}

.tm-extra-product-options .tm-epo-datepicker,
.tm-extra-product-options .tm-epo-timepicker {
	display: inline-block !important;
	line-height: normal !important;
	margin: 0 !important;
	max-width: 100% !important;
	padding-right: 2.5em !important;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tc-epo-label.tc-left + .tc-element-container .tm-epo-datepicker-label-container,
.tc-epo-label.tc-right + .tc-element-container .tm-epo-datepicker-label-container {
	margin-top: 0;
}

/* datepicker skin */

.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger {
	font-family: "Font Awesome 7 Free", sans-serif !important;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-radius: 0;
	background: transparent none repeat scroll 0 0 !important;
	border-width: 0;
	color: inherit !important;
	cursor: pointer;
	display: inline-block;
	font-size: inherit !important;
	line-height: inherit !important;
	margin: 0;
	padding: 0 !important;
	position: absolute;
	right: 0;
	top: 0;
	height: 100% !important;

}

.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger:hover,
.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger:active,
.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger:focus,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger:hover,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger:active,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger:focus {
	background: none repeat scroll 0 0 transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger::before {
	content: "\f073";
	padding: calc(0.75em - 2px);
	border-width: 0 0 0 1px;
	border-style: solid;
}

.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger::before {
	content: "\f017";
	padding: calc(0.75em - 2px);
	border-width: 0 0 0 1px;
	border-style: solid;
}

.tm-datepicker {
	margin: 2px 0 0 0;
	z-index: 101002 !important;
	width: auto !important;
	height: auto !important;
	padding: 0;
}

.tm-datepicker a {
	text-decoration: none;
}

.tm-ui-dp,
.tm-ui-dp-overlay {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.tm-ui-dp-header.ui-widget-header {
	line-height: 2;
	background: none;
	border: 0 none;
	color: inherit;
	font-weight: 700;
}

.tm-ui-dp {
	max-width: 98%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	text-shadow: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.tm-ui-dp:focus {
	outline: 0;
}

.tm-ui-dp-container {
	min-width: 300px;
	overflow: hidden;
	text-align: center;
	font-size: 16px;
}

.tm-datepicker-small .tm-ui-dp-container {
	font-size: 12px;
	min-width: 240px;
}

.tm-datepicker-medium .tm-ui-dp-container {
	font-size: 16px;
	min-width: 330px;
}

.tm-datepicker-large .tm-ui-dp-container {
	font-size: 20px;
	min-width: 400px;
}

.tm-datepicker.tm-datepicker-top .tm-ui-dp-title,
.tm-datepicker.tm-datepicker-bottom .tm-ui-dp-title {
	font-size: 1.125em;
}

.tm-datepicker.tm-datepicker-bottom .tm-ui-dp-container,
.tm-datepicker.tm-datepicker-top .tm-ui-dp-container {
	min-width: 100% !important;
}

.tm-ui-dp-wrap,
.tm-ui-dp-overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.tm-ui-dp-wrap {
	z-index: 99998;
}

.tm-ui-dp-overlay {
	z-index: 1;
	background: rgba(0, 0, 0, 0.7);
}

.tm-datepicker-top .tm-ui-dp,
.tm-datepicker-bottom .tm-ui-dp {
	width: 100%;
	max-width: 100%;
}

.tm-ui-dp-main-cell-inner {
	position: relative;
	height: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tm-ui-dp-main-wrap {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.tm-ui-dp-ui {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
}

.tm-ui-dp-main {
	width: auto;
}

.tm-ui-dp-main table {
	width: 100%;
	height: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin: 0;
	background: none;
	border: 0;
}

.tm-ui-dp-main-table {
	height: 100%;
	width: 100%;
	display: table;
	table-layout: fixed;
}

.tm-ui-dp-main-row {
	white-space: nowrap;
	display: table-row;
}

.tm-ui-dp-main-cell {
	line-height: 1.875;
	text-align: center;
	width: 14.2857%;
	height: 16.6666%;
	position: relative;
	display: table-cell;
	vertical-align: middle;
	cursor: pointer;
}

.tm-ui-dp-main-cell.ui-datepicker-unselectable,
.tm-ui-dp-main-cell.ui-state-disabled {
	cursor: default;
}

.tm-ui-dp-main-cell .tm-ui-dp-main-cell-inner {
	overflow: visible;
}

.tm-ui-dp-main-cell-content {
	position: relative;
	z-index: 2;
	padding: 5px;
}

.tm-datepicker .tm-ui-dp-main-wrap {
	padding: 0.5em;
}

.tm-datepicker .tm-ui-dp-main-header th {
	font-size: 0.6875em;
	font-weight: 400;
	line-height: 2.225;
	text-align: center;
	border: 0;
}

.tm-datepicker .tm-ui-dp-main-cell-content {
	font-size: 0.8125em;
}

.tm-ui-dp-inner-container,
.tm-ui-dp-main-wrap,
.tm-ui-dp-main-content {
	position: relative;
}

.tm-datepicker.tm-datepicker-bottom,
.tm-datepicker.tm-datepicker-top {
	bottom: 0 !important;
	height: 100% !important;
	left: 0 !important;
	position: fixed !important;
	right: 0 !important;
	top: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 none !important;
}

.tm-datepicker.tm-datepicker-bottom .tm-ui-dp {
	bottom: 0;
	top: auto;
}

.tm-datepicker.tm-datepicker-top .tm-ui-dp {
	top: 0;
	bottom: auto;
}

.tm-datepicker .ui-tm-datepicker-prev,
.tm-datepicker .ui-tm-datepicker-next,
.tm-datepicker.tm-datepicker-bottom .ui-tm-datepicker-prev,
.tm-datepicker.tm-datepicker-top .ui-tm-datepicker-prev,
.tm-datepicker.tm-datepicker-bottom .ui-tm-datepicker-next,
.tm-datepicker.tm-datepicker-top .ui-tm-datepicker-next {
	display: none !important;
}

.tm-ui-dp-title {
	position: relative;
	font-size: 1em;
}

.tm-ui-dp-title .tm-ui-dp-month,
.tm-ui-dp-title .tm-ui-dp-year {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0 2em;
	white-space: nowrap;
}

.tm-ui-dp-title-button {
	width: 50%;
	display: inline-block;
	white-space: nowrap;
	vertical-align: top;
	position: relative;
	height: 2em;
}

.tm-ui-dp-button-prev {
	left: 0;
}

.tm-ui-dp-button-next {
	right: 0;
}

.tm-ui-dp-button {
	margin: 0;
	position: absolute;
	top: 0;
	width: 2em;
	overflow: hidden;
	display: block;
	text-decoration: none;
	white-space: nowrap;
	text-overflow: ellipsis;
	vertical-align: top;
	height: 2em;
	line-height: 2;
	color: #4eccc4;
	text-transform: uppercase;
	padding: 0;
}

.tm-ui-dp-button .tm-ui-dp-button-arrow,
.tm-ui-dp-month,
.tm-ui-dp-year {
	cursor: pointer;
}

.tm-datepicker .tm-ui-dp-button-arrow {
	color: #4eccc4;
	font-size: 1em;
	line-height: 2;
	overflow: hidden;
	width: 2em;
}

.tm-ui-dp-button-arrow::before {
	display: block;
}

.tm-ui-dp-buttonpane {
	display: block;
	overflow: hidden;
	padding: 0 0.5em 0.5em;
	text-align: right;
	width: 100%;
}

.tm-ui-dp-btn-wrap {
	display: block;
	float: right;
	position: relative;
	vertical-align: top;
	z-index: 5;
}

.tm-ui-dp-btn {
	height: 2.5em;
	line-height: 2.5;
	padding: 0 1em;
	text-transform: uppercase;
	cursor: pointer;
	display: block;
	overflow: hidden;
	text-decoration: none;
	text-overflow: ellipsis;
	vertical-align: top;
	white-space: nowrap;
}

.tm-ui-dp-button-disabled {
	opacity: 0.3;
	cursor: default;
}

/* datepicker skins */

/* epo black skin */

.tm-ui-skin-epo-black .tm-ui-dp-container {
	font-family: Helvetica, Arial, sans-serif !important;
	border: 1px solid #000 !important;
	-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
	background: #000 none repeat scroll 0 0;
	background: rgba(0, 0, 0, 0.9) none repeat scroll 0 0;
	color: #fff;
}

/* normal cell text*/

.tm-ui-skin-epo-black .tm-ui-dp-main-cell .ui-state-default {
	color: #ecf0f1;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-other-month .ui-state-default {
	color: #777;
}

/* selected day */

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day:hover {
	background-color: #1abc9c;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day .ui-state-default,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day:hover .ui-state-default {
	color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell:hover {
	background-color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell:hover .ui-state-default {
	color: #000;
}

/* unselectable cell text*/

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-unselectable .ui-state-default,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-state-disabled .ui-state-default {
	color: #222;
}

/* disabled and unselectable cell*/

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-unselectable,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-state-disabled {
	background-color: #000;
	background-color: rgba(255, 255, 255, 0.02);
}

.tm-ui-skin-epo-black .tm-ui-dp-btn {
	color: #1abc9c;
}

.tm-ui-skin-epo-black .tm-ui-dp-btn:hover {
	color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-button-arrow,
.tm-ui-skin-epo-black .tm-ui-dp-button-arrow.tm-ui-dp-button-disabled:hover {
	color: #1abc9c;
}

.tm-ui-skin-epo-black .tm-ui-dp-button-arrow:hover {
	color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-header {
	color: #1abc9c;
	border-bottom: 1px solid #1abc9c;
}

/* epo white skin */

.tm-ui-skin-epo.tm-datepicker .tm-ui-dp-main-wrap {
	padding: 0;
}

.tm-ui-skin-epo .tm-ui-dp-container {
	font-family: Helvetica, Arial, sans-serif !important;
	border: 1px solid #ddd !important;
	-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
	background: #fff none repeat scroll 0 0;
	color: #2c3e50;
}

/* normal cell text*/

.tm-ui-skin-epo .tm-ui-dp-main-cell .ui-state-default {
	color: #2c3e50;
	background: none;
	border: 0 none;
}

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-tm-datepicker-other-month .ui-state-default {
	color: #aaa;
}

/* current day cell text*/

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-tm-datepicker-current-day .ui-state-default {
	color: #0a0;
}

/* normal cell text in other month */

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-other-month .ui-state-default {
	color: #95a5a6;
}

/* selected day */

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day:hover {
	background-color: #9b59b6;
}

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day .ui-state-default,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day:hover .ui-state-default {
	color: #fff;
}

/* cell hover */

.tm-ui-skin-epo .tm-ui-dp-main-cell:hover {
	background-color: #ecf0f1;
}

.tm-ui-skin-epo .tm-ui-dp-main-cell:hover .ui-state-default {
	color: #000;
}

/* unselectable cell text*/

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-unselectable .ui-state-default,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-state-disabled .ui-state-default {
	color: #eee;
}

/* disabled and unselectable cell*/

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-unselectable,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-state-disabled {
	background-color: #fff;
}

.tm-ui-skin-epo .tm-ui-dp-btn {
	color: #2c3e50;
}

.tm-ui-skin-epo .tm-ui-dp-btn:hover {
	color: #8e44ad;
}

.tm-ui-skin-epo .tm-ui-dp-button-arrow,
.tm-ui-skin-epo .tm-ui-dp-button-arrow.tm-ui-dp-button-disabled:hover {
	color: #2c3e50;
}

.tm-ui-skin-epo .tm-ui-dp-button-arrow:hover {
	color: #34495e;
}

.tm-ui-skin-epo .tm-ui-dp-main-header {
	background: #f9f9f9 none repeat scroll 0 0;
	border-bottom: 1px solid #eee;
	border-top: 1px solid #eee;
	color: #7f8c8d;
	padding: 0.25em 0;
}

.tm-ui-skin-epo .tm-ui-dp-title {
	padding: 0.5em 0;
}

.ui-tm-timepicker-div .tm-ui-widget-header,
.ui-tm-timepicker-div .ui_tpicker_time_label,
.tm-timepicker .tm-ui-dp-current {
	display: none;
}

.tm-timepicker .ui-tm-timepicker-div .ui-slider-handle {
	border-radius: 100%;
	background: #ecf0f1;
	border: 1px solid #bdc3c7;
	cursor: default;
	height: 1.2em;
	position: absolute;
	width: 1.2em;
	z-index: 2;
}

.tm-timepicker .ui-tm-timepicker-div .ui-slider-handle.ui-state-hover {
	background: #fff;
}

.ui-tm-timepicker-div .ui-slider {
	position: relative;
}

.ui-tm-timepicker-div .ui-slider.ui-slider-horizontal {
	border-color: #aaa;
	-o-border-image: none;
	border-image: none;
	border-radius: 0;
	border-style: solid;
	border-width: 0 0 1px;
	height: 1px;
	margin: 1em 0;
	padding: 0.2em 0 0;
}

.ui-tm-timepicker-div .ui-slider.ui-slider-horizontal .ui-slider-handle {
	margin-left: -0.6em;
	top: -0.3em;
}

.ui-tm-timepicker-div .ui-widget-header {
	margin-bottom: 8px;
}

.ui-tm-timepicker-div dl {
	text-align: left;
	margin: 0;
}

.ui-tm-timepicker-div dl dt {
	clear: left;
	float: left;
	margin: 0.725em 0 0;
	padding: 0;
}

.ui-tm-timepicker-div dl dd {
	display: block;
	margin: 0 1em 0.5em 30%;
	padding: 1px 0;
	float: none;
}

.ui-tm-timepicker-div td {
	font-size: 90%;
}

.ui-tpicker-grid-label {
	background: none;
	border: none;
	margin: 0;
	padding: 0;
}

.ui-tm-timepicker-div .ui_tpicker_unit_hide {
	display: none;
}

.ui-tm-timepicker-div .ui_tpicker_time .ui_tpicker_time_input {
	background: none;
	color: inherit;
	border: none;
	outline: none;
	border-bottom: 0 none;
	width: 95%;
}

.ui-tm-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus {
	border-bottom-color: #aaa;
}

.ui-tm-timepicker-rtl {
	direction: rtl;
}

.ui-tm-timepicker-rtl dl {
	text-align: right;
}

.ui-tm-timepicker-rtl dl dt {
	float: right;
	clear: right;
}

.ui-tm-timepicker-rtl dl dd {
	margin: 0 30% 0.5em 1em;
}

/* Shortened version style */

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine {
	padding-right: 2px;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_time,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dt {
	display: none;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_time_label {
	display: block;
	padding-top: 2px;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl {
	text-align: right;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd > div {
	display: inline-block;
	margin: 0;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_minute::before,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_second::before {
	content: ":";
	display: inline-block;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_millisec::before,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_microsec::before {
	content: ".";
	display: inline-block;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_unit_hide,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_unit_hide::before {
	display: none;
}

.ui-tm-timepicker-div {
	padding: 1em 1em 0;
}

.tm-ui-tp-title {
	padding: 0.5em 0;
}

/* 9. Checkbox and Radio button */
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radiostart,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radioend,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radio,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-color,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-image,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-text,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-checkbox,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-radio {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start !important;
	-ms-flex-pack: start !important;
	justify-content: flex-start !important;
	float: none;
	max-width: none;
	width: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	gap: var(--tcgap);
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radiostart li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radioend li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radio li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-color li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-image li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-text li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-checkbox li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-radio li.tmcp-field-wrap {
	padding: 0;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	margin: 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tm-auto-row {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
	width: auto;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap.tm-auto-row,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap.tm-auto-row {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
	flex: 0 1 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
	width: auto;
	max-width: calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
	--flex-items: 4;
}

.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-startcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-endcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-startimages,
.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-endimages {
	width: 100%;
}

.tc-label-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: var(--tcinnergap);
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.fullwidth-ul .tc-label-wrap {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
}

.fullwidth-ul .tc-label-inner .tc-price-wrap {
	justify-self: flex-end;
}

.fullwidth-ul .tc-mode-color .tc-label-inner .tc-price-wrap,
.fullwidth-ul .tc-mode-images .tc-label-inner .tc-price-wrap {
	justify-self: center;
}

.tc-input-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tc-mode-images .tc-label-wrap,
.tc-mode-color .tc-label-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
	gap: var(--tcinnergap);
}

.tc-mode-images .tc-inline-description,
.tc-mode-color .tc-inline-description {
	text-align: center;
}

.tc-inline-description:empty {
	display: none;
}

.radio-image-label,
.checkbox-image-label {
	display: block;
	text-align: center;
	line-height: 1.5;
	width: 100%;
}

.tc-label.tm-label .radio-image-label,
.tc-label.tm-label .checkbox-image-label {
	display: inline;
	margin-right: 0.5em;
}

.tc-label.tm-label .radio-image-label:empty,
.tc-label.tm-label .checkbox-image-label:empty {
	margin-right: 0;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .tc-label-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	gap: var(--tcinnergap);
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .fullwidth .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .fullwidth .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .fullwidth .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .fullwidth .tc-label-wrap {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .tc-input-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .tc-input-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .tc-input-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .tc-input-wrap {
	display: none;
}

li.tmcp-field-wrap.tm-per-row.is-separator {
	-webkit-box-flex: 0 !important;
	-ms-flex: 0 0 100% !important;
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

.tm-extra-product-options .is-separator .tc-label-wrap.tc-separator {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 0;
	flex: 1 1 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.is-separator .tc-label.tc-separator-label {
	padding: 0 !important;
	width: 100%;
}

.tm-extra-product-options .is-separator .tc-tooltip {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 0;
	flex: 0 1 0;
	margin: 0;
}

.tm-extra-product-options .tm-has-clearbutton ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-active {
	display: grid;
	grid-template-columns: 1fr auto;
}

.tc-expand .tmcp-ul-wrap {
	overflow: hidden;
	-webkit-transition: max-height 0.5s ease, opacity 0.3s ease;
	transition: max-height 0.5s ease, opacity 0.3s ease;
}

.tc-expand .tc-element-container {
	position: relative;
}

/* 10. Checkbox and Radio button custom styles */

.tc-epo-style-wrapper + .tmhexcolorimage,
.tc-epo-style-wrapper + .tc-label-wrap .tmhexcolorimage:first-child {
	margin: 0 0.5em;
	vertical-align: middle;
}

.tc-epo-style-wrapper .tc-input-wrap .tm-epo-field {
	position: absolute !important;
	top: calc(var(--tc-radio-size) / 2);
	left: calc(var(--tc-radio-size) / 2);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;
}

/* for product elements that use checkbox mode */
.tc-active .tc-extra-product-options .tc-epo-style-wrapper .tm-epo-style::after {
	opacity: 0;
}

.tc-active .tc-epo-style-wrapper .tm-epo-style::after,
.tc-active .tc-extra-product-options .tc-active .tc-epo-style-wrapper .tm-epo-style::after {
	opacity: 1;
}

.tc-epo-style-wrapper {
	height: auto;
	width: auto;
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 1em;
	-webkit-transform: translate(0%, 50%);
	transform: translate(0%, 50%);
	top: calc(var(--tc-radio-size) / -2);
	letter-spacing: 0;
	word-spacing: 0;
	-webkit-font-kerning: none;
	font-kerning: none;
	font-family: none;
	--tc-radio-size: 1.5em;
	--tc-radio-font-size: 1em;
}

.tm-epo-style {
	position: relative;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: transparent none repeat scroll 0 0;
	border: 1px solid;
	cursor: pointer;
	height: var(--tc-radio-size);
	line-height: 1;
	margin: 0;
	padding: 0;
	width: var(--tc-radio-size);
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	font-size: var(--tc-radio-font-size);
}

.tm-epo-style::after {
	content: "\f00c";
	background: transparent none repeat scroll 0 0;
	font-family: "Font Awesome 7 Free", sans-serif !important;
	font-weight: 900;
	height: 1em !important;
	opacity: 0;
	display: inline-block !important;
	text-align: center !important;
	width: 1em !important;
	color: inherit !important;
	font-size: inherit !important;
	bottom: auto !important;
	line-height: 1 !important;
}

.tc-epo-style-wrapper.tc-radio .tm-epo-style::after {
	content: "\f111";
}

.tm-epo-style:hover::after {
	opacity: 0.5;
}

.tm-epo-style.circle,
.tm-epo-style.circle2 {
	border-radius: 100%;
}

.tm-epo-style.round,
.tm-epo-style.round2 {
	border-radius: 5px;
}

.tm-epo-style.circle2,
.tm-epo-style.round2,
.tm-epo-style.square2 {
	border-width: 2px;
}

.tc-epo-style-wrapper.square .tm-epo-style::after {
	font-size: 0.6em !important;
}

.tc-epo-style-wrapper.circle2 .tm-epo-style::after,
.tc-epo-style-wrapper.round2 .tm-epo-style::after,
.tc-epo-style-wrapper.square2 .tm-epo-style::after {
	font-size: 0.5em !important;
}


/* 11. Checkbox and Radio button swatches */

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-epo-text-wrapper {
	padding: var(--tcinnergap);
	gap: var(--tcgap);
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-epo-text-wrapper label {
	cursor: pointer;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.tc-epo-text-label-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: var(--tcinnergap);
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-color,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-images,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-text {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	width: auto;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	min-width: var(--tcinlinesize);
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-images .tmcp-field-wrap-inner,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-color .tmcp-field-wrap-inner {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-text .tmcp-field-wrap-inner {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	width: auto;
}

.tc-epo-text-wrapper input[type="checkbox"].tm-epo-field,
.tc-epo-text-wrapper input[type="radio"].tm-epo-field {
	visibility: hidden;
	position: absolute;
	display: inline !important;
}

.tmhexcolorimage {
	display: block;
	height: 100% !important;
	max-height: 100% !important;
	max-width: 100% !important;
	width: 100%;
}

.tm-floating-box .tmhexcolorimage {
	min-width: 50px !important;
	min-height: 50px !important;
}

.tm-floating-box .radio-image-label,
.tm-floating-box .checkbox-image-label {
	text-align: initial;
}

.tmhexcolorimage.tc-center .tc-image {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: auto !important;
	height: auto !important;
	padding-top: calc(100% - (2px * 2)) !important;
	max-width: calc(100% - (2px * 2)) !important;
	vertical-align: middle;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	min-width: min(var(--tcinlinesize), calc(100% - (2px * 2)));
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap input.use_images + label {
	display: inline-block;
	padding: 0 !important;
	max-width: 100%;
	border: 0 solid;
	position: relative;
	line-height: 0;
	margin: 0 !important;
	height: auto !important;
	background: none !important;
}

.tc-image {
	border-width: 2px;
	border-style: solid;
	border-color: transparent;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: auto;
	padding: 0;
	pointer-events: none !important;
	height: auto;
	max-width: 100%;
}

.tm-extra-product-options .tc-active .tc-image {
	border-style: solid;
}

.tc-image.tc-image-inline,
.tc-image-inline {
	position: relative;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: transparent none repeat scroll 0 0;
	border: 2px solid transparent;
	cursor: pointer;
	height: var(--tcinlinesize);
	line-height: 1;
	margin: 0;
	padding: 0;
	width: auto;
	min-width: var(--tcinlinesize);
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	font-size: 1em;
}

.tc-epo-style-space::after {
	content: "\00a0";
	display: inline;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	position: relative;
	margin-left: calc(-1ch / 2);
	font-family: sans-serif;
}

.tc-center .tc-epo-style-space::after {
	display: none;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap .tmhexcolorimage-inline {
	width: auto !important;
	padding: 0 !important;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	margin: 0;
	-webkit-transform: translate(0, 50%);
	transform: translate(0, 50%);
	top: calc(var(--tcinlinesize) / -2);
	position: relative;
	height: auto !important;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 1em;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap .tc-image-inline {
	max-height: var(--tcinlinesize) !important;
	-ms-flex-item-align: start;
	align-self: flex-start;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text {
	border-style: solid;
	cursor: pointer;
	border-color: var(--text-swatch-border-color);
	border-width: var(--text-swatch-border-width);
	border-radius: var(--swatch-border-radius);
}

.tm-extra-product-options .tc-epo-element-product-thumbnail {
	border-width: 2px;
	border-style: solid;
	border-color: transparent;
}

.tc-image,
.tm-extra-product-options .tmcp-field-wrap .tc-label-wrap .tc-image,
.tm-extra-product-options .tc-epo-element-product-thumbnail {
	border-color: var(--swatch-border-color);
	border-width: var(--swatch-border-width);
	border-radius: var(--swatch-border-radius);
}


.tm-extra-product-options .tmcp-field-wrap.tc-active.tc-mode-text,
.tm-extra-product-options .tmcp-field-wrap.tc-active .tc-label-wrap .tc-image,
.tm-extra-product-options .tmcp-field-wrap.tc-active .tc-label-wrap .tm-transparent-swatch .tc-image,
.tm-extra-product-options .tc-epo-element-product-thumbnail.tc-active {
	border-color: var(--swatch-active-border-color);
	border-width: var(--swatch-active-border-width);
}

.tm-extra-product-options .tmcp-field-wrap.tc-active.tc-mode-text {
	outline-width: var(--text-swatch-active-border-width);
	outline-style: solid;
	outline-color: var(--swatch-active-border-color);
	border-width: var(--text-swatch-active-border-width);
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.round,
.round .tc-image,
.round.tc-image,
.tm-extra-product-options .tmcp-field-wrap.round .tc-label-wrap .tc-image {
	--swatch-border-radius: 5px;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.circle .tc-image,
.circle.tc-image,
.tm-extra-product-options .tmcp-field-wrap.circle .tc-label-wrap .tc-image {
	--swatch-border-radius: 100%;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.circle {
	--swatch-border-radius: 18px;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.square,
.square .tc-image,
.square.tc-image,
.tm-extra-product-options .tmcp-field-wrap.square .tc-label-wrap .tc-image {
	--swatch-border-radius: 0;
	--swatch-border-width: 2px;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.shadow,
.shadow .tc-image,
.shadow.tc-image,
.tm-extra-product-options .tmcp-field-wrap.shadow .tc-label-wrap .tc-image {
	--swatch-border-radius: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-active.shadow.tc-mode-text,
.tm-extra-product-options .tmcp-field-wrap.tc-active.shadow .tc-label-wrap .tc-image {
	-webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.5);
	box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.5);
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.thinline,
.thinline .tc-image,
.thinline.tc-image,
.tm-extra-product-options .tmcp-field-wrap.thinline .tc-label-wrap .tc-image {
	--swatch-border-radius: 0;
	--swatch-border-width: 1px;
	border-style: groove;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap .tc-label-wrap .tc-image.tm-transparent-swatch,
.tm-transparent-swatch .tc-image,
.tm-extra-product-options .tmcp-field-wrap .tc-label-wrap .tm-transparent-swatch .tc-image {
	border-style: dotted;
	border-color: inherit;
}

.tm-extra-product-options input.use_images + label + .amount {
	display: block;
	text-align: center;
}

.radio-image-label-inline,
.checkbox-image-label-inline {
	display: inline;
}

.tc-label.tm-label .radio-image-label + .tmhexcolorimage,
.tc-label.tm-label .checkbox-image-label + .tmhexcolorimage {
	vertical-align: middle;
}

.tm-hide-label + .radio-image-label,
.tm-hide-label + * + .radio-image-label,
.tm-hide-label + .checkbox-image-label,
.tm-hide-label + * + .checkbox-image-label {
	display: none !important;
}

/* 12. Product element */

.tm-extra-product-options .tmcp-ul-wrap.tm-extra-product-options-product {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: var(--tcgap);
}

.tm-extra-product-options-product > * {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
}

li.tc-epo-element-product-holder {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tc-epo-element-product-container-wrap:empty {
	margin: 0;
}

.tc-epo-element-product-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify !important;
	-ms-flex-pack: justify !important;
	justify-content: space-between !important;
}

.tc-epo-element-product-container-left,
.tc-epo-element-product-container-right,
.tc-epo-element-product-container-full {
	padding: 0;
	margin: 0;
}

.tc-epo-element-product-container-cart {
	display: grid;
	gap: var(--tcgap);
}

.tc-epo-element-product-container-cart > * {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
	margin: 0 !important;
}

.cpf-type-product-thumbnailmultiple .tc-epo-element-product-container-cart > .stock {
	text-align: center;
}

.tc-extra-product-options-inline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: var(--tcgap);
}

.tc-extra-product-options-inline > * {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
}

.tc-extra-product-options-inline:not(:has(.tc-extra-product-options)) {
	display: none;
}

.tc-epo-element-product-container-wrap .product-title,
.tc-epo-element-product-container-wrap .product-price,
.tc-epo-element-product-container-wrap .product-description,
.tc-epo-element-product-container-wrap .product-meta,
.tc-epo-element-product-container-wrap .tc-extra-product-options-inline {
	margin: 0;
	padding: 0;
}

.cpf-type-product-thumbnailmultiple .tc-epo-element-product-container-wrap .tm-quantity,
.cpf-type-product-thumbnailmultiple .tc-epo-element-product-container-wrap .tm-quantity-alt {
	max-width: none;
	text-align: center;
}

/* The first selector is to take into account some Elementor configurations. */
.woocommerce div.product .tm-extra-product-options .tc-epo-element-product-container-wrap .tc-epo-element-product-container-cart .tm-quantity-alt .quantity,
.tm-extra-product-options .tc-epo-element-product-container-wrap .tc-epo-element-product-container-cart .tm-quantity-alt .quantity {
	float: none;
	display: inline-block !important;
	font-size: inherit;
}

.tm-extra-product-options .cpf-type-product-radio ul.tmcp-ul-wrap.tm-element-ul-product > li.tc-epo-element-product-li-container,
.tm-extra-product-options .cpf-type-product-dropdown ul.tmcp-ul-wrap.tm-element-ul-product > li.tc-epo-element-product-li-container {
	padding: 0;
	margin: 0;
	list-style: none outside none !important;
	position: relative;
}

.tm-extra-product-options .cpf-type-product-radio ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > .tc-field-label-wrap,
.tm-extra-product-options .cpf-type-product-checkbox ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner .tc-field-label-wrap {
	gap: var(--tcinnergap);
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tc-epo-element-product-li-container,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tc-epo-element-product-li-container {
	padding: var(--tcgaprow) 0;
	max-width: 100%;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	list-style: none outside none !important;
	position: relative;
	margin: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tc-epo-element-product-li-container {
	padding: var(--tcgap);
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap label {
	cursor: pointer;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap .tm-epo-field.tmcp-radio,
.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap .tc-epo-style-wrapper,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > label .tm-epo-field.tmcp-checkbox,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > label .tc-epo-style-wrapper,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > label .tm-epo-field.tmcp-checkbox,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > label .tc-epo-style-wrapper {
	display: none;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start !important;
	-ms-flex-pack: start !important;
	justify-content: flex-start !important;
	margin: 0;
	float: none;
	max-width: none;
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap {
	max-width: 100%;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	margin: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	gap: 0;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner {
	max-width: 100%;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	margin: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > .tm-epo-field-label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > .tm-epo-field-label {
	text-align: center;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap .tm-epo-reset-radio {
	right: var(--tcgapcolumn);
	top: var(--tcgaprow);
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap img.wp-post-image,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap img.wp-post-image {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
	width: auto;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > label .tc-label-wrap,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > label .tc-label-wrap,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > label .tc-label-wrap {
	display: block;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > .tm-epo-field-label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > .tmcp-field-wrap-inner > label.tm-epo-field-label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product > li.tmcp-field-wrap > label.tm-epo-field-label {
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-epo-element-product-container.tc-show-image {
	display: grid;
	grid-template-columns: minmax(auto, 3em) 1fr;
	gap: var(--tcgapcolumn);
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-epo-element-product-container .tc-epo-element-product-container-left,
.tm-extra-product-options .cpf-type-product-custombundle .tc-epo-element-product-container .tc-epo-element-product-container-right {
	max-width: unset;
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-epo-element-product-container-cart {
	gap: var(--tcinnergap);
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-bundle-control {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--tcgapcolumn);
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-product-image img {
	width: 100%;
	height: auto;
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-lightbox-image-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-lightbox-wrap {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: 0.3s all linear;
	transition: 0.3s all linear;
	opacity: 0;
	visibility: hidden;
	border: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	container-type: inline-size;
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-lightbox-button {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 40cqw !important;
}

.tm-extra-product-options .cpf-type-product-custombundle .tc-lightbox-image-wrap:hover .tc-lightbox-wrap {
	opacity: 1;
	visibility: visible;
}

.tm-extra-product-options .cpf-type-product .product-description p:last-child {
	margin-bottom: 0;
}

.tc-epo-element-variable-product {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: var(--tcgap);
}

.tc-epo-element-variable-product > * {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	max-width: 100%;
}

table.tc-epo-element-variations {
	margin: 0 !important;
}

.woocommerce table.tc-epo-element-variations {
	margin-bottom: 1em;
	border: 0;
	width: 100%;
}

.woocommerce table.tc-epo-element-variations td,
.woocommerce table.tc-epo-element-variations th {
	border: 0;
	vertical-align: top;
	line-height: 2;
}

.woocommerce table.tc-epo-element-variations label {
	font-weight: 700;
}

.woocommerce table.tc-epo-element-variations select {
	max-width: 100%;
	min-width: 75%;
	display: inline-block;
	margin-right: 1em;
}

.woocommerce table.tc-epo-element-variations td.label {
	padding-right: 1em;
}

.woocommerce .tc-epo-element-variable-product .woocommerce-variation-description p {
	margin-bottom: 1em;
}

.woocommerce .tc-epo-element-variable-product .tc-epo-element-variable-reset-variations {
	visibility: hidden;
	font-size: 0.83em;
}

.woocommerce .tc-epo-element-variable-product .wc-no-matching-variations {
	display: none;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-product-hidden,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-product-hidden .tmcp-field-wrap-inner {
	display: none;
}

.tc-product-image {
	margin: 0;
}

/* 13. Tooltip */

#tm-tooltip {
	font-size: 0.875em;
	text-align: center;
	text-shadow: 0 1px rgba(0, 0, 0, 0.5);
	line-height: 1.5;
	color: var(--tooltip-color);
	background: var(--tooltip-background-color);
	background-blend-mode: luminosity;
	border-radius: 5px;
	position: absolute;
	z-index: 145400;
	padding: 15px;
	pointer-events: none;
	bottom: auto !important;
	top: auto;
	left: auto;
	right: auto;
	border: 1px solid var(--tooltip-border-color);
	-webkit-backdrop-filter: var(--tooltip-backdrop-blur);
	backdrop-filter: var(--tooltip-backdrop-blur);
}

#tm-tooltip p:last-child {
	margin-top: 0;
	margin-bottom: 0;
}

#tm-tooltip::after {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid var(--tooltip-border-color);
	content: "";
	position: absolute;
	left: 50%;
	bottom: -9px;
	margin-left: -10px;
}

#tm-tooltip::before {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid var(--tooltip-border-color);
	content: "";
	position: absolute;
	left: 50%;
	bottom: -10px;
	margin-left: -10px;
}

#tm-tooltip.top::after {
	border-top-color: transparent;
	border-bottom: 10px solid var(--tooltip-border-color);
	top: -19px;
	bottom: auto;
}

#tm-tooltip.top::before {
	border-top-color: transparent;
	border-bottom: 10px solid var(--tooltip-border-color);
	top: -20px;
	bottom: auto;
}

#tm-tooltip.left::after {
	left: 10px;
	margin: 0;
}

#tm-tooltip.right::after {
	right: 10px;
	left: auto;
	margin: 0;
}

#tm-tooltip img {
	max-width: 100%;
}

#tm-tooltip.tc-error {
	--tooltip-background-color: #ff4500;
	--tooltip-border-color: rgba(255, 255, 255, 0.5);
	--tooltip-color: #fff;
}

.tc-tooltip {
	color: #2980b9;
	cursor: help;
	font-size: 1em;
	margin: 0;
}

.tc-epo-style-space.tc-tooltip {
	line-height: inherit !important;
}

.tc-icontooltipleft {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 0;
	order: 0;
}

.tc-icontooltipright {
	-webkit-box-ordinal-group: 100;
	-ms-flex-order: 99;
	order: 99;
}

/* 14. Cart and Order styles */

.woocommerce #content table.cart img.epo-option-image,
.woocommerce table.cart img.epo-option-image,
.woocommerce-page #content table.cart img.epo-option-image,
.woocommerce-page table.cart img.epo-option-image,
.epo-option-image {
	max-height: 100px;
	max-width: 70% !important;
	height: auto !important;
	width: auto !important;
	display: block;
}

.woocommerce-mini-cart img.epo-upload-image,
.woocommerce #content table.cart img.epo-upload-image,
.woocommerce table.cart img.epo-upload-image,
.woocommerce-page #content table.cart img.epo-upload-image,
.woocommerce-page table.cart img.epo-upload-image,
.epo-upload-image {
	max-height: none !important;
	max-width: 70% !important;
	width: auto !important;
	height: 100% !important;
}

dl.variation dt.tc-hidden-variation {
	margin: 0;
}

.tc-row.tm-cart-row {
	border-color: #eee;
	border-radius: 0;
	border-style: none none dotted;
	border-width: 0 0 1px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: var(--tcgap);
}

.tm-cart-row-header {
	font-weight: 700;
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 2;
}

.tc-row.tm-cart-row:last-child {
	border: 0 none;
}

.tc-row.tm-cart-row .tc-cell.cpf-name {
	font-weight: 700;
}

.tc-row.tm-cart-row .tc-cell.cpf-price,
.tc-row.tm-cart-row .tc-cell.cpf-total-price {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.tc-row.tm-cart-row .tc-cell.cpf-quantity {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

dl.variation.tc-epo-metadata,
.woocommerce .wc-item-meta {
	word-break: break-word;
}

dl.variation.tc-epo-metadata .tc-name,
dl.variation.tc-epo-metadata .tc-value,
.woocommerce .wc-item-meta .tc-name
.woocommerce .wc-item-meta .tc-value {
	white-space: pre-wrap;
}


dl.variation.tc-epo-metadata .tc-hidden-variation {
	display: none;
}

.cpf-img-on-cart img {
	position: static !important;
	height: auto !important;
	width: auto !important;
	max-height: 3em;
	-o-object-fit: cover;
	object-fit: cover;
}

.cpf-data-on-cart::before {
	content: "\f14a";
	font-family: "Font Awesome 7 Free", sans-serif;
	font-weight: 900;
	font-size: 1em;
	vertical-align: middle;
	position: absolute;
}

.cpf-data-on-cart > .cpf-data-value {
	margin: 0 1.5em;
}

.cpf-img-on-cart .cpf-data-on-cart::before {
	content: "";
	display: none;
}

.cpf-data-on-cart {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 0.5em;
	width: 100%;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}

.cpf-img-on-cart {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: calc(100% - var(--tcgapcolumn));
	gap: var(--tcgap);
}

.cpf-data-on-cart:last-of-type,
.cpf-img-on-cart:last-of-type {
	border-bottom: 0;
	margin-bottom: 0;
}

.cpf-img-on-order {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: calc(100% - var(--tcgapcolumn));
	gap: var(--tcgap);
}

.cpf-img-on-order img {
	-o-object-fit: cover;
	object-fit: cover;
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: unset !important;
}

.cpf-img-on-order > * {
	display: block;
}

.woocommerce #content table.cart img.epo-option-image,
.woocommerce table.cart img.epo-option-image,
.woocommerce-page #content table.cart img.epo-option-image,
.woocommerce-page table.cart img.epo-option-image,
.woocommerce-mini-cart .cpf-img-on-cart .epo-option-image,
.woocommerce-checkout-review-order .cpf-img-on-cart .epo-option-image,
.woocommerce-order-details .cpf-img-on-cart .epo-option-image,
.epo-option-image,
.cpf-img-on-order > * {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}

.woocommerce-mini-cart .cpf-img-on-cart img {
	max-width: 50px !important;
}

.cpf-color-on-cart {
	width: 1em;
	height: 1em;
	display: inline-block;
	border: 1px solid;
	vertical-align: middle;
	position: relative;
	top: -1px;
}

td.product-name a.tm-cart-edit-options,
.tm-cart-edit-options {
	display: block;
	font-size: 0.7em;
	font-style: italic;
	font-weight: 700;
}

.tm-epo-cart-option-mobile {
	display: none;
}

.shop_table tbody tr.tm-epo-cart-row {
	height: auto;
}

.woocommerce table.shop_table .tm-epo-cart-row td {
	border-top: 1px dashed rgba(0, 0, 0, 0.1);
}

.tm-epo-cart-option-label,
.tm-epo-cart-option-value.tm-epo-cart-no-label {
	font-weight: 700;
}

.woocommerce table.shop_table .tm-epo-cart-row-product td {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.woocommerce table.shop_table .tm-epo-cart-row-product + .tm-epo-cart-row td {
	border-top: 0 none;
}


.woocommerce table.shop_table_responsive tr.tm-epo-cart-row td::before,
.woocommerce-page table.shop_table_responsive tr.tm-epo-cart-row td::before {
	display: none !important;
}

.tc-price-in-cart,
.tc-quantity-in-cart {
	font-size: smaller;
}

.tc-associated-table-product .tc-associated-table-product-indent {
	padding-left: 2em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.tc-associated-table-product .tc-associated-table-product-price::after {
	font-family: "Font Awesome 7 Free", sans-serif;
	font-size: 1em;
	content: "\f3be";
	font-weight: 900;
	margin: 0 0.5em;
	padding: 0;
	opacity: 0.3;
	display: inline-block;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.tc-associated-table-product .tc-associated-table-product-indent * {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
}

.tc-associated-table-product-name {
	font-weight: 700;
	-webkit-box-ordinal-group: 2 !important;
	-ms-flex-order: 1 !important;
	order: 1 !important;
}

/* 15. Various styles */

.tc-has-force-disabled {
	opacity: 0.5;
	pointer-events: none;
}

.tm-dpd-label {
	display: block;
	font-size: 80%;
}

.tm-animated {
	-webkit-animation-duration: 0.3s;
	animation-duration: 0.3s;
}

.tc-chars {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	font-size: x-small;
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	width: 100%;
	max-width: 100%;
	gap: calc(1ch / 2);
}

.tm-button {
	border-radius: 3px;
	border-style: solid;
	border-width: 1px;
	cursor: pointer;
	display: inline-block;
	font-size: 13px !important;
	margin: 0;
	height: 30px;
	line-height: 28px !important;
	padding: 0 12px 2px !important;
	text-decoration: none;
	white-space: nowrap;
	background: none repeat scroll 0 0 #f7f7f7;
	border-color: #ccc;
	-webkit-box-shadow: 0 1px 0 #fff inset, 0 1px 0 rgba(0, 0, 0, 0.08);
	box-shadow: 0 1px 0 #fff inset, 0 1px 0 rgba(0, 0, 0, 0.08);
	color: #555;
	vertical-align: top;
}

.tm-button:hover {
	background: none repeat scroll 0 0 #fafafa;
	border-color: #999;
	color: #222;
}

.tc-hide-add-to-cart-button {
	display: none !important;
}

.tc-clearfix::after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hidden;
}

.tm-preloader-img {
	position: absolute !important;
	z-index: 2;
	opacity: 0.6;
}

button.tmicon {
	display: inline-block;
	left: auto !important;
	position: relative;
	right: auto !important;
	overflow: hidden;
	width: 30px !important;
	height: 30px !important;
	line-height: 30px !important;
	font-size: 14px;
	text-align: center;
	cursor: pointer;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	background: none;
	border: none;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

button.tmicon.delete {
	color: #ff4500;
	border-radius: 100%;
}

button.tmicon.delete:hover {
	color: #fff;
	background: #ff4500;
}

.pointereventsoff {
	pointer-events: none;
}

.tm-hide {
	visibility: hidden !important;
	padding: 0 !important;
	height: 0 !important;
	width: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	opacity: 0 !important;
}

.tm-show {
	display: block !important;
}

.tm-extra-product-options .tc-row.tm-show,
.tc-row.tm-show {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

@-webkit-keyframes appear {

	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes appear {

	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.appear {
	-webkit-animation-name: appear;
	animation-name: appear;
}

.tc-tabs {
	width: 100%;
}

.tc-tabs.tc-cell {
	margin-bottom: 0;
}

.has-scroll-arrows.tc-tab-headers {
	padding: 0;
	max-width: calc(100% - 4em - 1px) !important;
	left: 2em;
}

.tc-tabs-wrap .tc-row .tc-cell:last-of-type {
	margin-bottom: 0;
}

.tc-tab-headers-wrap {
	position: relative;
}

.tc-scroll-left-arrow,
.tc-scroll-right-arrow {
	position: absolute;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	display: none;
	cursor: pointer;
	padding: 0;
	line-height: 1;
	width: 1em;
	text-align: center;
	height: 100%;
	top: 0;
	z-index: 2;
}

.tc-scroll-left-arrow.scroll-arrow-show,
.tc-scroll-right-arrow.scroll-arrow-show {
	display: block;
	border: 1px solid;
	height: 100%;
	width: calc(2em + 1px);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.tc-scroll-left-arrow {
	left: 0;
}

.tc-scroll-right-arrow {
	right: 0;
}

.tc-scroll-left-arrow::before,
.tc-scroll-right-arrow::before {
	line-height: 1;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	top: 50%;
	padding: 0;
	margin: 0;
	position: absolute;
	left: 0;
	right: 0;
}

.tc-scroll-left-arrow::before {
	content: "\25C0";
}

.tc-scroll-right-arrow::before {
	content: "\25B6";
}

.tc-tab-headers {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-line-pack: center;
	align-content: center;
	gap: 1em;
	margin: 0;
	padding: 0;
	overflow: hidden !important;
	position: relative;
	width: 100%;
	min-height: 1px;
}

.tab-header {
	font-weight: 400;
	cursor: pointer;
	white-space: nowrap;
	padding: var(--tcgap);
	position: relative;
	margin: 0;
}

.tab-header.open {
	border-width: 1px 1px 0 1px;
	border-style: solid;
}

.tab-header.open::before,
.tab-header.open::after {
	content: "";
	display: block;
	position: absolute;
	border-bottom: 1px solid;
	bottom: 0;
	height: 0;
	width: 999em;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.tab-header.open::before {
	right: 100%;
}

.tab-header.open::after {
	left: 100%;
}

.tc-tab-content.tcwidth-100 {
	padding: var(--tcgap);
	border-width: 0 1px 1px 1px;
	border-style: solid;
}

.tc-tab-header {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.tab-header.open,
.tab-header.open:focus {
	font-weight: 700;
}


.woocommerce div.product .tm-extra-product-options .tc-epo-element-product-container-wrap .tc-epo-element-product-container-cart .tm-quantity-alt .quantity.tc-has-buttons,
.tm-extra-product-options .tc-epo-element-product-container-wrap .tc-epo-element-product-container-cart .tm-quantity-alt .quantity.tc-has-buttons {
	display: -webkit-inline-box !important;
	display: -ms-inline-flexbox !important;
	display: inline-flex !important;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	margin: 0;
}

.tc-has-buttons input[type="number"] {
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
	border-radius: 0 !important;
	font-size: 1em;
	max-width: 3em;
	text-align: center;
	width: 3em;
	display: inline-block;
	margin: 0;
	padding: 0.4em 0;
	min-width: unset;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	height: auto !important;
}

.tc-has-buttons input[type="number"]::-webkit-inner-spin-button,
.tc-has-buttons input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

@media (max-width: 549px) {

	.tc-has-buttons input[type="number"] {
		width: 2em;
	}
}

.tc-has-buttons .tc-qty-button {
	font-weight: 400;
	overflow: hidden;
	position: relative;
	text-transform: none;
	float: none !important;
	vertical-align: unset !important;
	padding: 0.618em 1em !important;
	line-height: 1;
	font-size: 1em;
	display: inline-block;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
}

.tc-has-buttons .tc-qty-button.minus {
	border-bottom-right-radius: 0 !important;
	border-right: 0 !important;
	border-top-right-radius: 0 !important;
}

.tc-has-buttons .tc-qty-button.plus {
	border-bottom-left-radius: 0 !important;
	border-left: 0 !important;
	border-top-left-radius: 0 !important;
}

.tc-active .tc-choice-button-selector {
	display: none;
}

/* 16. Theme fixes */

/* nielsen theme fix */

.tc-extra-product-options .sbHolder .sbSelector {
	background-color: #fff;
	height: 35px;
	padding: 5px 10px;
}

/* Aurum theme fix */

.tc-images-container .replaced-checkboxes + label::before,
.tc-images-container .replaced-radio-buttons + label::before,
.replaced-checkboxes + label.tm-epo-style::before,
.replaced-radio-buttons + label.tm-epo-style::before {
	display: none;
}

/* Salient minimal form fix */

body[data-form-style="minimal"] .tc-extra-product-options .minimal-form-input label {
	pointer-events: auto !important;
}

/* Woomart theme quick shop view fix */

.has-options .quick-shop-wrapper .woocommerce-variation-add-to-cart {
	display: block !important;
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

/* Elementor and theme fixes */
.tm-has-options :is(.elementor-widget-woocommerce-product-add-to-cart,
.tm-has-options .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
.tm-has-options .elementor-widget-wc-add-to-cart,
.tm-has-options .woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart,
.tm-has-options :is(.elementor-widget-woocommerce-product-add-to-cart,
.tm-has-options .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
.tm-has-options .elementor-widget-wc-add-to-cart,
.tm-has-options .woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form),
.thb-product-main-row .summary form.cart,
.woocommerce .oxy-woo-element div.product.tm-has-options .woocommerce-variation-add-to-cart,
.tm-has-options .fullwidth-button .cart:not(.variations_form),
.tm-has-options .fullwidth-button .woocommerce-variation-add-to-cart.variations_button,
.single-product div.product.tm-has-options form.cart,
.single-product div.product.tm-has-options .single-button-wrapper,
.single-product div.product.tm-has-options .entry-summary form.cart:not(.variations_form):not(.grouped_form),
.single-product div.product.tm-has-options .variations_button,
.woocommerce div.product.elementor.tm-has-options form.cart.variations_form .woocommerce-variation-add-to-cart,
.woocommerce div.product.elementor.tm-has-options form.cart:not(.grouped_form):not(.variations_form),
.woocommerce .oxy-woo-element div.product.tm-variations-only .woocommerce-variation-add-to-cart,
.tm-variations-only .fullwidth-button .cart:not(.variations_form),
.tm-variations-only .fullwidth-button .woocommerce-variation-add-to-cart.variations_button,
.single-product div.product.tm-variations-only form.cart,
.single-product div.product.tm-variations-only .single-button-wrapper,
.single-product div.product.tm-variations-only .entry-summary form.cart:not(.variations_form):not(.grouped_form),
.single-product div.product.tm-variations-only .variations_button,
.woocommerce div.product.elementor.tm-variations-only form.cart.variations_form .woocommerce-variation-add-to-cart,
.woocommerce div.product.elementor.tm-variations-only form.cart:not(.grouped_form):not(.variations_form) {
	-ms-flex-wrap: wrap !important;
	flex-wrap: wrap !important;
	max-width: 100%;
}

.tm-has-options .fusion-woo-cart .fusion-button-wrapper {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
