/* Для Chrome, Edge, Opera, Vivaldi */
.quantity-input::-webkit-inner-spin-button,
.quantity-input::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0;
}

/* Для Safari (иногда помогает) */
.quantity-input {
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
}

/* Для Firefox */
.quantity-input {
  -moz-appearance: textfield !important;
}

/* На фокусе и hover */
.quantity-input:hover,
.quantity-input:focus {
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
  outline: none;
}

        .config-section {
            margin-bottom: 30px;
    background-color: rgba(29, 26, 26, 0.64);
    border: 1px solid #282A2B;
            padding: 20px;

        }
		
        .config-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
			padding-top: 10px;
            padding-right: 15px;
			padding-bottom: 10px;
            padding-left: 15px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 10px;
			

        }

        .config-item:hover {
            background: rgba(0, 200, 255, 0.1);
        }
		
        .item-description {
            flex: 1;
            margin-right: 15px;
            line-height: 1.4;
			color: #00C8FF;
        }

        .item-controls {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .quantity-control {
            display: flex;
            align-items: center;
            gap: 10px;
        }
		
       .quantity-btn {
            width: 35px;
            height: 35px;
            border: none;
            border-radius: 50%;
            background: #3f5057;
            color: white;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .quantity-btn:hover {
            background: #0099CC;
            transform: scale(1.1);
        }

        .quantity-input {
            width: 60px;
            height: 35px;
            text-align: center;
            border: 1px solid #00C8FF;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.1);
            color: white;
            font-weight: bold;
        }
.quantity-input { direction: rtr; text-align: center; }
.quantity-input::placeholder { color: white; }
.quantity-input:focus::placeholder { opacity: 0; }
        .price-display {
            font-weight: bold;
            color: #00FF64;
            font-size: 1em;
            min-width: 80px;
            text-align: right;
        }
		
		
		.sub-option .price-display{
    padding-right: 15px;
}

        .item-price {
            color: #FFA500;

            /* margin-left: 10px; */
        }

        .total-section {
            position: sticky;
            bottom: 1px;
background: url(../img/cart.jpg);

    border: 1px solid #282A2B;
            padding: 16px 5px 16px 5px;

            text-align: center;
            font-size: 1.2em;
			color: orange;
			
			display: grid;
    grid-template-columns: auto 140px 180px;
  justify-content: center;
      z-index: 11000;
        }
		
		.total-section-price{
		height: 100%;

  align-content: center;
			margin-bottom: 15px;
		}

        .section-title {
            color: #00C8FF;
            font-size: 1.25em;
            margin-bottom: 15px;
            text-align: center;
          
        }

        .reset-btn {
            
            color: rgb(0, 255, 255);
            border: 1px solid #282A2B;
            padding: 10px 20px;
            border-radius: 5px;
            cursor: pointer;
            margin-left: 20px;
            transition: .4s;
			width: 120px;
        }

        .reset-btn:hover {
	background: rgba(255, 255, 255, 0.05) !important;
color: #FF3000 !important;
        }

        .sub-option {
            margin-left: 20px;
            margin-top: 10px;
            display: grid;
            grid-template-rows: 38px;
            background: rgba(255, 255, 255, 0.03);
            border-left: 3px solid #00C8FF;
            border-radius: 0 8px 8px 0;
			color: #0FF;
        }
		
		.sub-option:not(:has(+ .sub-option)) {
		  margin-bottom: 15px;
		}
		
		.sub-option strong{
			color: yellow;
			font-weight: 100;
			display: grid;
			align-items: center;
			padding-left: 10px;
		}
		
		.sub-option span{
		padding-left: 4px;
		}
		
/* Базовый бокс */
.sub-option input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border: 2px solid #00C8FF;
  border-radius: 4px;                   /* квадрат/скругление */
  background: rgba(255,255,255,0.04);   /* лёгкий фон под тёмную тему */
  display: inline-grid;
  place-content: center;
  cursor: pointer;
  transition: border-color .15s, background .15s, box-shadow .15s;
}

.sub-option input[type="checkbox"]:hover{
  box-shadow: 0 0 6px rgba(0,200,255,.35);
}

/* Состояние checked — заливаем и показываем «галку» квадратом (минималистично) */
.sub-option input[type="checkbox"]::before{
  content: "";
  width: 10px;
  height: 10px;
  transform: scale(0);
  transition: transform .12s ease-in-out;
  background: #00FF64;                  /* цвет «галки»/заливки */
  border-radius: 2px;
}

.sub-option input[type="checkbox"]:checked{
  border-color: #00C8FF;
  background: rgba(0,200,255,0.12);
}

.sub-option input[type="checkbox"]:checked::before{
  transform: scale(1);
}

/* Фокус (можно убрать совсем, если не нужен) */
.sub-option input[type="checkbox"]:focus{
  outline: none;
  box-shadow: 0 0 6px rgba(0,200,255,.6);
}
		
button {
    list-style: none;
	
    text-align: center;
    background-color: rgba(29, 26, 26, .64);
    border: 1px solid #282a2b;
    border-radius: 4px;
    cursor: pointer;
    font: 14px Tahoma;
    color: #0ff;
}

button:hover{
    background: #35576D;
}

/* Адаптивный дизайн для узких экранов */
@media (max-width: 745px) {
	
	.config-section{
		display: grid;
	}
	
    .config-item {
        flex-direction: column;
        align-items: flex-start;
		
    }

    .item-description {
        margin-right: 0;
        width: 100%;
        margin-bottom: 10px;
		text-align: center;
    }

    .item-controls {
        width: 100%;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
    }

    .quantity-control {
        order: 1;
        flex: 1;
        justify-content: center;
        min-width: 200px;
    }

    .price-display {
        order: 2;
        text-align: center;
        width: 100%;
        font-size: 1.1em;
       /* margin-top: 5px;*/
    }
	
	.sub-option{
		width: 100%;
		margin-left: 0;
		        padding: 5px;
        
		        grid-template-rows: auto;
	}

    .sub-option .price-display {
        padding-right: 0;
    }

    /* Увеличиваем кнопки для удобства на мобильных */
    .quantity-btn {
        width: 40px;
        height: 40px;
    }

    .quantity-input {
        width: 70px;
        height: 40px;
    }
	

}

@media (max-width: 650px) {
		.total-section{
		display: flex;
		flex-direction: column;
		        align-items: center;
        grid-template-columns: auto;
 
	}
	
	.total-section-price{
		display:grid;
        grid-template-columns: auto auto;
	justify-content: center;
		grid-column-gap: 5px;
	}
	
	.total-section button{
		margin-left: 0 !important;
		width: 190px;
	}
	
	
	.total-section button:last-child{
		margin-top: 6px !important;
	}	
}

@media(max-width: 546px){
	.sub-option{
		grid-template-rows: auto;
		        padding: 5px;
        text-align: center;
	}
	
	label{
		grid-template-columns: auto !important;
		justify-content: center;
		text-align: center;
		padding: 6px;
	}
}



/* Для очень узких экранов */
@media (max-width: 480px) {
    .config-section {
        margin-bottom: 20px;
        padding: 15px;
    }

    .config-item {
        padding: 12px;
    }

    .total-section {
        padding: 12px 5px;
        font-size: 1.1em;
    }

    .reset-btn {
        margin-left: 10px;
        padding: 8px 15px;
    }

    .quantity-control {
        min-width: 180px;
    }
}


/*
.config-item .popup-btn,
.config-item.popup-active .popup-btn {
  display: none;
}

.config-item:hover .popup-btn,
.config-item .popup-btn:hover,
.config-item .popup-btn.popup-active {
  display: block;
}

*/ 