/*
 * Author's Online Reader
 * Phase II Reader Styles
 */

/* =========================================================
   READER PAGE
   ========================================================= */

.awr-reader-page {
	width: 100%;
	box-sizing: border-box;
	padding: 40px 20px 60px;
}

.awr-reader-container {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* =========================================================
   READER HEADER
   ========================================================= */

.awr-reader-header {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-bottom: 30px;
	padding-bottom: 25px;
	border-bottom: 1px solid #dddddd;
}

/*
 * READER COVER
 *
 * This controls ONLY the small cover shown beside
 * the chapter title.
 */
.awr-reader-header .awr-reader-cover {
	display: block !important;
	flex: 0 0 80px !important;
	width: 80px !important;
	max-width: 80px !important;
	min-width: 80px !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.awr-reader-header .awr-reader-cover img,
.awr-reader-header .awr-reader-cover .awr-book-cover {
	display: block !important;
	width: 80px !important;
	max-width: 80px !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	border-radius: 4px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

/* =========================================================
   READER HEADING
   ========================================================= */

.awr-reader-heading {
	flex: 1 1 auto;
	min-width: 0;
}

.awr-reader-book-title {
	margin: 0 0 5px;
	font-size: 1.05rem;
	font-weight: 600;
	opacity: 0.75;
}

.awr-reader-author {
	margin: 0 0 15px;
	font-size: 0.95rem;
	opacity: 0.7;
}

.awr-reader-chapter-title {
	margin: 0;
	font-size: clamp(1.7rem, 4vw, 2.5rem);
	line-height: 1.2;
}

.awr-reader-chapter-number {
	display: block;
	font-size: 0.7em;
	margin-bottom: 5px;
	opacity: 0.75;
}

/* =========================================================
   READER CONTENT
   ========================================================= */

.awr-reader-content {
	max-width: 760px;
	margin: 40px auto;
	font-size: 1.15rem;
	line-height: 1.85;
}

.awr-reader-content p {
	margin: 0 0 1.4em;
}

.awr-reader-content h2,
.awr-reader-content h3,
.awr-reader-content h4 {
	line-height: 1.3;
	margin-top: 2em;
	margin-bottom: 0.8em;
}

.awr-reader-content img {
	max-width: 100%;
	height: auto;
}

/* =========================================================
   NAVIGATION
   ========================================================= */

.awr-reader-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.awr-reader-navigation-bottom {
	margin-top: 45px;
	padding-top: 25px;
	border-top: 1px solid #dddddd;
}

.awr-reader-nav-button,
.awr-read-button,
.awr-book-card-button {
	display: inline-block;
	padding: 10px 16px;
	border-radius: 4px;
	text-decoration: none !important;
	font-weight: 600;
	line-height: 1.3;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.awr-reader-nav-button {
	border: 1px solid #cccccc;
	background: #ffffff;
	color: #222222;
}

.awr-reader-nav-button:hover,
.awr-read-button:hover,
.awr-book-card-button:hover {
	opacity: 0.85;
	transform: translateY(-1px);
}

.awr-reader-chapter-list {
	background: #f4f4f4;
}

.awr-reader-error {
	padding: 60px 20px;
}

/* =========================================================
   BOOK DISPLAY / CHAPTER LIST
   ========================================================= */

.awr-book-display {
	margin-top: 35px;
}

.awr-book-header {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	margin-bottom: 40px;
}

.awr-book-cover-wrap {
	flex: 0 0 240px;
	max-width: 240px;
}

.awr-book-cover-wrap img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: 0 5px 18px rgba(0, 0, 0, 0.15);
}

.awr-book-details {
	flex: 1;
}

.awr-book-subtitle {
	font-size: 1.2rem;
}

.awr-book-author {
	font-size: 1rem;
}

.awr-chapter-list {
	margin-top: 30px;
}

.awr-chapter-list h2 {
	margin-bottom: 20px;
}

.awr-chapter-list ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.awr-chapter-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 0;
	border-bottom: 1px solid #dddddd;
}

.awr-chapter-title {
	flex: 1;
	font-weight: 600;
}

.awr-chapter-number {
	margin-right: 5px;
	opacity: 0.7;
}

.awr-read-button {
	background: #222222;
	color: #ffffff !important;
	white-space: nowrap;
}

.awr-no-chapters {
	padding: 20px;
	background: #f6f6f6;
}

/* =========================================================
   BOOK GRID
   ========================================================= */

.awr-books-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 30px;
	margin: 30px 0;
}

.awr-book-card {
	text-align: center;
}

.awr-book-card-cover {
	display: block;
	margin-bottom: 15px;
}

.awr-book-card-cover img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
}

.awr-book-card-title {
	font-size: 1.15rem;
	line-height: 1.35;
	margin: 0 0 7px;
}

.awr-book-card-title a {
	text-decoration: none;
}

.awr-book-card-author {
	margin: 0 0 15px;
	opacity: 0.7;
}

.awr-book-card-button {
	background: #222222;
	color: #ffffff !important;
	font-size: 0.9rem;
}

/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 700px) {

	.awr-reader-page {
		padding: 25px 15px 45px;
	}

	.awr-reader-header {
		align-items: flex-start;
		gap: 18px;
	}

	/*
	 * Keep the reader cover small on tablets/mobile.
	 */
	.awr-reader-header .awr-reader-cover {
		flex: 0 0 80px !important;
		width: 80px !important;
		max-width: 80px !important;
		min-width: 80px !important;
	}

	.awr-reader-header .awr-reader-cover img,
	.awr-reader-header .awr-reader-cover .awr-book-cover {
		width: 80px !important;
		max-width: 80px !important;
	}

	.awr-reader-content {
		margin-top: 30px;
		font-size: 1.08rem;
		line-height: 1.8;
	}

	.awr-reader-navigation {
		justify-content: center;
	}

	.awr-reader-nav-button {
		flex: 1 1 auto;
		text-align: center;
	}

	.awr-book-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.awr-book-cover-wrap {
		max-width: 220px;
	}

	.awr-chapter-item {
		align-items: flex-start;
	}

	.awr-books-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 430px) {

	.awr-books-grid {
		grid-template-columns: 1fr;
		max-width: 260px;
		margin-left: auto;
		margin-right: auto;
	}

	.awr-reader-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	/*
	 * Still keep the reader cover at 80px.
	 * The previous CSS changed this to 100px.
	 */
	.awr-reader-header .awr-reader-cover {
		width: 80px !important;
		max-width: 80px !important;
		min-width: 80px !important;
		flex: 0 0 80px !important;
	}

	.awr-reader-header .awr-reader-cover img,
	.awr-reader-header .awr-reader-cover .awr-book-cover {
		width: 80px !important;
		max-width: 80px !important;
	}

	.awr-chapter-item {
		flex-direction: column;
		align-items: stretch;
	}

	.awr-read-button {
		text-align: center;
	}
}