
/*
styles for the Writerspace book plugin
----------------------------------------*/

/* book-list
----------------------------------------*/
.book-content{
	float:left;
	height:360px;
	width:200px;
	margin:0 10px 0 0;
}

.book-image img,.book-image{
	height:300px;
	width:200px;
	position:relative;
}

.all-books-container{
	display:flex;
	flex-wrap:wrap;
}

.book-content.all-books{
	float:none;
	display:block;
	width:200px;
	margin:0 5px 20px 5px;
	text-align:center;
	height:auto;
}

.book-content.all-books .book-image{
	
	position:relative;
	padding:0 0 10px;
}

.book-content.all-books .book-image img{
	width:200px;
	height:300px;
	position:relative;
}

.book-image img{
	border:1px solid #cccccc;
}

.book-image .hover {
    border-style: solid;
    border-color:#fff;
    border-width:0;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.4;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
	-webkit-transition: border-width 200ms ease-out;
	-moz-transition: border-width 200ms ease-out;
	-o-transition: border-width 200ms ease-out;
	transition: border-width 200ms ease-out;
}

.book-image:hover .hover {
	border-width:12px;
}

.book-image p{
	height:168px;
	width:198px;
	border:1px solid #eeeeee;
	padding:130px 0 0 0;
	text-align:center;
}
p.book-title{
	padding:10px 0 0 0;
	font-size:14px;
	line-height:1.2em;
	text-align:center;
}

.book-content.audio-img{
	float:left;
	height:260px;
	width:200px;
	margin:0 10px 0 0;
}

.book-content.audio-img .book-image img, .book-content.audio-img .book-image{
	height:200px;
	width:200px;
	position:relative;
}


h2.book-list{
	padding:0 0 15px 0;
	line-height:1em;
}

h2.book-list-print{
	padding:50px 0 0 0;
	line-height:1em;
}
h2.book-list a{
	font-style:normal;
}
.book-list-desc{
	padding:0 0 15px 0;
}
ul.book-list-thumbs{
	margin:0;
	padding:0;
	list-style:none;
}

ul.book-list-thumbs li{
	float:left;
	margin:0 10px 10px 0;
	text-align:center;
	font-size:12px;
	line-height:1.2em;
	width:150px;
	
}

ul.book-list-thumbs.standalone li{
	height:270px;
}

ul.book-list-thumbs li img{
	width:150px;
	height:243px;
	padding:0 0 5px 0;
}

ul.book-list-thumbs li img.audio-img{
	width:150px;
	height:auto;
	padding:0 0 5px 0;
}

ul.book-list-thumbs.other-projects li img{
	width:150px;
	height:auto;
	padding:0 0 5px 0;
}

ul.book-list-thumbs.other-books li{
	width:100px;
	padding:0 
}

ul.book-list-thumbs.other-books li img{
	width:100px;
	height:162px;
	padding:0 0 5px 0;
}

ul.book-list-thumbs li p{
	padding:0;
}

.all-books-series-links{
	padding:0 0 25px 0;
	text-align:center;
}

.all-books-series-links a{
	padding:5px 10px;
	display:inline-block;
	margin:0 5px 10px 0;
	background:#efe1d3 ;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	border-radius:3px;
	
}

.all-books-series-links a.active{
	background:#8C2A01;
	color:#fff;
}
/* book single
----------------------------------------*/
.book-single-content{
	display:flex;
}
.book-info{
	text-align:center;
	font-size:12px;
	font-weight:700;
	line-height:1.3em;
	width:30%;
}

.book-info img.wp-post-image{
	width:100%;
	max-width:250px;
	height:auto;
}

p.readers-guide-btn,
p.character-list-btn,
p.book-club-btn {
	padding: 0;
	margin:0 0 10px;
}

p.readers-guide-btn a {
	display:inline-block;
	padding:10px 20px;
	background:#5A0101;
	color:#fff;
	text-decoration: none;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	-o-border-radius:5px;
	border-radius:5px;
	
}

p.readers-guide-btn a:hover {
	
	color:#fff;
	background: #B28282;
	text-decoration: none;
}

.ws-book-buy-links{
	width:20%;
}

.ws-book-buy-links .buylinks {
	padding:0 15px 25px 40px;
}
.ws-book-buy-links .buy-now-label{
	margin:0 0 10px;
}

.ws-book-buy-links .buy-link-title p{
	padding:15px 0 10px 0;
	margin:0;
}

.ws-book-buy-links .buylinks .buy-link-title:first-of-type p{
	padding:0 0 10px 0;
	margin:0;
}


.book-info .autographed-copies .buy-link-title p{
	background-color:#81A99E;
	padding:10px !important;
	color:#fff;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	-o-border-radius:5px;
	border-radius:5px;
	margin:0 0 10px !important;
}

.autographed-copies {
	padding:5px;
	border:solid 2px #eee;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	-o-border-radius:5px;
	border-radius:5px;
}

.autographed-copies img {
	max-width:28%;
	margin:0 2%;
}

#ws-book-tabs{
	width:50%;
	float:right;
}

ul.book-tabs{
	list-style:none;
	padding:0;
	margin:0 0 25px 0;
	text-align:left;
	border-bottom:2px solid #1d313c;
	overflow:hidden;
}

ul.book-tabs li{
	display:inline-block;
	padding:0;
	margin:0;
}

ul.book-tabs li a{
	display:block;
	padding:10px;
	color:#333;
	background:#eee;
	text-decoration:none;
	font-size:14px;
}

ul.book-tabs li a.active, ul.book-tabs li a:hover{
	color:#fff;
	background:#1d313c;
}

.book-tab-content{
	display:none;
}

.book-tab-content.active{
	display:block;
}

.book-tab-content.teasers img{
	padding:0 0 25px 0;
}

#other-books img {
	height:100px;
	width:60px;
}

#other-books li {
	float:left;
	font-size:12px;
	text-align:center;
	padding:5px;
}

#other-books li p{
	padding:0;
}

.book-social-icons{
	max-width:300px;
	margin:0 auto;
}

.book-social-icons img{
	padding:0 0 10px;
}

.newsletter-invitation-blurb{
	margin-top:25px;
}

.bottom-book-links{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:25px 0 50px;
	position:relative;
	
}

.bottom-book-links a{
	display:flex;
	flex-basis:15.5%;
	flex-wrap:wrap;
	background:#e6e6e6;
	-moz-border-radius:8px;
	-webkit-border-radius:8px;
	-o-border-radius:8px;
	border-radius:8px;
	-moz-box-shadow: 2px 2px 2px #888;
	-webkit-box-shadow: 2px 2px 2px #888;
	box-shadow: 2px 2px 2px #888;
	align-items:center;
	align-content:center;
	font-family: mostra-nuova, sans-serif;
	padding:10px 5px;
}

.bottom-book-links a:hover{
	background:#f3f3f3;
	text-decoration:none;
}

.bottom-book-links a span{
	flex-basis:100%;
	text-align:center;
	line-height:1.2em;
	font-size:24px;
	
}

.bottom-book-links a span.green-text{
	color:#2a6a8e;
}

.bottom-book-links a span.red-text{
	color:#5a0101;
}

.bottom-book-links a span.purple-text{
	color:#1d313c;
}

.affiliate-text{
	padding:50px 25px;
	font-size:13px;
	line-height:2em;
	color:#666;
	text-align:center;
	position:relative;
}

.affiliate-text:before {
  content: "";
  border-bottom:solid 1px #a6ba9b;
  width: 80%;
  position:absolute;
  left:10%;
  top:0;
}

.home-buylinks{
	margin:20px 0 10px;
}

.home-buylinks{
	margin:20px 0 0;
}

.home-buylinks img{
	margin:0 0 10px;
}

.home-featured-more-options a{
	font-size:14px;
	color:#1d313c;
}

/* printable books
----------------------------------------*/

.printable-book-list{
	width:100%;
}

.printable-book-list td.print-book-row{
	border-bottom:1px solid #ccc;
	vertical-align:middle;
	padding:5px;
}

.printable-book-list td.print-book-row.title{
	width:24%;
	padding-right:1%;
}
.printable-book-list td.print-book-row.series{
	width:24%;
	padding-right:1%;
}

.printable-book-list td.print-book-row.date{
	width:24%;
	padding-right:1%;
}

.printable-book-list td.print-book-row.isbn{
	width:24%;
}



.print-book-check{
	padding:10px;
	border:solid 1px #333 !important;
	width:1px;
}

#pf-body table table{
    margin:0;
}

#pf-body td {
    vertical-align: middle !important;
}

.print-sortby-form{
	float:right;
	margin:0 0 25px 0;
}

.print-sortby{
	width:auto !important;
}
.print-series-title{
	padding:25px 0 0 0;
	margin:0;
}

/* menu-book-sub-menu
----------------------------------------*/

ul#menu-book-sub-menu {
	list-style:none;
	padding:0 0 40px;
	margin:0;
	display:flex;
	flex-wrap:wrap;
}

ul#menu-book-sub-menu li .sep{
	list-style:none;
	padding:0 8px;
	
}

ul#menu-book-sub-menu li:last-child .sep{
	display:none;
}

ul#menu-book-sub-menu li.current-menu-item a{
	text-decoration:underline;
}

/* reader guide
----------------------------------------*/

.readers-guide-grid {
	display:flex;
	flex-wrap:wrap;
	
}

.readers-guide-grid .readers-guide{
	width:31.33%;
	padding:1% 1% 2%;
	text-align:center;
}

.readers-guide-grid .readers-guide .readers-guide-img{
	padding:0 0 10px;
}

.readers-guide-grid .readers-guide .readers-guide-img img{
	height: 308px;
	width: 205px;
}

/* responsive media queries
----------------------------------------*/
@media (min-width: 1800px){

}

@media (max-width: 1440px){

}

@media (min-width: 1240px) {

}

@media (max-width: 1239px) {
	.readers-guide-grid .readers-guide {
		width: 48%;
	}
}

@media (min-width: 1024px) and (max-width: 1239px) {

}

@media (max-width: 1023px) {

}

@media (max-width: 959px) {

}

@media (min-width: 768px ) and (max-width: 959px) {
	
	.ws-book-buy-links{
		width:30%;
	}
	
	.book-info {
		width:20%;
	}

	.bottom-book-links a{
		flex-basis:31%;
		margin:0 0 10px;
	}
	
	

}

@media (min-width: 481px ) and (max-width: 979px) {

}

@media (min-width: 768px){

}

@media (max-width: 767px) {
	/* books
	----------------------------------------*/
	
	.book-content{
		float:none;
		height:auto;
		width:auto;
		margin:0 0 20px;
	}
	
	.book-content .book-image img, .book-content .book-image {
    height: auto;
    width: auto;
    position: relative;
   
    text-align:center;
	}
	
	.book-content .book-image img{
    display:inline-block;
     margin:0 auto;
	}

	
	.book-single-content {
    display: block;
	}

	.book-info {
    float: none;
    padding: 0 0 25px;
    width:100%;
  }
   
  .ws-book-buy-links .buylinks {
    padding: 0 0 25px 0;
	}
  
  .ws-book-buy-links{
		width:100%;
	}
	
   #ws-book-tabs {
    width: auto;
    float: none;
	}
	
   ul.book-tabs li {
    display: block;
    padding: 0;
    margin: 0;
		}
		.book-social-icons img {
	    padding: 0 5px 10px;
	    width:45px;
	    height:45px;
		}
		ul.book-list-thumbs li img {
	    width: 140px;
	    height: 227px;
	    padding: 0 0 5px 0;
	    max-width:100%;
		}
		ul.book-list-thumbs li {
	    float: left;
	    width:48%;
	    margin:0 1%;
		}
		
		.bottom-book-links a{
			flex-basis:49%;
			margin:0 0 10px;
		}
	
	.readers-guide-grid .readers-guide {
		width: 100%;
	}
	
	.readers-guide-grid .readers-guide img{
		width: auto;
		height: auto;
	}
}

@media (min-width: 581px ) and (max-width: 959px) {

}

@media (max-width: 580px){

}

@media (min-width: 481px ) and (max-width: 767px) {

}

@media (min-width: 481px){

}

@media (max-width: 480px) {

}

@media (max-width : 320px) {

}

/* height queries
----------------------------------------*/
@media (max-height: 900px) {

}

@media (max-height: 800px) {

}

@media (max-height: 720px) {

}

@media (max-height: 640px) {

}

@media (max-height: 450px) {

}

/* Wide book trailers layouts & responsive embeds
------------------------------------------------*/
.book-single-content.trailers-active {
	display: block;
}
.book-single-content.trailers-active .book-info,
.book-single-content.trailers-active .ws-book-buy-links {
	display: none;
}
.book-single-content.trailers-active #ws-book-tabs {
	width: 100%;
	float: none;
}

/* Cinematic Trailer styling */
.book-tab-content.trailers {
	background: #121212; /* Dark cinematic background */
	color: #fff;
	padding: 40px 30px;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.3);
	margin-top: 20px;
}

.book-tab-content.trailers .tab-title {
	color: #fff;
	font-size: 24px;
	margin-bottom: 25px;
	text-align: center;
}

.trailers-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
	margin-bottom: 40px;
}

.trailers-gallery .video-card {
	flex: 1 1 100%;
	max-width: 900px;
	background: #1a1a1a;
	border: 1px solid #333;
	border-radius: 8px;
	padding: 12px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.5);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.trailers-gallery .video-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(140, 42, 1, 0.4); /* subtle orange/red glow matching theme */
}

.book-tab-content.trailers .video-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 ratio */
	height: 0;
	overflow: hidden;
	border-radius: 6px;
	background: #000;
}

.book-tab-content.trailers .video-container iframe,
.book-tab-content.trailers .video-container video,
.book-tab-content.trailers .video-container object,
.book-tab-content.trailers .video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* Premium styled buy links section under trailers */
.trailers-buy-links {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #2d2d2d;
	text-align: center;
}

.trailers-buy-title {
	color: #fff;
	font-size: 22px;
	margin-bottom: 25px;
	letter-spacing: 1px;
}

.trailers-buy-links .buylinks {
	max-width: 600px;
	margin: 0 auto;
	padding: 30px;
	background: #1a1a1a;
	border: 1px solid #2d2d2d;
	border-radius: 10px;
	text-align: left;
	box-shadow: inset 0 2px 4px rgba(0,0,0,0.6);
}

.trailers-buy-links .buylinks a {
	color: #fff;
	background: #8C2A01; /* Matching theme orange/red */
	padding: 8px 16px;
	margin: 5px 8px 10px 0;
	display: inline-block;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	transition: background 0.2s ease, transform 0.2s ease;
	font-size: 13px;
}

.trailers-buy-links .buylinks a:hover {
	background: #b83702;
	color: #fff;
	transform: translateY(-2px);
	text-decoration: none;
}

.trailers-buy-links .buylinks br {
	display: none; /* remove default breaks so links display inline-block beautifully as buttons */
}

.trailers-buy-links .buylinks .buy-now-label {
	color: #8C2A01;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom: 20px;
	border-bottom: 1px solid #2d2d2d;
	padding-bottom: 10px;
}

.trailers-buy-links .buylinks .buy-link-title p {
	color: #bbb;
	font-size: 14px;
	margin: 15px 0 10px 0 !important;
	padding: 0 !important;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.trailers-buy-links .buylinks .buy-link-title:first-of-type p {
	margin-top: 0 !important;
}

/* ==========================================================================
   Homepage 3-Section Book Row: [ws_home_book_row] Responsive Styles
   ========================================================================== */
.ws-home-book-row-container {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	width: 100% !important;
	box-sizing: border-box !important;
	gap: 24px !important;
	margin: 20px 0 35px 0 !important;
	background: #ffffff !important;
	padding: 25px 20px !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
}

.ws-home-book-row-container .ws-row-col {
	box-sizing: border-box !important;
	position: relative !important;
}

/* Section 1: Carousel - Desktop 50% */
.ws-home-book-row-container .ws-row-col-carousel {
	flex: 0 0 calc(50% - 16px) !important;
	max-width: calc(50% - 16px) !important;
	width: calc(50% - 16px) !important;
}

/* Section 2: Print & Digital - Desktop 25% */
.ws-home-book-row-container .ws-row-col-print {
	flex: 0 0 calc(25% - 16px) !important;
	max-width: calc(25% - 16px) !important;
	width: calc(25% - 16px) !important;
	text-align: center !important;
}

/* Section 3: Audio - Desktop 25% */
.ws-home-book-row-container .ws-row-col-audio {
	flex: 0 0 calc(25% - 16px) !important;
	max-width: calc(25% - 16px) !important;
	width: calc(25% - 16px) !important;
	text-align: center !important;
}

/* Section Headings: Match WordPress Theme H2 Typography */
.ws-home-book-row-container .ws-section-heading,
.ws-home-book-row-container h2,
.ws-carousel-heading {
	font-family: var(--wp--preset--font-family--heading, mostra-nuova, sans-serif) !important;
	color: var(--wp--preset--color--primary, var(--dark-blue, #1d313c)) !important;
	font-size: 30px !important;
	font-weight: normal !important;
	font-style: normal !important;
	line-height: 1.2 !important;
	margin: 0 0 15px 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

.ws-home-book-row-container .ws-row-col-carousel .ws-section-heading {
	text-align: left !important;
	padding-left: 20px !important;
}

/* Consistent Book Cover Sizing */
.ws-home-book-row-container .home-featured-book img,
.ws-home-book-row-container .home-featured-book.print-book img,
.ws-home-book-row-container .home-featured-audio-book img {
	max-width: 100% !important;
	height: auto !important;
	max-height: 310px !important;
	display: inline-block !important;
	margin: 0 auto !important;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ws-home-book-row-container .home-featured-book img:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
}

.ws-home-book-row-container .home-featured-book-buy-links {
	margin-top: 12px !important;
	text-align: center !important;
}

/* Tablet (768px - 991px): Carousel 100%, Print 50%, Audio 50% */
@media (min-width: 768px) and (max-width: 991px) {
	.ws-home-book-row-container {
		gap: 20px !important;
	}
	.ws-home-book-row-container .ws-row-col-carousel {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		margin-bottom: 10px !important;
	}
	.ws-home-book-row-container .ws-row-col-print,
	.ws-home-book-row-container .ws-row-col-audio {
		flex: 0 0 calc(50% - 10px) !important;
		max-width: calc(50% - 10px) !important;
		width: calc(50% - 10px) !important;
	}
}

/* Mobile (<768px): All 3 sections stacked at 100% */
@media (max-width: 767px) {
	.ws-home-book-row-container {
		flex-direction: column !important;
		gap: 30px !important;
		padding: 20px 15px !important;
	}
	.ws-home-book-row-container .ws-row-col-carousel,
	.ws-home-book-row-container .ws-row-col-print,
	.ws-home-book-row-container .ws-row-col-audio {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		text-align: center !important;
	}
	.ws-home-book-row-container .ws-section-heading {
		text-align: center !important;
		font-size: 24px !important;
		padding-left: 0 !important;
		margin-bottom: 14px !important;
	}
}