/*
 Theme Name:  Take Control
 Theme URI:   https://www.takecontrolbooks.com/
 Description: Storefront Child Theme
 Author:      Joe Kissell
 Author URI:  https://joekissell.com
 Template:    storefront
 Version:     1.3.5
 License:     GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags:        light, dark, full-width, responsive-layout, accessibility-ready
 Text Domain: takecontrol
*/
/*Theme customisations start here*/



input.gfield-choice-input {
	width: 20px;
	height: 20px;
	margin-top: 0;
	padding-top: 0;
}

/* Lightweight Accordion styles */
.lightweight-accordion {
}
.lightweight-accordion-title {
	margin-left: 3px !important;
	padding-left: 0 !important;
}
.lightweight-accordion-body {
	margin-left: 1em !important;
}
faq {
	font-size: 17pt;
	font-family: 'Archivo Narrow', sans-serif;
}


/* Paddle adjustments */
.woocommerce-order-overview {
	margin-top: 0.5em !important;
	padding-left: 0 !important;
	font-size: 90% !important;
}

.woocommerce-order-overview::before, .woocommerce-order-overview::after {
	display: none !important;
}

li.woocommerce-order-overview__date, li.woocommerce-order-overview__email, li.woocommerce-order-overview__payment-method {
	display: none !important;
}

ul.order_details {
	margin-top: 0 !important;
	margin-bottom: 1.5em !important;
}

ul.order_details li {
	padding-top: 0.5em !important;
	padding-bottom: 0.5em !important;
}

ul.order_details li strong {
    display: inline !important;
}

.woocommerce-table--order-details th, .woocommerce-table--order-details td {
	padding-top: 0.5em !important;
	padding-bottom: 0.5em !important;
}

ul.wc-item-meta, ul.wc-item-meta li p {
	margin-bottom: 0 !important;
}

div.payment_box.payment_method_smartpay_paddle {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	font-weight: normal !important;
}

div.payment_box.payment_method_smartpay_paddle p {
	padding-top: 0.5em !important;
	margin-bottom: 0 !important;
}

li.payment_method_smartpay_paddle {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

div.place-order {
	font-weight: normal !important;
}

p {
	margin-bottom: 0.75em !important;
}


/* Hide radio button for Paddle gateway */
#payment ul.payment_methods li.payment_method_smartpay_paddle label::before{
	visibility:hidden !important;
	display:none !important;
}

#payment ul.payment_methods li.payment_method_smartpay_paddle label{
	margin-left: 0 !important;
}


/* Hide "order again" button on order summary page for Paddle */
p.order-again {
	display: none !important;
}

a.custom-logo-link {
	width: 100px !important;
	margin-right: 1em !important;
}

h4 {
	margin-top:0.5em !important;
}

.wp-post-image {
	max-width:300px !important;
}

/* This is the ENTIRE product area - i.e., everything not the sidebar. */
.single-product.left-sidebar .content-area, .woocommerce-account.left-sidebar .content-area, .woocommerce-checkout.left-sidebar .content-area, .woocommerce-order-received div.content-area {
  width:100%;
}

/* This is the product image & metadata column */
div.woocommerce-product-gallery {
	float:left !important;
	margin:0 0 2em 0 !important;
	padding-left:3em !important;
	width:auto !important;
}

/* This is the product summary column (tagline, title, author, short description, price, Add to Cart, etc.). */
div.summary {
	float:left !important;
	padding-left:3em !important;
	padding-right:2em !important;
	width:63% !important;			/* Need an @media setting for smaller screens for this - should really set fixed % width per screen size */
}

div.type-page {
	padding-top:0 !important;
	margin-bottom:1em !important;
}

div.site-search {
	width:200px !important;
}

.summary .author {
	font-size:1.5em;
	font-weight:bold;
	color:black;
	margin-top:0.5em;
	margin-bottom:0;
	padding-bottom:0;
}

.authorpage {
	float:none !important;
	margin-right:0 !important;
	width:100% !important;
}

.site-footer {
	padding:0;
}

.site-footer p {
	margin-bottom:0;
}

.main-navigation {
	margin:0 0 1em 0 !important;
	max-width:60% !important;
}

.primary-navigation ul {
	margin:0 !important;
}

.primary-navigation ul li a {
	padding:0 1.0em 0 0 !important;
	max-height:1em !important;
}

#main {
	margin:0;
	padding:0;
}

ul#site-header-cart {
	height:auto !important;
}

.cart-contents {
	padding:0 !important;
}

/* Horizontal tabs */

.product .woocommerce-tabs ul.tabs {
	width:100%;
	float:none;
	margin-right:5.8823529412%;
	border:0; 
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	list-style:none;
	padding:0 0 0 1em;
	margin:0 0 1.618em;
	overflow:hidden;
	position:relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	position:absolute;
	content:' ';
	width:100%;
	bottom:0;
	left:0;
	border-bottom:1px solid #d3ced2;
	z-index:1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border:1px solid #d3ced2;
	background-color:#ebe9eb;
	display:inline-block;
	position:relative;
	z-index:0;
	border-radius:4px 4px 0 0;
	margin:0 0;
	padding:0 1em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background:#fff;
	z-index:2;
	border-bottom-color:#fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
	border:1px solid #d3ced2;
	position:absolute;
	bottom:-1px;
	width:0;
	height:0;
	content:' ';
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
	left:-6px;
	border-bottom-right-radius:4px;
	border-width:0 1px 1px 0;
	box-shadow:2px 2px 0 #ebe9eb;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
	box-shadow:2px 2px 0 #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	right:-6px;
	border-bottom-left-radius:4px;
	border-width:0 0 1px 1px;
	box-shadow:-2px 2px 0 #ebe9eb;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
	box-shadow:-2px 2px 0 #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display:inline-block;
	padding:.5em 0;
	font-weight:700;
	color:#515151;
	text-decoration:none;
	outline:0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color:inherit;
	text-shadow:inherit;
}

.wc-tab { float:none !important; width:100% !important;  }

/* END horizontal tabs */


/* Hide the additional information tab. */
li.additional_information_tab {
    display:none !important;
}

/* Drop shadows for book covers */
img.size-shop_single, div.woocommerce-product-gallery__image img.wp-post-image {
	margin-left:1em !important;
	-moz-box-shadow:   -5px 5px 8px #666;
	-webkit-box-shadow:-5px 5px 8px #666;
	box-shadow:        -5px 5px 8px #666;
}

img.size-woocommerce_thumbnail, div.size-woocommerce_thumbnail {
	-moz-box-shadow:   -3px 3px 5px #666;
	-webkit-box-shadow:-3px 3px 5px #666;
	box-shadow:        -3px 3px 5px #666;
}

/* Hide "Reviews" heading on Reviews tab */
h2.woocommerce-Reviews-title {
	display:none !important;
}

/* Style "Edition" label */
.edition {
	font-size:1.3em;
	font-weight:bold;
	margin-top:0;
}

/* Hide "Home" heading on home page */
body.home h1.entry-title {
	display:none;
}

/* Adjust product title */
h1.product_title {
	font-weight:bold;
	margin-bottom:0;
	line-height:90%;
}

div.woocommerce-product-details__short-description {
	margin-top:.25em !important;
	padding-top:0 !important;
}

div.entry-content {
	padding-left:0 !important;
	margin-left:0 !important;
}

.tco {
	color:#7b209f !important;
	font-weight:normal !important;
	font-size:75% !important;
}

.authorinfoblock {
	border:1px solid blue;
	border-radius:5px;
	padding:1em;
	margin:15px 0 15px 0;
	overflow:hidden;
}

/* VARIATION BUTTONS */
/* Get rid of the "Clear" button */
a.reset_variations {
	display:none !important;
}

/* Make the book format buttons inline with the label */
table.variations tr td {
	display:inline-block !important;
}
table.variations tr td.label {
	margin-top:0.3em;
}
table.variations tr td.value {
	margin-left:0.5em !important;
}

/* Fix formatting of YITH labels */
.select_option {
	border:2px solid #d6d3d3;
	border-radius:5px;
	margin-right:3px;
	margin-top:-2px;
	padding:0 2px 2px 2px;
}

.select_option:hover, .select_option.selected {
	border:2px solid black;
	border-radius:5px;
	font-weight:bold;
}

.select_option span, .select_option img {
	border:2px solid #fff;
	display:block;
	width:auto !important;
}

/* Tighten spacing above price on product page */
td.value {
	padding-bottom:0 !important;
	margin-bottom:0 !important;
}

/* Tighten spacing above Add to Cart button on product page */
div.woocommerce-variation-add-to-cart {
	padding-top:0 !important;
	margin-top:0 !important;
}

th.product-quantity, td.product-quantity {
	display: none !important;
}

form.cart {
	padding-top:.25em !important;
	padding-bottom:0 !important;
	margin-bottom:1.5em !important;
}

ul.products {
	padding-top:1.5em;
}


.wc-tabs-wrapper {
	padding-top:0 !important;
}

div.entry-summary {
	margin-bottom:0 !important;
}

/* Price display for simple products */
p.price {
	font-size:100% !important;
}

div.product_meta {
	border:0 !important;
}

form.variations_form {
	padding-top:0 !important;
	margin-bottom:0 !important;
	padding-bottom:0 !important;
}


/* Changing shop page to show Format and Add to Cart buttons */

.products .variations {
    position:relative;
    margin-bottom:10px;
}
 
.products .variations td {
    display:block;
    padding:0;
    text-align:center;
}
 
.products .variations td:first-child {
    padding-bottom:0;
    border:none;
}
 
.products .variations td:last-child {
    padding-top:5px;
}
 
.products .variations tr:last-child td {
    border:none;
}
 
.products .variations td label {
	display:inline-block;
	margin-top:0.45em;
    font-weight:600;
}
 
.products .variations td select {
    width:100%;
}
 
.products .variations .reset_variations {
    margin:10px 0 0;
    position:absolute;
    bottom:-35px;
    left:0;
    right:0;
}

.woocommerce-product-details__short-description {
	margin-top:1em !important;
}

p.price {
	margin-top:0 !important;
	margin-bottom:0 !important;
}

.price span.woocommerce-Price-amount {
	font-size:150% !important;
}

span.price {
	margin: 0 !important;
	white-space: nowrap;
}

li.product-type-simple a span.price span.woocommerce-Price-amount {
	display:inline-block;
	margin-top:2px !important;
	margin-bottom:6px !important;
}

span.struck span.woocommerce-Price-amount {
	text-decoration: line-through !important;
}

span.price del {
	padding-top:2px !important;
}

span.price del span.woocommerce-Price-amount {
	text-decoration: line-through !important;
}

form.variations_form {
	margin-top:0 !important;
}


/* Prevent titles from being too wide in grid views */
h2.woocommerce-loop-product__title {
	width:180px;
	text-align:center;
	margin-left:auto;
	margin-right:auto
}

.whats_new {
	font-weight:bold;
	font-size:120%;
	margin-bottom:.5em;
}

.tagline {
	font-weight:bold;
	font-size:130%;
	color:dark-gray;
}

div.browse_full {
	text-align:center;
	font-size:14pt;
	margin-top:1em;
}
div.browse_full span {
	color:black;
	background-color:#96d35f;
	padding:0.3em 0.7em 0.3em 0.7em;
}
div.browse_full a, div.tc-login a, div.authorinfoblock h4 a, article a {
	color: #7b209f;
}
div.browse_full a:hover, div.tc-login a:hover, div.authorinfoblock h4 a:hover, article a:hover, #main a:hover {
	text-decoration: underline;
}

ul.columns-5 {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/* List view on catalog page */
ul.list img {
	margin-left:0 !important;
	margin-right:0 !important;
	margin-bottom:2em !important;
	padding-right:0 !important;
}

ul.list h2.woocommerce-loop-product__title {
	margin-left:0 !important;
	text-align:left !important;
	font-size:200% !important;
	width:100% !important;
}

ul.list h2.woocommerce-loop-product__title a {
	margin-bottom:0 !important;
}

.site-title {
	font-size:28pt !important;
	line-height:28pt !important;
	width:100% !important;
}
.site-description {
	font-size:13pt !important;
	margin-top:4pt;
	margin-left:0.25em;
	line-height:19pt;
}


/* Nicen up search field */

.widget_product_search {
	width:180px !important;
	float:right;
}
input[type=search] {
	padding-left:3em;
}

.quote {
	border:1px solid gray;
	padding:1em;
}


/* Make Upsells section scroll horizontally */
section.upsells {
	width:auto;
	height:auto;
	overflow:auto;
	padding-bottom:0;
	/*border:1px solid gray;*/
}
section.upsells ul {
	float:left;
	margin-right:-999em;
	list-style:none;
	height:350px; /* was 315 */
}
section.upsells li {
	margin:15px !important;
	width:125px !important; /* was 200 */
	height:275px !important;
	text-align:center;
	float:left;
	display:inline; 
}
section.upsells ul.columns-3 li.first {
	clear:none !important;
	margin-left:0;
}
section.upsells div.star-rating {
	display:none;
}
section.upsells p.price {
	display: none !important;
}
/* This is a temporary hack to work around the fact that, for unknown reasons, the first cross-sell on the cart page (only) is missing its price and Add to Cart button. */
/* section.upsells ul.columns-3 li:first-child {
	display:none;
}
*/
section.upsells ul.columns-3 li.last {
	clear:none !important;
}
section.upsells ul.products li.product{
	margin-right:.75em !important;
}
section.upsells h2 {
	position:absolute;
	margin-top:-1.5em;
}
section.upsells h2.woocommerce-loop-product__title {
	position:relative;
	margin-top:0 !important;
	margin-bottom:0 !important;
	font-size:100% !important;
	width:125px !important;
	height:3.7em !important;
	padding-top:0 !important;
}
section.upsells td.label label {
	display:none;
}
section.upsells div.select_option {
	font-size:80% !important;
	padding:1px !important;
}
section.upsells ul.products {
	padding:0;
}
section.upsells img {
	margin-bottom:0.7em !important;
	margin-left:0.25em !important;
	height:160px !important;
}
section.upsells form.variations_form span.price {
	margin:0 0 2px 0 !important;
	line-height:20px !important;
	color:blue !important;
	font-size:80% !important;
}
section.upsells a.woocommerce-LoopProduct-link span.price {
	margin:2px 0 4px 0 !important;
	padding:0 !important;
	line-height:16px !important;
	color:blue !important;
	font-size:80% !important;
}
section.upsells span.woocommerce-Price-amount {
	margin:0 !important;
	padding:0 !important;
}
section.upsells table.variations td.value {
	margin:0 !important;
}
section.upsells div.single_variation_wrap div.variations_button {
	margin:0 !important;
	padding:0 !important;
}
section.upsells .woocommerce-variation-price {
	margin:0 !important;
	padding:0 !important;
}
section.upsells form.variations_form {
	padding:0 !important;
}
section.upsells .select_option {
	margin-right:0;
	margin-top:2px;
	padding:0;
}
section.upsells ul.products {
	margin-bottom:0 !important;
}
section.upsells .tc_ebooks {
	display:none;
}
/* End horizontal upsell */


.tc_ebooks {
	margin-bottom:0.75em;
}

table.woocommerce-cart-form__contents {
	margin-bottom:0 !important;
}


/* ***** Temporarily hide ALL variation buttons ****** */
/* When we reenable this, we'll also have to increase height of section.upsells ul and section.upsells li
/* A better solution is to hide these programmatically only when there's just one variation */
/* To make this apply only in upsells, add 'section.upsells' to the beginning of the next line. */
/* To make this apply everywhere, omit 'section.upsells' from the next line. */
table.variations {
	display:none;
}


h2.section-title {
	font-weight:bold !important;
	margin-top:-1em !important;
	margin-bottom:0.5em !important;
}

article {
	margin-bottom:1em !important;
}

article h2 {
	margin-top:0 !important;
	margin-bottom:0.25em !important;
	padding-top:0.5em !important;
}

article.post header h2 {
	font-size:28px !important;
}

article h3 {
	margin-top:0.10em !important;
	margin-bottom:0.25em !important;
	padding-top:0 !important;
}

article p {
	margin-bottom:0.75em;
	text-align:left !important;
}

article ul, article ol {
	margin-bottom:0.75em !important;
}

li.product {
	margin-top:2em !important;
	margin-bottom:0 !important;
}

/* With change from <figure> to <div>, we need to adjust this to keep product pages looking correct. */

div.woocommerce-product-gallery__wrapper {
	margin: 0;
	float: left;
}

.woocommerce-product-gallery__wrapper img {
	margin: 0 !important;
}

.tc_details-box {
/*	margin:1.5em 0 0 1em !important;*/
	margin:1.5em 0 3em 0 !important;
	background-color:#DDDDEE;
	border-radius:5px;
	padding:0.5em;
	width:300px;
}

/* Hide "Checkout" button in popover but NOT "View cart" button */
p.woocommerce-mini-cart__buttons a.checkout {
	display:none !important;
}

.site-header {
	margin-bottom:1em;
}

/* Expand width of mini-cart */
.site-header-cart {
	width:18em !important;
	margin-left:-13em;
}

/* Keep cart total and count next to icon */
a.cart-contents {
	float:right;
}
span.count {
	margin-left:1.35em;
	margin-right:.35em;
}

p.add_to_cart_button {
	padding-left:0.25em !important;
	padding-right:0.25em !important;
	font-family: 'Archivo Narrow', sans-serif !important;
}

/* Fix radio button labels */

input[type=radio],
input.radio {
  float:left;
  margin:5px 0 0 0;
}

label.radio {
  padding:0 0 .5em .8em;
}

.contact_label {
	margin-bottom:0.5em;
}


/* Shrink download buttons */
a.woocommerce-MyAccount-downloads-file {
	padding:5px;
}

/* Hide superfluous checkbox next to "Shipping Address" */
input#ship-to-different-address-checkbox {
	display:none;
}

/* Display arrows legibly in slider */
.nextend-arrow {
	height:36px !important;
	width:36px !important;
	padding:0 !important;
}

header.entry-header {
	border:0 !important;
	margin-bottom:0 !important;
	padding-bottom:0 !important;
}
.entry-content {
	margin-top:0 !important;
}
header.entry-header .posted-on, header.entry-header .post-author {
	position:relative;
	bottom:-7px;
}

/* Style blog post title on home page */
div.cat-links, div.storefront-blog h2.entry-title a {
	font-size:28px !important;
	font-weight:normal !important;
	color:gray !important;
	padding-top:0 !important;
}

/* Position and style blog post metadata on home page */
div.storefront-blog h2.entry-title {
	display:block;
	float:left;
	margin-top:0 !important;
	padding-top:0 !important;
}
div.sbc-entry-meta {
	display:block;
	clear:both;
	float:left;
	margin:-0.5em 0 1em 0 !important;
	padding-top:0 !important;
}
div.entry-content {
	clear:both;
}

/* Hide gigantic category title at bottom of posts */
aside.entry-taxonomy {
	display:none !important;
}

/* Make mainbar full width on pages where sidebar has been removed. Probably expand this for others too. */
body.single-post #primary,body.page-id-3974 #primary,body.page-id-3978 #primary {
	float:none;
	width:100%;
}

/* This pair of adjustments prevents cross-sell lists from breaking after 4 items, while also keeping catalog rows intact. */
.woocommerce-checkout ul.products li.first {
     clear:none !important; 
}
.woocommerce-page ul.products:after {
     clear:none !important; 
}

div.payment_box.payment_method_fastspring {
	display: none !important;
}

/* Hide radio button for FastSpring gateway */
#payment .payment_methods>.payment_method_fastspring>label::before{
     visibility:hidden;
     display:none;
}

li.product-type-simple span.price {
	margin-bottom:0 !important;
	margin-top:0.25em !important;
}

div.woocommerce-variation-price span.price {
	margin-bottom:.25em !important;
	margin-top:.25em !important;
}

form.variations_form {
	margin-bottom:1.5em !important;
}

div.woocommerce-variation-price,
li.product-type-simple span.price {
	line-height:1.2em !important;
	padding:.5em 0 .5em 0 !important;
}

h2.woocommerce-loop-product__title {
	margin-bottom:.3em !important;
	//min-height:2.4em !important;
}

form.woocommerce-ordering, p.woocommerce-result-count, nav.woocommerce-pagination {
	margin-top:1.5em !important;
}

img.attachment-woocommerce_thumbnail {
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: .75em !important;
	display: block !important;
}

abbr.required {
	text-decoration:none;
	font-weight:bold;
}

div.tc-sample {
	float:left;
	margin-top:0;
	margin-bottom:1em;
}

.tc-sample a {
	background-color:#96d35f;
	padding:0.5em;
	font-weight:bold;
	color:black;
}

.upsells .tc-sample {
	display:none;
}

h1, h2, h3, h4, h5, h6, body, button, input, textarea, #main div h4 {
	font-family: 'Archivo Narrow', sans-serif !important;
}

.woocommerce-product-details__short-description p,
.woocommerce-tabs p,
.woocommerce-tabs div.wc-tab li,
div.entry-content li,
div.entry-content p,
#main div h4,
#main div p {
	font-family: 'Archivo', sans-serif;	
}

body.home p,
div.entry-content table p {
	font-family: 'Archivo Narrow', sans-serif !important;
}

.onsale {
	margin-bottom:0 !important;
	padding-bottom:0 !important;
	color: green;
	border-color: green;
}

.woocommerce-store-notice,.demo_store_parent {
	margin-top:3em;
}

.woocommerce-store-notice,.demo_store {
	text-align: center !important;
	top: 0px !important;
	bottom: auto !important;
	z-index: 999 !important;
	box-shadow:0 1px 1em rgba(0,0,0,.2) !important;
	position:absolute !important;
}

.tc-notice {
	background-color: #96d35f; /* green */
	color: black;
	display: block;
	padding: 0.5em;
}

table.woocommerce-table--order-downloads th, table.woocommerce-table--order-downloads td {
	padding: 0.2em 0.5em 0.2em 0.5em !important; /* was 0.5 all around */
	vertical-align: middle;
}

table.woocommerce-table--order-downloads tbody tr td.download-name, td.order-note {
	white-space: nowrap;
}

table.woocommerce-table--order-downloads th.order-date,
table.woocommerce-table--order-downloads td.order-date {
	margin-left: 0 !important;
	width: 6em !important;
	white-space: nowrap !important;
}

table.woocommerce-table--order-downloads th.download-product_version,
table.woocommerce-table--order-downloads td.download-product_version {
	width:4.5em !important;
}

.woocommerce-product-rating {
	margin-top: 0.25em !important;
}

table.woocommerce-cart-form__contents thead th, table.woocommerce-cart-form__contents td {
	padding: 1em !important;
}

table.woocommerce-checkout-review-order-table thead th, table.woocommerce-checkout-review-order-table tfoot th {
	padding: 0.5em !important;
}

table.woocommerce-checkout-review-order-table td.product-name {
	width: 72% !important;
	padding: 0.5em !important;
}

table.woocommerce-checkout-review-order-table td.product-total, table.woocommerce-checkout-review-order-table tfoot td {
	padding: 0.5em !important;
}

div.place-order {
	margin:0 !important;
}

td.product-remove {
	padding:0 !important;
	width: 3em !important;
}

td.product-thumbnail {
	width: 90px !important;
}

ul.site-header-cart li span.woocommerce-Price-amount {
	display: none !important;
}

ul.site-header-cart li div.widget_shopping_cart span.quantity span {
	display: inline !important;
}

/* Suppress extra "Free!" line for variable products that are free */
li.post-1065278 > a > span.price,
li.post-1065278 > p.price > span.amount-free,
li.post-1065278 div.gridlist-buttonwrap p.price span.amount-free,
#product-1065278 p.price,
li.post-553720 > a > span.price,
li.post-553720 > p.price > span.amount-free,
li.post-553720 div.gridlist-buttonwrap p.price span.amount-free,
#product-553720 p.price,
li.post-571552 > a > span.price,
li.post-571552 > p.price > span.amount-free,
li.post-571552 div.gridlist-buttonwrap p.price span.amount-free,
#product-571552 p.price {
	display:none !important;
}

div.gridlist-buttonwrap {
	margin-top:0;padding-top:0;
}

ul.list .single_variation_wrap {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0;
}

ul.list .single_variation_wrap .woocommerce-variation-price .price {
	display: inline !important;
}

p.upg_button {
	margin:0 !important;
}

.storefront-primary-navigation .site-header-cart .cart-contents:after {
  content: "Cart \f07a";
}


/* Fix "build-your-own-bundle" styling on cart page */
tr.coupon-byob a {
	display:none;
}

tr.coupon-byob th {
	visibility:hidden;
}

tr.coupon-byob th:before {
	content:'Build-Your-Own-Bundle discount';
	visibility:visible;
}

.tooltip:after,
[data-tooltip]:after {
	font-size:90%;
}

.tc_cr {
	margin-top:0 !important;
}

/* Needed along with adding replace_star_ratings() function to produce aligned, solid stars. */
div.star-rating span.fas {line-height: 1.6}
div.comment-text div.star-rating span.fas {line-height: 1}


/* archivo-regular - latin-ext_latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/archivo-v18-latin-ext_latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-v18-latin-ext_latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* archivo-700 - latin-ext_latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/archivo-v18-latin-ext_latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-v18-latin-ext_latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* archivo-italic - latin-ext_latin */
@font-face {
  font-family: 'Archivo';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('fonts/archivo-v18-latin-ext_latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-v18-latin-ext_latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* archivo-700italic - latin-ext_latin */
@font-face {
  font-family: 'Archivo';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url('fonts/archivo-v18-latin-ext_latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-v18-latin-ext_latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* archivo-narrow-regular - latin-ext_latin */
@font-face {
  font-family: 'Archivo Narrow';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/archivo-narrow-v24-latin-ext_latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-narrow-v24-latin-ext_latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* archivo-narrow-700 - latin-ext_latin */
@font-face {
  font-family: 'Archivo Narrow';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/archivo-narrow-v24-latin-ext_latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-narrow-v24-latin-ext_latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* archivo-narrow-italic - latin-ext_latin */
@font-face {
  font-family: 'Archivo Narrow';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('fonts/archivo-narrow-v24-latin-ext_latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-narrow-v24-latin-ext_latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* archivo-narrow-700italic - latin-ext_latin */
@font-face {
  font-family: 'Archivo Narrow';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url('fonts/archivo-narrow-v24-latin-ext_latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/archivo-narrow-v24-latin-ext_latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-regular - latin-ext_latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/roboto-v30-latin-ext_latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-ext_latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-italic - latin-ext_latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('fonts/roboto-v30-latin-ext_latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-ext_latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin-ext_latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/roboto-v30-latin-ext_latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-ext_latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700italic - latin-ext_latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url('fonts/roboto-v30-latin-ext_latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-ext_latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

li.product img {
	display: inline-block !important;
	margin-left: 0 !important;
}

div.single_variation_wrap div.single_variation div.woocommerce-variation-price {
	padding-top:2px !important;
}

div.price-container + p {
	display: none;
}

.custom-modal {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: none;
}

.custom-modal .modal-content {
    background-color: white;
    margin: 15% auto;
    padding: 20px;
    border-radius: 5px;
    width: 300px;
    text-align: center;
}

.modal-actions {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}


#payment .payment_methods>.wc_payment_method>label {
	background-color: #F5F5F5 !important;
	cursor:default !important;
}

#payment ul.wc_payment_methods li.wc_payment_method div.payment_box:hover {
	background-color: #FAFAFA !important;
}

.dl_table_border {
	border-bottom: 1px solid black;
}

.dl_table_border_padding {
	border-bottom: 1px solid black; padding-bottom:0.5em;
}

.dl_table_padding {
	padding-top:0; padding-bottom:0;
}

.dl_crossgrade {
	color:green;
}

.dl_upgrade {
	color:#7b209f;
}

td.order-note_border {
	white-space: nowrap;
	border-bottom: 1px solid black; padding-bottom:0.5em;
}

/* Hanging indent on offer text cells — only when they contain a checkbox. */
table.woocommerce-table--order-downloads tr:has(td.order-note) td:last-child:has(input[type="checkbox"]) {
	padding-left: 1.2em !important;
	text-indent: -1.2em;
}

table.woocommerce-table--order-downloads td.order-date {
	min-width: 6.5em !important;
}

table.woocommerce-table--order-downloads td a.woocommerce-MyAccount-downloads-file {
	white-space: nowrap;
}

ul.menu li.current-menu-item:has(+ li.current-menu-item) > a {
    color: #333333;
}

.ios-note {
	padding:1em;
	color:black;
	background:#88FF88;
	display:none;
}

/* =============================================================================
   LIBRARY PAGE — MOBILE STYLES
   ============================================================================= */

@media (max-width: 767px) {

	.woocommerce-store-notice,.demo_store_parent {
		margin-top:6em;
	}
	.tc-cfu-login-form p:not(.tc-cfu-remember),
	.tc-cfu-register-form > p {
		margin-bottom: -.2em !important;
	}

	.ios-note {
		display:block;
	}
	
	/* Hide the table header entirely. */
	table.woocommerce-table--order-downloads thead {
		display: none !important;
	}

	/* Convert table and all rows to block layout. */
	table.woocommerce-table--order-downloads,
	table.woocommerce-table--order-downloads tbody,
	table.woocommerce-table--order-downloads tr,
	table.woocommerce-table--order-downloads td {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box;
	}

	/* Hidden rows — use :not(.tc-showing) so JS can reveal them via class toggle. */
	table.woocommerce-table--order-downloads tr.tc-hidden-book:not(.tc-showing) {
		display: none !important;
	}

	table.woocommerce-table--order-downloads tr.tc-hidden-book:has(td.order-note):not(.tc-showing) {
		display: none !important;
	}

	/* Remove WooCommerce pseudo-element column labels. */
	table.woocommerce-table--order-downloads td::before {
		display: none !important;
	}

	/* Reset padding, alignment, borders on all cells. */
	table.woocommerce-table--order-downloads td {
		padding: 0.15em 0 !important;
		text-align: left !important;
		white-space: normal !important;
		border: none !important;
	}

	table.woocommerce-table--order-downloads tr {
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Suppress empty spacer cells. */
	table.woocommerce-table--order-downloads td:empty {
		display: none !important;
	}

	/* ── Book title rows ─────────────────────────────────────────────── */

	/* colspan="4" title cell: flex so title and Hide button sit side by side.
	   The border-top creates the visual group separator. */
	table.woocommerce-table--order-downloads td[colspan="4"] {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
		border-top: 1px solid #ccc !important;
		padding-top: 0.5em !important;
		margin-top: 0.25em;
		width: 100% !important;
	}

	/* The bold title inside colspan cell: inline so it doesn't push button down. */
	table.woocommerce-table--order-downloads td[colspan="4"] > b {
		display: inline !important;
		font-size: 1.05em;
		border-top: none !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
		flex: 1;
	}

	/* Hide/Unhide button next to title. */
	table.woocommerce-table--order-downloads td[colspan="4"] .tc-hide-btn,
	table.woocommerce-table--order-downloads td[colspan="4"] .tc-unhide-btn {
		float: none;
		flex-shrink: 0;
		margin-left: 0.5em;
	}

	/* Single-row title (no colspan): also flex. */
	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)) td:first-child:has(b) {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
		border-top: 1px solid #ccc !important;
		padding-top: 0.5em !important;
		margin-top: 0.25em;
	}

	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)) td:first-child > b {
		display: inline !important;
		font-size: 1.05em;
		border-top: none !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	/* Version number cells. */
	table.woocommerce-table--order-downloads td.tc-version {
		font-size: 0.85em;
		color: #555;
	}

	/* Show full word "Version" before version numbers on mobile. */
	table.woocommerce-table--order-downloads td.download-product_version.tc-version::before,
	table.woocommerce-table--order-downloads td.tc-version::before {
		content: "Version\00a0" !important;
		display: inline !important;
	}
	/* ── Sub-rows: any row containing a td.order-note label ──────────── */

	table.woocommerce-table--order-downloads tr:has(td.order-note) {
		display: flex !important;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0 0.35em;
		width: 100% !important;
	}

	/* All cells in a sub-row shrink to content width. */
	table.woocommerce-table--order-downloads tr:has(td.order-note) td {
		display: inline !important;
		width: auto !important;
		flex: 0 0 auto;
		font-size: 0.85em;
		color: #555;
		padding: 0 !important;
		white-space: nowrap;
	}

	/* Last cell in sub-row: allow wrapping but stay inline where possible. */
	table.woocommerce-table--order-downloads tr:has(td.order-note) td:last-child:not(:empty) {
		flex: 1 1 auto;
		white-space: normal;
		font-size: 0.9em;
		color: inherit;
	}

	/* ── Checkboxes: inline with surrounding text ────────────────────── */

	table.woocommerce-table--order-downloads input[type="checkbox"] {
		display: inline !important;
		width: auto !important;
		vertical-align: middle;
		margin-right: 0.3em;
	}

	/* Offer spans stay inline — do NOT force block which causes linebreak. */
	table.woocommerce-table--order-downloads td span.dl_upgrade,
	table.woocommerce-table--order-downloads td span.dl_crossgrade {
		display: inline !important;
	}

	/* ── Download buttons ────────────────────────────────────────────── */

	table.woocommerce-table--order-downloads td a.woocommerce-MyAccount-downloads-file {
		display: inline-block !important;
		margin: 0.2em 0.3em 0.2em 0 !important;
	}

	/* ── Bulk cart bar ───────────────────────────────────────────────── */

	/* Use block layout: the count/total text stays on one line,
	   the button drops to its own full-width line. */
	#tc-bulk-cart-bar {
		display: block !important;
	}

	#tc-bulk-add-btn {
		display: block;
		width: 100%;
		margin: 0.5em 0 0 0 !important;
	}

	#tc-bulk-cart-msg {
		display: block;
		margin-top: 0.25em;
	}

	/* ── Misc ────────────────────────────────────────────────────────── */

	/* Remove white-space:nowrap from desktop rules. */
	table.woocommerce-table--order-downloads tbody tr td.download-name,
	td.order-note {
		white-space: normal !important;
	}

	/* Sort dropdown: full width. */
	#tc-library-sort {
		width: 100%;
		max-width: 100%;
	}

	/* ── Single-row books (no sub-rows, no colspan) ──────────────────── */
	/* These have order-date and download-product_version cells but no
	   order-note label — make them flex and add labels via ::before. */

	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])):not(.tc-hidden-book) {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 0.35em;
	}

	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])):not(.tc-hidden-book) td {
		display: inline !important;
		width: auto !important;
		flex: 0 0 auto;
		padding: 0 !important;
	}

	/* Title cell: full width on its own line. */
	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])) td:first-child {
		flex: 1 1 100%;
		font-size: 1.05em;
		border-top: 1px solid #ccc !important;
		padding-top: 0.5em !important;
		margin-top: 0.25em;
	}

	/* Date cell: add "Ordered: " label. */
	table.woocommerce-table--order-downloads td.order-date::before {
		content: "Ordered:\00a0";
		font-size: 0.85em;
		color: #555;
	}

	/* Downloads cell in single-row: flex to fill remaining space. */
	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])) td:last-child {
		flex: 1 1 auto;
		white-space: normal;
	}
	
	/* Right-align download buttons in sub-rows and single-row books. */
	table.woocommerce-table--order-downloads td:last-child:has(a.woocommerce-MyAccount-downloads-file) {
		text-align: right !important;
		margin-left: auto;
	}
	
	/* Remove alternating row background colors from Storefront theme. */
	table.woocommerce-table--order-downloads tr,
	table.woocommerce-table--order-downloads td {
		background-color: transparent !important;
	}

	/* Break the table slightly outside its container, then use padding
	   on rows to push content back in — net effect is breathing room
	   without reducing content width. */
	table.woocommerce-table--order-downloads {
		margin-left: -0.5em !important;
		margin-right: -0.5em !important;
		width: calc(100% + 1em) !important;
	}

	table.woocommerce-table--order-downloads tr:has(td.order-note),
	table.woocommerce-table--order-downloads td[colspan="4"],
	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])) {
		padding-left: 0.5em !important;
		padding-right: 0.5em !important;
	}
	
	/* Hanging indent on offer text cells — only when they contain a checkbox. */
	table.woocommerce-table--order-downloads tr:has(td.order-note) td:last-child:has(input[type="checkbox"]) {
		padding-left: 1.5em !important;
		text-indent: -1.5em;
	}
	
	/* Counteract the &nbsp; indent on sub-row labels so they align
	   with the left edge of the title row content above. */
	table.woocommerce-table--order-downloads tr:has(td.order-note) td.order-note {
		margin-left: -.5em;
	}
	
	/* List view: allow price to wrap to next line if needed. */
	ul.list .single_variation_wrap {
		flex-wrap: wrap !important;
	}

	ul.list .woocommerce-variation.single_variation {
		min-width: max-content !important;
		overflow: visible !important;
	}

	/* List view: constrain button width so price has room. */
	ul.list .woocommerce-variation-add-to-cart.variations_button {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	ul.list .woocommerce-variation-add-to-cart.variations_button button {
		width: auto !important;
	}

	/* Single-row orddate: reposition hide button next to title on mobile. */
	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])) {
		position: relative;
	}

	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])) td:first-child {
		padding-right: 5em !important;
	}

	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])) .tc-hide-btn,
	table.woocommerce-table--order-downloads tr:not(:has(td.order-note)):not(:has(td[colspan="4"])) .tc-unhide-btn {
		position: absolute;
		top: 0.5em;
		right: 0.5em;
		float: none;
	}

	.woocommerce-MyAccount-navigation {
		display: none;
	}

	.storefront-blog h2.section-title {
		cursor: pointer;
		text-align: left !important;
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		margin-bottom: 0.5em;
	}

	.storefront-blog h2.section-title::after {
		content: '\25B6';
		margin-left: 0.5em;
		font-size: 0.55em;
		display: inline-block;
		transition: transform 0.2s ease;
		flex-shrink: 0;
	}

	.storefront-blog:not(.tc-collapsed) h2.section-title::after {
		transform: rotate(90deg);
	}

	.storefront-blog.tc-collapsed > *:not(h2) {
		display: none !important;
	}

	section.storefront-recent-products {
		margin-top: 1em !important;
		padding-top: 1em !important;
	}

	section.storefront-recent-products h2.section-title {
		text-align: left !important;
	}

	section.storefront-recent-products ul.products li.product {
		float: none !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	section.storefront-recent-products ul.products li.product a.woocommerce-LoopProduct-link {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
	}

	section.storefront-recent-products ul.products li.product a.woocommerce-LoopProduct-link img {
		display: block !important;
		width: auto !important;
		max-width: 150px !important;
		margin: 0 0 1em 0 !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
	
	section.storefront-recent-products ul.products {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}

	li.tc-mobile-login-item {
		font-weight: 600;
	}

	/* List view: price to right of button on mobile. */
	ul.list .single_variation_wrap {
		flex-direction: row-reverse !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
	}

	ul.list .single_variation_wrap .woocommerce-variation-add-to-cart.variations_button {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	ul.list .single_variation_wrap .woocommerce-variation-add-to-cart.variations_button button {
		white-space: nowrap !important;
		width: auto !important;
		padding-left: 0.75em !important;
		padding-right: 0.75em !important;
	}

	ul.list .woocommerce-variation.single_variation {
		flex: 0 0 auto !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	ul.list .woocommerce-variation.single_variation .woocommerce-variation-price {
		white-space: nowrap !important;
	}
	
	ul.list .woocommerce-variation.single_variation .price span.woocommerce-Price-amount {
		font-size: 150% !important;
	}
	
	ul.list .woocommerce-variation-add-to-cart.variations_button button {
		font-size: 0.9em !important;
	}

	header {
		margin-bottom:0 !important;
		padding-bottom:0 !important;
	}
	
	h4 {
		clear:both !important;
	}

	.site-branding {
		width:100% !important;
		padding:0 !important;
	}
    .tc-logo {
		display:none;
    }
	.tc-login {
		display:none !important;
	}
	button.menu-toggle {
		float:left !important;
		margin-top:0.25em;
	}
		
	.ms-shortcode {
		display:none;
	}
	
	div.columns-5, ul columns-4 {
		text-align:center;
        position:relative;
	}
	
	div.columns-5 img, ul.columns-4 img {
        position:relative;
        left:45%;
        margin-right:-50%;
        transform:translate(-50%, 0%);
        -ms-transform:translate(-50%, 0%);
        -webkit-transform:translate(-50%, 0%);
        -moz-transform:translate(-50%, 0%);
        -o-transform:translate(-50%, 0%);
	}
	
	div.woocommerce-product-gallery {
		padding-left:0 !important;
	}
	
	div.summary {
		padding-left:0 !important;
		padding-right:0 !important;
		width:90% !important;
	}
	
	img.attachment-shop_single {
		width:75%;
		height:75%;
	}
	
	div.woocommerce-tabs {
		clear:both;
	}

	section.upsells, div.cross-sells {
		display:none;
	}

	#masthead {
		position: relative;
	}

	#masthead .storefront-primary-navigation {
		position: static;
		background: transparent;
	}

	#masthead .main-navigation {
		position: static;
	}

	#masthead button.menu-toggle {
		position: absolute !important;
		top: 55% !important;
		left: .75em !important;
		transform: translateY(-50%) !important;
		margin: 0 !important;
		z-index: 100;
	}

	#masthead .site-branding {
		padding-left: 5.2em !important;
	}

	#masthead .site-branding .site-title {
		font-size: 2.2em !important;
		padding-left:0;
		padding-right:0;
	}
}


@media (min-width:450px) {
	.site-content .products li {
		float:left;
		width:50%;
	}
}

@media screen and (max-width: 600px) {
	.tc-cfu-content-block {
		float: none !important;
		margin-left: 0 !important;
		max-width: 100% !important;
		clear: both;
	}

	.tc-author-bio {
		overflow: visible !important;
		clear: both;
	}
}

@media (min-width: 768px) {
	.site-header .site-branding {
		clear:none;
		margin-left:0;
	}
	.site-branding {
		max-width:35%;
		padding:0 !important;
		margin-right:10px !important;
	}
	.tc-logo {
		display:block;
	}
	.site-search {
		float:right !important;
		clear:none;
	}
	.tc-login {
		display:inline !important;
		clear: none;
		float:right !important;
	}
	.tc-login input {
		display:inline !important;
	}
	.tc-login p label {
		border:0;
		background:none;
		font-weight:normal;
		padding:0;
	}

	/* Hide the mobile-only Log In item on desktop. */
	li.tc-mobile-login-item {
		display: none !important;
	}
}


/* ==========================================================================
   Login modal
   ========================================================================== */

#tc-login-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9998;
}

#tc-login-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 2em;
	z-index: 9999;
	width: 90%;
	max-width: 380px;
	box-sizing: border-box;
	border-radius: 3px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

#tc-login-modal .tc-login-close {
	position: absolute;
	top: 0.5em;
	right: 0.75em;
	background: none;
	border: none;
	font-size: 1.5em;
	cursor: pointer;
	color: #666;
	padding: 0;
	line-height: 1;
}

#tc-login-modal .tc-login-close:hover {
	color: #000;
}

#tc-login-modal .tc-login-error {
	background: #fcf0f1;
	border-left: 4px solid #cc0000;
	padding: 0.75em 1em;
	margin-bottom: 1em;
	font-size: 0.9em;
	color: #cc0000;
}

#tc-login-modal .tc-login-error a {
	color: #cc0000;
	text-decoration: underline;
}

#tc-login-modal form p {
	margin-bottom: 1em;
}

#tc-login-modal label {
	display: block;
	margin-bottom: 0.25em;
	font-weight: 600;
}

#tc-login-modal input[type="text"],
#tc-login-modal input[type="password"] {
	width: 100%;
	box-sizing: border-box;
}

#tc-login-modal .tc-login-remember {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#tc-login-modal .tc-login-remember label {
	display: flex;
	align-items: center;
	gap: 0.4em;
	font-weight: normal;
	margin-bottom: 0;
}

#tc-login-modal .tc-login-remember input[type="checkbox"] {
	width: auto;
	margin: 0;
}

#tc-login-modal .tc-login-lostpw {
	font-size: 0.9em;
}

#tc-login-modal button[type="submit"] {
	width: 100%;
	text-align: center;
}

/* ------------------------------------------------------------------------------
   CFU Book Registration — notice and modal
   ------------------------------------------------------------------------------ */

.tc-cfu-register-notice {
	background: #f0f6ff;
	border: 1px solid #b3cef5;
	border-radius: 4px;
	padding: 1em 1.25em;
	margin: 0 0 1.5em;
}

.tc-cfu-register-notice p.tc-cfu-button {
	margin-bottom:0;
}

.tc-cfu-notice {
	border-radius: 4px;
	padding: .75em 1.25em;
	margin: 0 0 1.5em !important;
}

.tc-cfu-notice--success {
	background: #eaffea;
	border: 1px solid #7ed07e;
	color: #1a5c1a;
	margin-bottom: 1.5em !important;
}

#tc-cfu-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .5);
	z-index: 9998;
}

#tc-cfu-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, .25);
	width: min(520px, 96vw);
	max-height: 90vh;
	overflow-y: auto;
	padding: 1em 2em .75em;
	z-index: 9999;
}

.tc-cfu-close {
	position: absolute;
	top: .6em;
	right: .8em;
	background: none;
	border: none;
	font-size: 1.5em;
	line-height: 1;
	cursor: pointer;
	color: #666;
	padding: 0;
}

.tc-cfu-tabs {
	display: flex;
	border-bottom: 2px solid #d3ced2;
	margin-bottom: 1.25em;
	gap: .25em;
}

.tc-cfu-tab-btn {
	background: #ebe9eb;
	border: 1px solid #d3ced2;
	border-bottom: none;
	border-radius: 4px 4px 0 0;
	padding: .5em 1.25em;
	cursor: pointer;
	font-weight: bold;
	color: #515151;
}

.tc-cfu-tab-btn--active {
	background: #fff;
	border-bottom: 2px solid #fff;
	margin-bottom: -2px;
	color: #333;
}

.tc-cfu-error {
	background: #fff0f0;
	border: 1px solid #e07070;
	border-radius: 4px;
	padding: .6em 1em;
	margin-bottom: 1em;
	font-size: .95em;
}

.tc-cfu-contact-pref {
	border: 1px solid #d3ced2;
	border-radius: 4px;
	padding: .75em 1em;
	margin: .75em 0;
}

.tc-cfu-contact-pref legend {
	font-weight: bold;
	padding: 0 .25em;
}

.tc-cfu-contact-pref div {
	margin: .15em 0;
}

.tc-cfu-pref-label--all  { font-weight: bold; color: green; }
.tc-cfu-pref-label--some { font-weight: bold; color: blue; }
.tc-cfu-pref-label--none { font-weight: bold; color: red; }

/* Field rows: right-aligned label + input, not extending to the right edge. */
.tc-cfu-login-form p:not(.tc-cfu-remember),
.tc-cfu-register-form > p {
	display: flex;
	align-items: baseline;
	gap: .6em;
	margin-bottom: .4em !important;
	padding-right: 3em;
}

.tc-cfu-login-form p:not(.tc-cfu-remember) > label,
.tc-cfu-register-form > p > label {
	flex: 0 0 8em;
	text-align: right;
	white-space: nowrap;
}
 
.tc-cfu-login-form input[type="text"],
.tc-cfu-login-form input[type="password"],
.tc-cfu-register-form input[type="text"],
.tc-cfu-register-form input[type="email"],
.tc-cfu-register-form input[type="password"] {
	flex: 1;
	box-sizing: border-box;
	padding-top: .3em;
	padding-bottom: .3em;
	height: auto;
}

.tc-cfu-register-form > p:last-of-type {
	margin-top: 1.5em !important;
	padding-right: 0;
}

/* Remember Me row: plain flex, unaffected by field-row rules. */
.tc-cfu-remember {
	display: flex;
	align-items: center;
	gap: .5em;
	margin-bottom: .6em;
	padding-left: .25em;
}

.tc-cfu-remember label {
	display: flex;
	align-items: center;
	gap: .4em;
}

.tc-cfu-lostpw {
	margin-left: auto;
	font-size: .9em;
}

/* Contact preference section: no border, no background. */
.tc-cfu-contact-pref {
	display: flex;
	flex-direction: column;
	gap: .5em;
	border: none !important;
	background: transparent !important;
	padding: .25em 0;
	margin: .75em 0 0;
}

.tc-cfu-contact-pref legend {
	font-weight: bold;
	font-size: 1.1em;
	padding: 0;
	background: transparent !important;
}

.tc-cfu-contact-pref div {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

/* Radio rows: hanging indent so wrapped text clears the radio button. */
.tc-cfu-contact-pref label {
	display: flex !important;
	align-items: flex-start;
	margin: 0 !important;
	padding: 0;
	line-height: 1.4;
}

.tc-cfu-contact-pref input[type="radio"] {
	flex-shrink: 0;
	margin-right: .4em;
	margin-top: .25em;
}

.tc-cfu-pref-text {
	display: inline;
}

.tc-video mediaelementwrapper,
.tc-video video.wp-video-shortcode {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

/* Rating input stars */
.woocommerce p.stars a.active::before {
	content: '\f005';
	font-weight: 900 !important;
	color: #7b209f !important;
	opacity: 1 !important;
}

.woocommerce p.stars.selected a.active {
	outline: none;
}

.woocommerce p.stars a.below-active::before {
	content: '\f005';
	font-weight: 900 !important;
	color: #7b209f !important;
	opacity: 1 !important;
}

.woocommerce p.stars a:focus {
	outline: none;
}