/* делаем везде так, чтобы свойства width и height задавали не размеры контента, а размеры блока */
.wheel_body, .wheel_body * {
	box-sizing: border-box;
}

.wheel_text{
	margin:20px 25px;
}
.wheel_text p{
	margin:5px 0;
}

/* общие настройки страницы */
.wheel_body {
	/* подключаем сетку */
	display: grid;
	/* ставим всё по центру */
	place-items: center;
	/* если что-то не помещается на своё место — скрываем то, что не поместилось */
	/*overflow: hidden;*/
	margin-top:30px;
}

/* общий блок для всех элементов */
.deal-wheel {
	/* задаём переменные блока */
	/* размеры колеса */
	--size: clamp(250px, 80vmin, 700px);
	/* настройки яркости и заливки фона секторов */
	--lg-hs: 0 3%;
	--lg-stop: 50%;
	--lg: linear-gradient(
			hsl(var(--lg-hs) 0%) 0 var(--lg-stop),
			hsl(var(--lg-hs) 20%) var(--lg-stop) 100%
	);
	/* добавляем позиционирование относительно других элементов */
	position: relative;
	/* подключаем сетку */
	display: grid;
	grid-gap: calc(var(--size) / 20);
	/* выравниваем содержимое блока по центру */
	align-items: center;
	/* задаём имена областей внутри сетки */
	grid-template-areas:
	"btn-spin"
    "spinner"
    "trigger";
	/* устанавливаем размер шрифта */
	font-size: calc(var(--size) / 30);
}

/* всё, что относится ко внутренним элементам главного блока, будет находиться в области сетки с названием spinner */
.deal-wheel > * {
	grid-area: spinner;
}

/* сам блок и кнопка будут находиться в области сетки с названием trigger и будут выровнены по центру */
.deal-wheel .btn-spin {
	grid-area: btn-spin;
	justify-self: center;
	background:
			linear-gradient(17deg, rgba(255, 0, 0, 0.8), rgba(255, 0, 0, 0) 70.71%),
			linear-gradient(127deg, rgba(0, 255, 0, 0.8), rgba(0, 255, 0, 0) 70.71%),
			linear-gradient(236deg, rgba(0, 0, 255, 0.8), rgba(0, 0, 255, 0) 70.71%);
	box-shadow:0 0 5px 5px rgba(0,0,0,0.2);
	cursor:pointer;
}
.deal-wheel .btn-spin:hover {
	box-shadow:0 0 8px 8px rgba(0,0,0,0.2);
}

/* сектор колеса */
.spinner {
	/* добавляем относительное позиционирование */
	position: relative;
	/* подключаем сетку */
	display: grid;
	/* выравниваем всё по центру */
	align-items: center;
	/* добавляем элемент в сетку */
	grid-template-areas: "spinner";
	/* устанавливаем размеры */
	width: var(--size);
	height: var(--size);
	/* поворачиваем элемент  */
	transform: rotate(calc(var(--rotate, 25) * 1deg));
	/* рисуем круглую обводку, а всё, что не поместится, — будет скрыто за кругом */
	border-radius: 50%;
}

/* всё, что внутри этого блока, будет находиться в области сетки с названием spinner */
.spinner * {
	grid-area: spinner;
}

/* текст на секторах */
.prize {
	/* включаем «гибкую» вёрстку */
	display: flex;
	align-items: center;
	/* задаём отступы от краёв блока */
	padding: 0 calc(var(--size) / 10) 0 calc(var(--size) / 60);
	/* устанавливаем размеры */
	width: 50%;
	height: 50%;
	/* устанавливаем координаты, относительно которых будем вращать текст */
	transform-origin: center right;
	/* поворачиваем текст */
	transform: rotate(var(--rotate));
	/* запрещаем пользователю выделять мышкой текст на секторах */
	user-select: none;
}

/* язычок */
.ticker {
	/* добавляем относительное позиционирование */
	position: relative;
	/* устанавливаем размеры */
	left: calc(var(--size) / -15);
	width: calc(var(--size) / 10);
	height: calc(var(--size) / 20);
	/* фон язычка */
	background: var(--lg);
	/* делаем так, чтобы язычок был выше колеса */
	z-index: 1;
	/* форма язычка */
	clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 50%);
	/* устанавливаем точку, относительно которой будет вращаться язычок при движении колеса */
	transform-origin: center left;
}

/* кнопка запуска колеса */
.btn-spin {
	color: white;
	background: black;
	border: none;
	/* берём размер шрифта такой же, как в колесе */
	font-size: inherit;
	/* добавляем отступы от текста внутри кнопки */
	padding: 0.9rem 2rem 1rem;
	/* скругляем углы */
	border-radius: 0.5rem;
	/* меняем внешний вид курсора над кнопкой на руку*/
	cursor: pointer;
}

/* если кнопка нажата и неактивна */
.btn-spin:disabled {
	/* меняем внешний вид курсора */
	cursor: progress;
	/* делаем кнопку полупрозрачной */
	opacity: 0.25;
}

/* анимация вращения */
.is-spinning .spinner {
	transition: transform 8s cubic-bezier(0.1, -0.01, 0, 1);
}

/* анимация движения язычка */
.is-spinning .ticker {
	animation: tick 700ms cubic-bezier(0.34, 1.56, 0.64, 1);
}


/* эффект, когда колесо задевает язычок при вращении */
@keyframes tick {
	40% {
		/* чуть поворачиваем язычок наверх в середине анимации */
		transform: rotate(-12deg);
	}
}

/* анимируем выпавший сектор */
.prize .text {
	padding-bottom:0;
	color:#000;
	display:block;
}
.prize a.text {
	text-decoration:underline;
}
.prize.selected .text {
	/* делаем текст белым */
	color: white;
	/* настраиваем длительность анимации */
	animation: selected 800ms ease;
}

/* настраиваем анимацию текста на выпавшем секторе по кадрам */
@keyframes selected {
	/* что происходит на 25% от начала анимации */
	25% {
		/* увеличиваем текст в 1,25 раза */
		transform: scale(1.25);
		/* добавляем тексту тень */
		text-shadow: 1vmin 1vmin 0 hsla(0 0% 0% / 0.1);
	}
	40% {
		transform: scale(0.92);
		text-shadow: 0 0 0 hsla(0 0% 0% / 0.2);
	}
	60% {
		transform: scale(1.02);
		text-shadow: 0.5vmin 0.5vmin 0 hsla(0 0% 0% / 0.1);
	}
	75% {
		transform: scale(0.98);
	}
	85% {
		transform: scale(1);
	}
}

.wheel_popup{
	display:none;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	z-index: 1000;
	background:rgba(0,0,0,0.2);
}
.wheel_popup._show{
	display:flex;
	justify-content:center;
	align-items:center;
}
.wheel_popup ._window{
	max-width:400px;
	padding:30px;
	background:#fff;
	box-shadow:0 0 10px 10px rgba(0,0,0,0.3);
	border-radius:30px;
	position:relative;
}
.wheel_popup p{
	margin:10px 0;
}
.wheel_popup ._name{
	font-weight:bold;
	font-size:16px;
}
.wheel_popup ._code{
	font-weight:bold;
	font-size:20px;
}
.wheel_popup b{
	position:absolute;
	top:5px;
	right:5px;
	width:30px;
	height:30px;
	display:block;
	background:url(/image/close.png) no-repeat center center;
	background-size:70%;
	cursor:pointer;
}
.wheel_popup ._show_link{
	text-align: center;
	margin-top: 30px;
}
