/*26.05.2025 overland.by*/
body {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	background: #f0f2f5;
	margin: 0;
	padding: 20px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	min-height: 100vh;
	background-attachment: fixed;
	background-image: url('https://freebynet.ru/im/background-photo-road.jpg');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;  
}
	
/*Окно калькулятора*/
.calculator {
	background-color: rgba(255, 255, 255, 0.8); /* Полупрозрачный фон */
	max-width: 480px;
	width: 100%;
	padding: 30px 25px 40px 25px;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

/*Названия*/
label {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
	font-size: 16px;
	cursor: pointer;
}
label input[type="checkbox"] {
	margin-right: 10px;
	width: 18px;
	height: 18px;
	cursor: pointer;
}

/*Впадающий список*/
select {
	width: 100%;
	padding: 10px 12px;
	font-size: 16px;
	border-radius: 6px;
	border: 1.5px solid #ccc;
	outline-color: #3498db;
	transition: border-color 0.3s ease-in-out;
}

select:hover,
select:focus {
	border-color: #3498db;
}

/*Рамка вокруг текста с опциями*/
fieldset {
	border-radius: 6px;
	border: 1.5px solid #808080;
	padding: 15px 20px 20px 20px;
	margin-top: 15px;
}

/*Оформление заголовока в fieldset*/
legend {
	font-weight: bold;
	font-size: 18px;
	padding-left:8px; 
}

.total {
	margin-top:30px; 
	font-size:22px; 
	font-weight:bold; 
	text-align:center; 
	color:#27ae60; 
}

/*Меню опций*/
/* Обертка для каждой опции */
.option-label {
	display: block;
}

/* Обертка для чекбокса и текста */
.option-wrapper {
	display: flex;
	align-items: center;
}

/*Обертка для цены и имени*/
.option-text {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-left: 8px; /* при необходимости */
}

.option-name {
	font-weight: normal;
	font-size: 14px;
}

.option-price {
	font-weight: bold;
	font-size: 14px;
	color:#888;
}

/*Оформление итоговой цены*/
#totalPrice {
	color: #85bb65; /* зеленый цвет 4caf50 - 4fc3f7*/
	font-size :22px ;
}
/*Обертка для базовой комплектации*/
.detail-line {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px; /* по желанию, для отступа между строками */
}

/*Оформление кнопки заказать*/
#orderBtn {
	display:block; 
	margin-top:30px; 
	width:100%; 
	padding:12px; 
	font-size:18px; 
	background:#3498db; 
	color:#fff; 
	border:none; 
	border-radius:6px; 
	cursor:pointer; 
	transition: background-color 0.3s ease-in-out;
	transition-property: background-color, box-shadow; /* для плавности */
	transition-duration:.3s ;
	box-shadow:none ;
}
#orderBtn:hover,
#orderBtn:focus {
	background:#2980b9 ;
	box-shadow :0 4px 12px rgba(41,128,185,.5);
	outline:none ;
}

/*Блок базовой цены*/
#truckDetails {
	/*margin-top: 10px;*/
	/*padding: 10px;*/
	/*background-color: #f0f0f0;*/
	/*border-radius: 4px;*/
}
  
/* Скрытые блоки по умолчанию */
#optionsSection, #totalPriceSection, #orderSection, #truckDetails {
	display: none;
	/*margin-top: 10px;*/
}
		
input, textarea{
	display: block;
	height: 30px;
	
	width: calc(100% - 20px);
	background-color: rgba(255,255,255,0.67); /* 0.37*/
	border-radius: 5px;
	padding: 0 10px;
	margin-top: 8px;
	color: #000;
	font-size: 16px;
	font-weight: 300;
}
textarea{
resize: none; 
	display: block;
	height: 50px;
	
	width: calc(100% - 20px);
	background-color: rgba(255,255,255,0.67); /* 0.37*/
	border-radius: 5px;
	padding: 0 10px;
	margin-top: 8px;
	color: #000;
	font-size: 16px;
	font-weight: 300;
}

input[type="text"]:focus, 
input[type="date"]:focus, 
input[type="password"]:focus,
select:focus, 
textarea:focus {
	border-color: #007bff; /* Цвет рамки при фокусе */
	outline: none; /* Убираем стандартное обводка при фокусе */
}
		
::placeholder{
    color: #000; /*#e5e5e5*/
	font-size: 16px;
}

/*Оформление кнопки заказать*/
button {
	display:block; 
	margin-top:30px; 
	width:100%; 
	padding: 12px 0; /* Отступы сверху и снизу по 15px, слева и справа - 0 */
	font-size:18px; 
	font-weight: 600; /* Полужирный текст */
	background:#3498db; 
	color:#fff; 
	border:none; 
	border-radius:6px; 
	cursor:pointer; 
	transition: background-color 0.3s ease-in-out;
	transition-property: background-color, box-shadow; /* для плавности */
	transition-duration:.3s ;
	box-shadow:none ;
	user-select: none; /*убрать возможность выделения текста*/
}
button:hover,
button:focus {
	background:#2980b9 ;
	box-shadow :0 4px 12px rgba(41,128,185,.5);
	outline:none ;
}

h1 {
	text-align: center;
	margin-bottom: 32px;
	color: #2c3e50;
}

h2 {
	text-align: center;
	margin-bottom: 24px;
	color: #2c3e50;
}

form h3{
	font-size: 32px;
	font-weight: 600;
	line-height: 42px;
	text-align: center;
}

#error-notification {
	display: none;
	position: fixed;
	width: 40%;
	top: 0px;
	left: 50%; /* Центрируем по горизонтали */
	transform: translateX(-50%); /* Сдвигаем на половину ширины для точного центрирования по горизонтали */
	font-size: 20px; /* Увеличиваем шрифт до 25px */
	text-align: center; /* Центрирование текста */
	color: white;
	padding: 10px;
	border-radius: 10px;
	z-index: 1000;
	animation: fadeIn 0.5s; /* Эффект появления */
}


#error-notification.success {
	background-color: #4CAF50; /* зеленый */
	color: white;
}

#error-notification.error {
	background-color: #f44336; /* красный */
	color: white;
}

#error-notification.visible {
	display: block;
}

/* Пританированный фон под модальным окном */
#thankYouModal,
.modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

#thankYouModal-content,
.modal-content {
	background-color: rgba(255, 255, 255, 0.9); /* Полупрозрачный фон */
	padding: 20px;
	border-radius: 10px;
	max-width: 480px;
	width: 100%;
	position: relative; /*для крестика*/
}

#thankYouModal-text {
	font-size: 18px;
	line-height: 1.5;
}
/*Текст над окнами, формами*/
.labeltext {
	font-weight: bold;
	font-size: 16px;
	line-height: 1.5;
}

.social{
	margin-top: 30px;
	text-align: center;
}

a {
	text-decoration: none; /* Убираем подчеркивание для всех ссылок */
}

/*Overland.by*/
a .line{
	color:#000;
	font-size:14px;
	text-align: center;
}

/* Стиль для контейнера, если нужен */
#closeModal,
#closeModalthankYou {
	position: absolute;
	top: 10px;
	right: 15px;
	cursor: pointer;
	font-size: 24px;
}

/* Создаем псевдоэлемент для подсказки */
.close-tooltip::after {
	content: "Закрыть"; /* текст подсказки */
	position: absolute;
	bottom: 125%; /* чуть выше крестика */
	right: 0;
	background-color: #CCC;/* фон подсказки */
	color: #000; /*Цвет текста */
	padding: 5px 8px;
	border: 1.5px solid #000;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none; /* чтобы не мешать кликам */
	transition: opacity 0.3s;
}

/* Показываем подсказку при наведении */
#closeModal:hover::after,
#closeModalthankYou:hover::after {
	opacity: 1;
}

/* Адаптив для экранов до 480px (смартфоны) */
@media (max-width: 480px) {
body { background-image: url(../im/background-photo-road-min767.jpg); /* Местоположение фоновой картинки */ 
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
  
/* Увеличим размеры элементов */
select#model {
	width: 100%;
	font-size: 1.2rem;
	padding: 12px;
	margin-bottom: 20px;
}

fieldset#optionsFieldset {
	padding: 10px;
	margin-bottom: 20px;
}

fieldset#optionsFieldset legend {
	font-size: 1.4rem;
	margin-bottom: 15px;
	text-align: center;
}

/* Располагаем опции вертикально с увеличенными чекбоксами */
#optionsFieldset label {
	padding: 15px 12px;
	font-size: 1.2rem;
	border-radius: 6px;
	margin-bottom: 12px;
	cursor:pointer; 
	transition: background-color .3s ease-in-out, box-shadow .3s ease-in-out;
	/* Сделать всю метку кликабельной, цена не выравнивается с этими элементами */
	/*display:flex; */
	/*justify-content: space-between;*/
	/* align-items: center;*/
}

/*убрал hover что бы выделение не оставалось когда снимаешь чекбокс*/
/* #optionsFieldset label:hover,*/
#optionsFieldset label.active:hover {
	background-color: #e0f0ff; /* светлый фон при наведении */
	box-shadow: inset -4px -4px rgba(0,0,0,0.05);
}
  
/* Убирает рамки и подсветку при фокусе и активном состоянии */
#optionsFieldset label:focus {
	outline: none;
	box-shadow: none;
}

#optionsFieldset input[type=checkbox] {
	width: 24px;
	height:24px;
	margin-right:15px; /* Отступ справа для чекбокса */    
	/* Чтобы чекбокс был слева */
	/*	order:-1; */
	/*	  flex-shrink:0; */
	/* Можно добавить pointer-events если нужно */
	cursor:pointer; 
	vertical-align: middle; 
	align-self:center; 
}

#orderBtn {
	width:100%;
	padding:15px;
	font-size:1.2rem;
	border-radius:8px;
	/* Тень для кнопки убрана*/
	box-shadow:none;
	transition:
		background-color .3s ease-in-out,
		box-shadow .3s ease-in-out,
		transform .2s ease-in-out;
}

#orderBtn:active {
	transform: scale(0.98);
}

#orderBtn:hover:not(:disabled) {
	background-color:#0056b3; /* чуть темнее при наведении */
	box-shadow:
		0 -2px #004494 inset,
		0 -4px #003366 inset,
		0 -6px #002244 inset;
	transform:none; /* отключаем сдвиг на мобильных для стабильности */
}

/*Если кнопка отключена*/
#orderBtn[disabled] {
	cursor:not-allowed !important;
	background-color:#ccc !important;	
	color:#666 !important;	
	box-shadow:none !important;	
}

/* Итоговая цена — центрируем и увеличиваем шрифт */
#totalPriceSection #totalPrice {
	display:block;
	font-size:2rem !important;
	text-align:center !important;
	margin-top:.5em !important;
}

.option-name {
	max-width: calc(100% - 40px); /* оставляем место для цены занимает около 80px */
	font-size:16px; /* при необходимости */
}

.option-price {
	font-size:14px; /* при необходимости */
	margin-left:auto; /* чтобы цена была справа */
}

}