.nowrap {
	white-space: nowrap;
}

.quick-order--loading {
	opacity: .3;
	pointer-events: none;
}
.quick-order--warm-up .qo-table {
	display: none;
}
.quick-order--warm-up .quick-order-preloader {
	display: block;
}

/* Скелетон формы до инициализации Vue (повторяет габариты .qo-item) */
.quick-order-preloader {
	display: none;
	pointer-events: none;
	margin-bottom: 2rem;
}

.qo-skeleton-card {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	background: #f5f5f5;
	padding: 30px;
	border-radius: 16px;
	margin-bottom: 20px;
}
.qo-skeleton-card__params {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
@media (min-width: 940px) {
	.qo-skeleton-card__params {
		width: calc(50% - 16px);
	}
}
.qo-skeleton-row {
	display: flex;
	gap: 16px;
}
.qo-skel {
	display: block;
	height: 44px;
	border-radius: 8px;
	background: #e9e9e9;
	position: relative;
	overflow: hidden;
}
.qo-skel::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .6), transparent);
	animation: qo-skel-shimmer 1.3s ease-in-out infinite;
}
@keyframes qo-skel-shimmer {
	100% { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
	.qo-skel::after { animation: none; }
}
.qo-skel--field {
	flex: 0 0 170px;
	max-width: 170px;
}
.qo-skel--grow {
	flex: 1;
	max-width: none;
}
.qo-skel--upload,
.qo-skel--comment {
	flex: 0 0 160px;
	height: 128px;
}
.qo-skel--price {
	flex: 1;
	max-width: 220px;
	margin-left: auto;
}
.qo-skeleton-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}
.qo-skel--add {
	flex: 0 0 180px;
	height: 24px;
}
.qo-skel--total {
	flex: 0 0 280px;
	height: 48px;
}
@media (max-width: 780px) {
	.qo-skeleton-row {
		flex-direction: column;
	}
	.qo-skel--field,
	.qo-skel--grow,
	.qo-skel--upload,
	.qo-skel--comment,
	.qo-skel--price {
		flex: 0 0 auto;
		width: 100%;
		max-width: none;
		margin-left: 0;
	}
	.qo-skel--total {
		flex: 1;
	}
}

.qo-table {
	margin: 0 -5px;
}


.qo-item {
    display: flex;
    flex-wrap: wrap;
    background: #f5f5f5;
    padding: 30px;
    border-radius: 16px;
	gap: 16px;
	margin-bottom: 16px;
}

.qo-item:hover {
	z-index: 100;
}

.qo-item-label {
    color: #A3A3A3;
	padding: 12px;
    line-height: 1;
}

.qo-item--has-errors {
	background-color: cornsilk;
}

textarea.qo-comment-input {
	background: none;
	border: 2px solid #dadada;
}

.qo-item input[type="number"] {
	padding: 4px 12px;
	background: none;
	border: 2px solid #dadada;
	border-radius: 12px;
}

.qo-item-params {
    width: 50%;
}

.qo-item__col {
	flex: 0 0 100%;
	max-width: 100%;
}

.qo-item-params__row {
    display: flex;
    gap: 16px;
}

.qo-item-params__row:last-child {
	margin-bottom: 0;
}

.qo-item__col--category,
.qo-item__col--product,
.qo-item__col--material {
	flex: 0 0 100%;
	max-width: 100%;
	margin-bottom: 10px;
}

.qo-item__col--kelps {
	flex: 0 0 100%;
	max-width: 100%;
	margin-bottom: 10px;
}

.qo-item__col--sizes {
	flex: 0 0 25%;
	max-width: 25%;
}

/* Переключатель категорий в стиле Apple */

.qo-category-toggle__options {
    display: flex;
    background: #fff;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

.qo-category-toggle__option {
	flex: 1;
	position: relative;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 2;
}

.qo-category-toggle__option input {
	display: none;
}

.qo-category-toggle__label {
	display: block;
	padding: 7px 12px;
	text-align: center;
	font-size: 14px;
	line-height: 1;
	color: #a3a3a3;
	border-radius: 12px;
	transition: all 0.3s ease;
	position: relative;
	z-index: 3;
}

.qo-category-toggle__option--active .qo-category-toggle__label {
    color: #fff;
    background: #095EF7;
}

.qo-category-toggle__option:hover:not(.qo-category-toggle__option--active) .qo-category-toggle__label {
	color: #333;
}

/* Стили загрузчика в стиле основного калькулятора с ограничением 180px */
.qo-upload.qo-upload--simple {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 120px;
	border-radius: 12px;
	text-align: center;
	gap: 8px;
	position: relative;
	border: 2px solid #262626;
	background: transparent;
}

.qo-upload.qo-upload--simple .icon-upload {
	display: block;
	width: 32px;
	height: 32px;
	filter: brightness(0) saturate(100%);
}

.qo-upload.qo-upload--simple .qo-upload__title {
	color: #262626;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
}

/* Когда есть превью */
.qo-upload.qo-upload--simple.qo-upload--has-preview {
	border-color: #DADADA;
}

.qo-upload.qo-upload--simple.qo-upload--has-preview .icon-upload {
	display: none;
}

.qo-upload.qo-upload--simple.qo-upload--has-preview .qo-upload__labels {
	display: none;
}

.qo-item__col--ctrls {
	margin-bottom: 0;
}

.qo-comment-input,
.qo-item input,
.qo-item select {
	padding: 7px 12px;
	border-radius: 12px;
}

.qo-item input[type="number"] {
	-moz-appearance: textfield;
}
.qo-item input[type="number"]::-webkit-outer-spin-button,
.qo-item input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.qo-item select {
	width: 100%;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6,9 12,15 18,9"></polyline></svg>');
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 16px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	line-height: 1;
}

/* Выбранное значение - синий фон, белый текст, белая стрелочка */
.qo-item select.qo-select--selected:not(:disabled) {
	color: #fff;
	background-color: #095EF7;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6,9 12,15 18,9"></polyline></svg>');
}

/* Не выбранное значение - красный фон, белый текст, белая стрелочка */
.qo-item select.qo-select--empty:not(:disabled) {
	color: #fff;
	background-color: #ff3600;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6,9 12,15 18,9"></polyline></svg>');
}

/* Обертка для select с замочком */
.qo-select-wrapper {
	position: relative;
}

/* Поле с одним выбором (заблокировано) - иконка замочка */
.qo-item select.qo-select--locked:not(:disabled) {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="white"><path d="M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zM264 392c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48zm64-168H120v-72c0-57.3 46.7-104 104-104s104 46.7 104 104v72z"/></svg>') !important;
	background-size: 10px !important;
    background-position: right 12px center;
}

/* Подсказка для замочка */
.qo-lock-tooltip {
	position: absolute;
	z-index: 10;
	background: #fff;
	color: #000;
	width: 280px;
	padding: 20px;
	border-radius: 16px;
	line-height: normal;
	display: none;
	font-size: 14px;
	box-shadow: 0px 4px 40px 0px #0000001A;
	left: 30px;
	top: -22px;
}

/* Показываем подсказку при наведении на обертку с замочком */
.qo-select-wrapper--locked:hover .qo-lock-tooltip {
	display: block;
}
.qo-item input:disabled,
.qo-item select:disabled,
.qo-comment-input:disabled {
	color: #A3A3A3;
	opacity: 1;
}

.qo-item select:disabled {
	background-color: #fff !important;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23A3A3A3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6,9 12,15 18,9"></polyline></svg>') !important;
}
.qo-item .counts_cost {
	display: inline-block;
	font-size: 24px;
	line-height: 24px;
	white-space: nowrap;
}

.qo-item-discount {
	padding: 12px;
}

.qo-item-discount__value {
	background: #ADEB00;
    padding: 7px 12px;
    border-radius: 12px;
    color: #262626;
	margin-left: 10px;
}
.qo-item .custom_counts {
	padding-bottom: 0px;
	font-size: 12px;
	color: #000;
}

.qo-item-label {
	display: block;
	width: 100%;
	white-space: nowrap;
}
.qo-item__col--ctrls .qo-item-label {
	display: none;
}


.qo-item-size {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.qo-item-size__input {
	min-width: 42px;
}
/* Подсказки показываем только при ошибках (через класс has-warning) */
.qo-item-size__devide {
    display: inline-block;
	margin: 0 5px 4px 5px;
	font-size: 14px;
    line-height: 14px;
}

button.qo-btn.qo-btn--remove {
    color: #a3a3a3;
}

.qo-item-cost {
	position: relative;
}
.qo-item-cost__loader {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -11px, 0);
}
.qo-item-cost__loader-image {
	width: 30px;
	height: 20px;
	vertical-align: top;
}
.qo-item-cost--loading .counts_cost,
.qo-item-cost--loading .counts_percent {
	opacity: .4;
}
.qo-item-cost--loading .qo-item-cost__loader {
	display: block;
}

.qo-item__col--price .counts_cost {
    font-family: 'Bounded Variable', display;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    padding-left: 12px;
}

.qo-order-add-item,
.qo-order-clear-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 14px;
    border-radius: 16px;
    font-size: 16px;
    line-height: 1;
    transition: all 0.3s ease;
}

.qo-order-add-item {
	background-color: #085ef7;;
	color: #fff;
}

.qo-order-add-item:hover {
	background-color: #262626;
	color: #fff;
}

.qo-order-clear-all {
	background-color: #F5F5F5;
	color: #A3A3A3;
}

/* Иконка плюсика в рамке */
.qo-order-ctrls__icon--plus {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 6px;
    position: relative;
}
.qo-order-ctrls__icon--plus::before,
.qo-order-ctrls__icon--plus::after {
    content: '';
    position: absolute;
    background: currentColor;
}
.qo-order-ctrls__icon--plus::before {
    width: 10px;
    height: 2px;
}
.qo-order-ctrls__icon--plus::after {
    width: 2px;
    height: 10px;
}
.qo-order-ctrls__icon--img { width: 18px; height: 18px; display: inline-block; }
.qo-order-clear-all .fa-trash { font-size: 18px; }

.qo-order-clear-all:hover {
	color: #FF3600;
}

.qo-order-totals__label {
	text-align: right;
}
.qo-order-totals__summ {
	color: #000;
	font-size: 120%;
}


.qo-upload--invalid .qo-tooltip {
	display: block;
}
.qo-tooltip-container {
	position: relative;
	z-index: 15;
}
.qo-tooltip {
	display: none;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
.qo-tooltip__text {
	max-width: 100%;
    font-weight: 400;
    line-height: 1.4;
    color: #fff;
    text-align: left;
    padding: 10px 16px;
    border-radius: 16px;
    background-color: #ff3600;
    position: absolute;
    top: 6px;
    left: 0;
}
.qo-tooltip__text::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 13%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #ef5350 transparent;
}

.qo-tooltip--mini .qo-tooltip__text {
	max-width: none;
	padding: 10px 16px;
    line-height: 14px;
}
.qo-tooltip--mini .qo-tooltip__text::after {
	margin-left: -4px;
    border-width: 4px;
}

.has-warning + .qo-tooltip { display: block; }
.has-warning { border-color: #FF3600 !important; }
.has-warning.qo-item-size__input,
.has-warning.qo-item-count__input {
	border-color: red;
}

.qo-item-errors {
    margin-bottom: 10px;
    margin-top: 8px;
    margin-left: 28px;
	flex: 0 0 100%;
}

.qo-item-errors__item:not(:first-child) {
	margin-top: 5px;
}

/* Базовые стили загрузчика переопределены выше для qo-upload--simple */

.qo-upload.qo-upload--simple .qo-upload__input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	opacity: 0;
	cursor: pointer;
}

.qo-upload.qo-upload--simple .qo-upload__plate {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
	border-radius: 12px;
	pointer-events: none;
	border: none; /* Убираем дублирующую границу */
}

.qo-item-title {
    padding: 12px;
    line-height: 1;
}

.qo-upload__title,
.qo-upload__description {
	position: relative;
	z-index: 7;
}

.qo-upload__title {
	line-height: 1.2;
	color: #ff3600;
	text-align: center;
}
.box{
  border:1px dashed red;
  border:1px solid transparent;  
  border-image: repeating-linear-gradient(90deg, red 0 10px, transparent 10px 14px  ) 1 / 1px / 0 stretch; 
}
.qo-upload.qo-upload--simple.qo-upload--loading:before {
	content: '';
	position: absolute;
	z-index: 30;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 12px;
	background-color: rgba(255, 255, 255, 0.8);
}

.qo-upload.qo-upload--simple.qo-upload--loading .qo-upload__input {
	pointer-events: none;
}

.qo-upload--has-preview .qo-upload__labels,
.qo-upload--has-preview .qo-upload__input {
	display: none;
}

.qo-upload--in-cart.qo-upload--has-preview .qo-item-preview,
.qo-upload--in-checkout.qo-upload--has-preview .qo-item-preview {
	max-height: 100%;
}

.qo-upload--in-cart{
	flex-direction: column;
	gap: 4px;
	width: auto;
	height: 126px;
	justify-content: center;
	overflow: hidden;
}

.qo-upload--in-product {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	width: 100%;
	padding: 50px;
	border-radius: 0;
	text-align: center;
	align-items: center;
	gap: 10px;
}

.qo-upload.qo-upload--simple.qo-upload--in-product.qo-upload--has-preview {
	padding: 0;
}

.qo-upload.qo-upload--simple.qo-upload--disabled {
	pointer-events: none;
	border-color: #dadada;
	/* Пунктир — универсальный код «пока недоступно», не путается с кнопкой */
	border-style: dashed;
}

/* Замок + причина блокировки в зоне загрузки (формат не выбран). 2026-07-02 */
.qo-upload-lock {
	width: 24px;
	height: 24px;
	color: #A3A3A3;
}

.qo-upload__hint {
	font-size: 13px;
	line-height: 1.35;
	color: #A3A3A3;
	text-align: center;
}

.qo-upload.qo-upload--simple.qo-upload--disabled .qo-upload__title {
	color: #A3A3A3;
}

.qo-upload.qo-upload--simple.qo-upload--disabled .icon-upload {
	filter: brightness(0) saturate(100%) invert(64%) sepia(0%) saturate(0%) hue-rotate(158deg) brightness(96%) contrast(86%);
}

.qo-item__col--comment {
	gap: 12px;
	display: flex;
	flex-direction: column;
}

/* Стили для блока комментария */
.qo-comment-header {
    color: #a3a3a3;
    padding: 7px 12px;
    border-radius: 12px;
    background: #fff;
    line-height: 1;
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.qo-comment-header--uploaded {
	background: #095EF7;
	color: #fff;
	border-color: #095EF7;
}

.qo-comment-input {
	width: 100%;
	height: 88px;
	line-height: 16px;
	resize: none;
	font-family: inherit;
}

/* Цвет плейсхолдера в комментарии */
.qo-comment-input::placeholder { color: #A3A3A3; opacity: 1; }
.qo-comment-input::-webkit-input-placeholder { color: #A3A3A3; }
.qo-comment-input::-moz-placeholder { color: #A3A3A3; opacity: 1; }
.qo-comment-input:-ms-input-placeholder { color: #A3A3A3; }
.qo-comment-input::-ms-input-placeholder { color: #A3A3A3; }

.qo-upload.qo-upload--invalid {
	border-color: #ef5350;
}

.qo-upload.qo-upload--simple .qo-upload-remove {
	display: none;
	background: #FF3600;
	color: #fff;
	position: absolute;
	z-index: 20;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	padding: 4px 8px;
	border-radius: 6px;
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
	border: none;
}

.qo-upload-cancel {
  display: none;
  position: absolute;
  z-index: 40;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  padding: 5px 15px;
  box-shadow: 0  0 18px rgba(0,0,0,.5);
  cursor: pointer;
  font-size: 12px;
  line-height: 24px;
}

.qo-upload-cancel:before {
	content: '';
	display: inline-block;
	vertical-align: top;
	width: 16px;
	height: 16px;
	border-radius:  50%;
	border: 3px solid currentColor;
	margin: 4px 9px 0 0;
	border-color: #fff rgba(255,255,255,0.5) rgba(255,255,255,0.5) rgba(255,255,255,0.5);

	animation-name: spin-loading;
	animation-duration: 1s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}


.qo-upload--loading .qo-upload-cancel {
   display: inline-block;
}
.qo-upload.qo-upload--simple.qo-upload--has-preview .qo-upload-remove {
	display: none;
}

.qo-upload.qo-upload--simple.qo-upload--has-preview:hover .qo-upload-remove {
	display: inline-block;
}

.qo-upload.qo-upload--simple.qo-upload--has-preview:hover {
	background: rgba(38, 38, 38, 0.1);
}

.qo-upload.qo-upload--simple.qo-upload--has-preview:hover .qo-item-preview__thumb {
	opacity: 0.6;
}

.qo-upload.qo-upload--simple .qo-upload-remove:hover {
	background: #d32f2f;
}

.qo-upload--loading .qo-upload-remove {
  display: none;
}

.qo-upload.qo-upload--simple .qo-item-preview {
	display: none;
	width: 100%;
	height: 100%;
}

.qo-upload.qo-upload--simple.qo-upload--has-preview .qo-item-preview {
	display: flex;
	align-items: center;
	justify-content: center;
}

.qo-upload.qo-upload--simple .qo-item-preview__thumb {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}

/* Старые стили qo-upload--quick-order удалены, используем qo-upload--simple */

.woocommerce-order-details .qo-upload {
	width: 130px;
}
.woocommerce-order-details .qo-item-preview {
	min-height: 0;
	height: auto;
}

/* Старые стили qo-comment-input переопределены выше в новой структуре */

.qo-btn {
	appearance: none;
	background: none;
	border: none;
	padding: 6px;
	cursor: pointer;
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.qo-btn img { width: 22px; height: 22px; display: block; }
.qo-btn .qo-icon--hover { display: none; }
button.qo-btn.qo-btn--clone:hover .qo-icon--default { display: none; }
button.qo-btn.qo-btn--clone:hover .qo-icon--hover { display: block; }

.qo-btn i {
	font-size: 22px;
	display: block;
	line-height: 1;
}

button.qo-btn.qo-btn--clone:hover {
	color: #095EF7;
	background-color: #F5F5F5;
}

/* Подпись для кнопки дублирования на мобильных */
.qo-btn__label { display: none; margin-left: 8px; }
@media (max-width: 780px) {
    .qo-btn.qo-btn--clone { display: inline-flex; align-items: center; }
    .qo-btn.qo-btn--clone .qo-btn__label { display: inline-block; color: #A3A3A3; }
}

button.qo-btn.qo-btn--remove:hover {
	color: #FF3600;
	background-color: #F5F5F5;
}

.qo-item-ctrls {
	display: flex;
	gap: 6px;
	align-items: center;
	justify-content: flex-start;
}

.qo-table__foot {
	padding-left: 5px;
	padding-right: 5px;
}

.qo-order-ctrls{
	display: flex;
	gap: 20px;
	flex-direction: column;
}

/* Инфо-блок под кнопками добавления/очистки */
.qo-order-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
	padding: 0 30px;
}
.qo-order-info__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #262626;
    font-size: 14px;
    line-height: 1.3;
}
.qo-order-info__item .fa-info-circle {
	color: #A3A3A3;
    font-size: 16px;
    line-height: 1;
}
@media (max-width: 780px) {
	.qo-item {
		padding: 20px 16px;
		margin-bottom: 16px;
	}

    .qo-order-info {
        grid-template-columns: 1fr;
		padding: 0 0 16px;
		gap: 12px;
    }

	.qo-order-ctrls {
		gap: 16px;
	}
}

.qo-order-totals {
    font-size: 24px;
    font-family: 'Bounded Variable', display;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

/* Общий блок: Итого + Кнопка */
.qo-order-summary {
    background: #F5F5F5;
    padding: 30px;
    border-radius: 16px;
    display: flex;
	flex-direction: column;
    justify-content: space-between;
}
@media (max-width: 780px) {
    .qo-order-summary {
		padding: 20px 16px;
    }
    .qo-order-checkout { text-align: left; }
    .quick-order .qo-order-checkout-button { width: 100%; }
	.qo-item-ctrls { justify-content: space-between; }
}

.quick-order .qo-order-checkout-button {
    display: block;
    font-family: 'Bounded Variable', display;
    width: 100%;
    font-size: 22px;
    line-height: 18px;
    font-weight: 400;
    padding: 12px;
    margin-top: 34px;
}
.quick-order .qo-order-checkout-button__preloader {
	width: 18px;
	height: 18px;
	vertical-align: top;
	margin-right: 6px;
	margin-top: 1px;
	margin-bottom: -1px;
}

.quick-order .qo-order-checkout-button:disabled {
    background-color: #dadada;
    color: #A3A3A3;
    pointer-events: none;
}


.woocommerce-mini-cart-item .qo-upload {
	float: left;
	width: 70px;
	padding: 0;
	border: none;
	margin-right: 20px;
}
.woocommerce-mini-cart-item .qo-item-preview {
	max-height: 80px;
}
.woocommerce-mini-cart-item .qo-item-preview .qo-item-preview__thumb {
	margin-bottom: 0;
}

@-webkit-keyframes spin-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


/* Мобильная/адаптивная версия: до 780px все элементы в столбик */
@media (max-width: 780px) {
    .qo-item-params { width: 100%; }
    .qo-item-params__row { flex-direction: column; gap: 0px; }
    .qo-item__col--category,
    .qo-item__col--product,
    .qo-item__col--material,
    .qo-item__col--kelps,
    .qo-item__col--sizes,
    .qo-item__col--count,
    .qo-item__col--upload,
    .qo-item__col--comment,
    .qo-item__col--price,
    .qo-item__col--ctrls {
        flex: 0 0 100%;
        max-width: 100%;
    }

	.qo-item__col--kelps, .qo-item__col.qo-item__col--sizes {
		margin-bottom: 8px;
	}

	.qo-item__col--category, .qo-item__col--product, .qo-item__col--material {
		margin-bottom: 8px;
	}

	.qo-category-toggle__label {
		padding: 12px;
	}

	.qo-item-label {
		padding: 8px;
	}

	.qo-comment-input, .qo-item input, .qo-item select {
		padding: 12px;
	}


	.qo-item input[type="number"] {
		padding: 7px 12px;
	}

	.qo-comment-header {
		padding: 7px 12px;
	}

    /* Растягиваем загрузчик на всю ширину */
    .qo-upload.qo-upload--simple {
        width: 100%;
        height: 128px; /* сохраняем визуальную высоту */
    }
    .qo-upload.qo-upload--simple .qo-upload__title {
        width: 100%;
    }

    /* Растягиваем название файла (в заголовке комментария) */
    .qo-comment-header {
        max-width: 100%;
    }

    /* Растягиваем блок размеров и инпуты */
    .qo-item-size {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 8px;
    }
    .qo-item-size__input-wrap { width: 100%; }
    .qo-item-size__input { width: 100%; }

	.qo-item-cost {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

	.qo-item-discount {
		padding: 0;
		margin: -4px 0 0 0;
	}

	.qo-item-discount__value {
		padding: 5px 8px;
	}

	.qo-item-cost__loader {
		margin-top: 0;
	}
}

@media (min-width: 940px) {
	.qo-item {
		position: relative;
		align-items: flex-start;
	}

	.qo-item-params__row {
		margin-bottom: 20px;
		margin-top: -12px;
	}

	.qo-item__col--price{
		margin-top: -12px;
	}

	.qo-item__col--category {
		flex: 0 0 175px;
		max-width: 175px;
		margin-bottom: 0;
	}

	.qo-item__col--product {
		flex: 0 0 170px;
		max-width: 170px;
		margin-bottom: 0;
	}

	.qo-item__col--material {
		flex: 1;
		margin-bottom: 0;
	}

	.qo-item__col--kelps {
		flex: 0 0 175px;
		max-width: 175px;
		margin-bottom: 0;
	}

	.qo-item__col--sizes {
		flex: 0 0 170px;
		max-width: 170px;
	}
	
	.qo-item__col--count {
		flex: 1;
	}

	.qo-item__col--upload {
		flex: 0 0 50%;
		max-width: 50%;
	}

	.qo-item__col--comment {
		flex: 0 0 50%;
		max-width: 50%;
	}

	.qo-item__col--price {
		max-width: 100%;
		flex: 1;
	}

	.qo-item__col--ctrls {
		padding-top: 14px;
		flex:  0 0 12%;
		max-width: 12%;
	}

	.qo-order-summary {
		width: 380px;
	}

	.qo-upload.qo-upload--quick-order {
		padding: 6px 10px;
	}
	.qo-upload--quick-order .qo-upload__title {
		font-size: 16px;
		line-height: 16px;
	}

	.qo-upload--quick-order.qo-upload--has-preview {
		padding: 5px;
	}

	.qo-item-ctrls {
		justify-content: flex-end;
		gap: 12px;
	}

	.qo-table__foot {
		display: flex;
    	flex-wrap: wrap;
		gap: 20px;
	}
	.qo-order-ctrls {
		flex: 1;
	}



	/* Адаптивные стили для загрузчика на мобильных */
	.qo-upload.qo-upload--simple {
		width: 100%;
		height: 128px;
	}

	.qo-upload.qo-upload--simple .icon-upload {
		width: 28px;
		height: 28px;
	}

	.qo-upload.qo-upload--simple .qo-upload__title {
		font-size: 13px;
	}

	/* Адаптивные стили для комментария на мобильных */
	.qo-item__col--upload {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.qo-item__col--comment {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (min-width: 1199px) {

	.qo-table {
		margin-left: -3px;
		margin-right: -3px;
	}

	.qo-item__col--upload {
		flex: 0 0 160px;
		max-width: 160px;
	}
	
	.qo-item__col--comment {
		flex: 0 0 160px;
		max-width: 160px;
	}

	.qo-item__col--ctrls {
		max-width: 72px;
		padding-top: 0;
	}

	/* Старые стили для qo-item__col--comment удалены, используется новая структура */

	.qo-item {
		position: relative;
		margin-bottom: 20px;
	}

	.qo-item-size__devide {
		margin-left: 3px;
		margin-right: 3px;
	}

	.qo-item-label {
		display: block;
	}

	.qo-btn {
		padding: 0;
	}
	
	.qo-btn img {
		width: 18px;
		height: 18px;
	}
	
	.qo-btn i {
		font-size: 18px;
	}
	
	/* Адаптивные стили для подсказки замочка */
	.qo-lock-tooltip {
        width: 280px;
        padding: 16px;
        left: 190px;
        top: -10px;
        z-index: 9999;
	}
}
