/* Chapter rating button and modal */

.rating-section{
	margin:34px auto 10px;
	padding-top:24px;
	border-top:1px solid rgba(125,83,33,.28);
	text-align:center;
}

.rate-chapter-button{
	padding:12px 22px;
	border:1px solid rgba(230,201,141,.72);
	border-radius:999px;
	background:linear-gradient(180deg,rgba(166,37,53,.92),rgba(72,14,24,.94));
	color:#fff0c2;
	font-family:Georgia,"Times New Roman",serif;
	font-size:18px;
	cursor:pointer;
	box-shadow:0 8px 20px rgba(0,0,0,.20);
}

.rate-chapter-button:hover{
	filter:brightness(1.12);
}

.rating-modal{
	display:none;
	position:fixed;
	inset:0;
	z-index:9999;
	background:rgba(0,0,0,.62);
	padding:24px;
}

.rating-modal.show{
	display:flex;
	align-items:center;
	justify-content:center;
}

.rating-panel{
	position:relative;
	width:min(520px,92vw);
	max-height:86vh;
	overflow:auto;
	padding:30px;
	color:#2b160d;
	background:
		linear-gradient(90deg,rgba(121,82,33,.12),transparent 8%,transparent 92%,rgba(121,82,33,.12)),
		linear-gradient(180deg,#fff0ca,#e7c98f);
	border:1px solid #9f6c28;
	border-radius:16px;
	box-shadow:0 24px 80px rgba(0,0,0,.55);
}

.rating-panel h2{
	margin:0 0 10px;
	color:#41140e;
	font-size:32px;
}

.rating-panel p{
	margin:0 0 16px;
	font-size:16px;
	line-height:1.45;
}

.rating-close{
	position:absolute;
	top:14px;
	right:16px;
	border:0;
	background:transparent;
	color:#7d1620;
	font-family:Georgia,"Times New Roman",serif;
	font-size:30px;
	line-height:1;
	cursor:pointer;
	padding:0;
}

.rating-close:hover{
	color:#3b090f;
}

.rating-stars{
	display:flex;
	justify-content:center;
	gap:8px;
	margin:14px 0 18px;
}

.rating-star{
	border:0;
	background:transparent;
	color:#8b6b31;
	font-size:40px;
	line-height:1;
	cursor:pointer;
	padding:0 2px;
	transition:transform .12s ease,color .12s ease;
}

.rating-star:hover,
.rating-star.active{
	color:#b51f34;
	transform:scale(1.08);
}

.rating-field{
	display:block;
	text-align:left;
	margin:14px 0;
	font-weight:bold;
	color:#4b2413;
}

.rating-field input{
	width:100%;
	box-sizing:border-box;
	margin-top:6px;
	padding:12px 14px;
	border:1px solid rgba(125,83,33,.45);
	border-radius:10px;
	font-size:16px;
	background:#fff9e8;
	color:#2b160d;
}

.rating-submit{
	width:100%;
	margin-top:10px;
	padding:12px 18px;
	border:1px solid rgba(125,22,32,.45);
	border-radius:10px;
	background:#7d1620;
	color:#fff0c2;
	font-size:17px;
	font-family:Georgia,"Times New Roman",serif;
	cursor:pointer;
}

.rating-submit:hover{
	background:#9a1d2a;
}

.rating-message{
	min-height:22px;
	margin-top:12px;
	color:#7d1620;
	font-size:15px;
	text-align:center;
}
