/*
Theme Name: Far East Films 2026
Theme URI: https://fareastfilms.com/
Author: Far East Films
Author URI: https://fareastfilms.com/
Description: Custom editorial theme for Far East Films, supporting reviews, features, interviews, news, and media archives.
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: far-east-films
Tags: film, reviews, editorial, magazine, news

Far East Films is a custom theme originally based on Underscores (https://underscores.me/),
(C) Automattic, Inc. Modifications and design © Far East Films.

Normalize.css and other open-source resources are used under their respective licenses.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Normalize
2.0 Typography
3.0 Elements
4.0 Forms
5.0 Navigation
	5.1 Links
	5.2 Menus
6.0 Accessibility
7.0 Alignments
8.0 Clearings
9.0 Widgets
10.0 Content
	10.1 Posts and pages
	10.2 Asides
	10.3 Comments
11.0 Infinite scroll
12.0 Media
	12.1 Captions
	12.2 Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 Normalize
--------------------------------------------------------------*/
html {
	font-family: 'Cabin', Futura,'Trebuchet MS',Arial,sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

strong {
	font-family: 'Cabin', Futura,'Trebuchet MS',Arial,sans-serif;
	font-weight: bolder;
}

em {
	font-family: 'Cabin', Futura,'Trebuchet MS',Arial,sans-serif;
	font-style: italic;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
	font-weight: 700;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #404040;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: 'Cabin', Futura,'Trebuchet MS',Arial,sans-serif;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
3.0 Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
4.0 Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, .8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	color: #666;
	border: 0px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	color: #111;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"] {
	padding: 3px;
}

textarea {
	padding-left: 3px;
	width: 100%;
}

/*--------------------------------------------------------------
5.0 Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
5.1 Links
--------------------------------------------------------------*/
a {
	color: royalblue;
}

a:visited {
	color: purple;
}

a:hover,
a:focus,
a:active {
	color: midnightblue;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/*--------------------------------------------------------------
5.2 Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation li {
	float: left;
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 1.5em;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul ul li {

}

.main-navigation li:hover > a {
}

.main-navigation ul ul :hover > a {
}

.main-navigation ul ul a:hover {
}

.main-navigation ul li:hover > ul {
	left: auto;
}

.main-navigation ul ul li:hover > ul {
	left: 100%;
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a {
}

/* Small menu. */
.menu-toggle {
	display: none;
}

@media screen and (max-width: 600px) {
	.menu-toggle,
	.main-navigation.toggled .nav-menu {
		/* display: block; */
	}

	.main-navigation ul {
		/* display: none; */
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
6.0 Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/*--------------------------------------------------------------
7.0 Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
	max-width: 50%;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
	max-width: 50%;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
8.0 Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
9.0 Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/* Search widget. */
.widget_search .search-submit {
	display: none;
}

/*--------------------------------------------------------------
10.0 Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
10.1 Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
10.2 Asides
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}

/*--------------------------------------------------------------
10.3 Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
11.0 Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
12.0 Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
12.1 Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}

.wp-caption-text {
	text-align: center;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

/*--------------------------------------------------------------
12.2 Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}



/* Custom Theme Styling - Let's move this into separate files later on */

.site-description {
	display: none;
}

.home-features-1 {
	margin-bottom: 2rem;
	float: left;
}

#content {
	width: 1000px;
	margin: 0 auto;
	background: white;
	max-width: 100%;
}


/* Site Nav Styling */

a, a:link, a:active, a:visited {
	outline: none;
}

#masthead {
	background-color: #FFF;
	width: 100%;
	z-index: 1;
	border-bottom: 1px solid #D8D8D8;
	margin: 0 auto 30px auto;
}

#site-navigation {
	padding-top: 54px;
	padding-bottom: 10px;
	float: left;
	clear: none;
	width: 74%;

	/* keep flex layout */
	display: flex;

	/* FIX: prevent vertical drift */
	align-items: center;
}

/* FIX: the icon inside the button must NOT float */
#site-navigation i {
	float: none;          /* stop the icon drifting due to float/baseline */
	cursor: pointer;
	line-height: 1;
	display: block;
}

/* Desktop search button alignment (match menu baseline) */
#site-navigation .search-toggle{
  /* keep it at the far right inside the flex nav */
  float: none;
  margin-left: auto;

  /* nudge to match text baseline */
  position: relative;
  top: -2px;

  /* keep your “gap” after Store */
  padding: 0 0 0 35px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: auto;

  background: transparent;
  border: 0;
  box-shadow: none;
  text-shadow: none;
  -webkit-appearance: none;
  appearance: none;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}


/* FIX: the search button must NOT float inside a flex row */

#site-navigation .search-toggle i{
	float: none;
	display: block;
}

@media (max-width: 768px){
	/* Hide desktop navigation entirely on mobile (prevents “second menu”) */
	#site-navigation{
		display: none;
	}

	/* Show the mobile menu trigger */
	#menu-icon label{
		display: block;
	}
}

.site-branding {
	width: 1000px;
	margin: 0 auto;
}

.home-logo {
	display:block;
	float: left;
	margin-top: 15px;
	margin-right: 6%;
	width: 20%;
	margin-bottom: 8px;
}

#menu-icon label {
	display: none;
}


.mobile-navigation {
	display: none;
}

#site-navigation .menu {
	/* NEW: flex menu so spacing is consistent */
	display: flex;
	align-items: center;
	gap: 35px;          /* matches your old margin-right */
	margin: 0;
	padding: 0;
	float: none;        /* override old float */
}

/* NEW: stop float-based layout for top-level items (flex handles it) */
#site-navigation .menu > li {
	float: none;
}

.main-navigation a, .main-navigation a:link, .main-navigation a:visited {
	font-weight: 400;
	font-size: 0.75em;
	color: #4A4A4A;
	margin-right: 0;
	outline: none;
	transition: background-color .2s ease, color .2s ease, transform .05s ease;
}

.main-navigation a:hover {
	color: #BE3A26;
}

/* Optional: improve nav readability slightly */
#site-navigation .menu > li > a{
	letter-spacing: 0.12em;
	font-weight: 500;
}

/* Keep hover color scoped to top-level nav items only */
#site-navigation .menu > li > a:hover {
  color: #BE3A26;
}

/* Optional: keep dropdown hover neutral */
#site-navigation .menu li ul a:hover {
  color: #4A4A4A;
}

.entry-title {
	font-weight: 700;
	font-size: 2.6em;
	line-height: 1.3em;
}

.entry-content {
	font-weight: 400;	
	width: 600px;
	float: left;
}

.entry-content p {
	margin-top: 0px;
	margin-bottom: 2rem;
	line-height: 1.6em;
	font-size: 1.1em;
}

.site-title a {
	font-weight: 300;
	font-size: 1.6em;
	text-decoration: none;
	color: #b02a2a;
}



/* Custom Taxonomy Styling */

.post-taxonomies {
	font-weight: 400;	
	width: 200px;
	float: left;
	margin-right: 30px;
	/* background-color: #DBD5BA; */
}

.post-taxonomy-title {
	font-weight: 600;
	font-size: 0.75em;
	width: 100%;
	float: left;
	margin-top: 0px;
	margin-bottom: 0px;
	/* color: #424242; */
	color: #B4A158;
	/*border-bottom: 1px solid #BDBDBD; */
	margin-bottom: 5px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding-left: 2px;
}

.home-news ul {
	margin-bottom: 0px;
}

.post-taxonomy-individual {
	margin-bottom: 5px;
	float: left;
	width: 100%;
	color: #a7a7a7;
}
 
.home-reviews .directed-by {
	font-size: 0.85em;
} 

.news-thumbnail-time {
	color: #9e9e9e;
	font-weight: 400;
	font-size: 0.6em;
	text-transform: uppercase;
	letter-spacing: 0.1em;	
	margin-top: 5px;
	display: block;
}
 
.main-article-text-content-link {
	display: block;
	float: left;
	width: 34.3333%;
	width: 100%;
	padding-left: 5%;
	position: absolute;
	bottom: 0;
	/* background: #F3F3F3; */
	background: rgba(255,255,255,0);
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(0,0,0,0.65) 20%, rgba(0,0,0,0.65) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,0)), color-stop(20%, rgba(0,0,0,0.65)), color-stop(100%, rgba(0,0,0,0.65)));
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(0,0,0,0.65) 20%, rgba(0,0,0,0.65) 100%);
	background: -o-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(0,0,0,0.65) 20%, rgba(0,0,0,0.65) 100%);
	background: -ms-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(0,0,0,0.65) 20%, rgba(0,0,0,0.65) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(0,0,0,0.65) 20%, rgba(0,0,0,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#000000', GradientType=0 );
} 
 
/* Search Bar */

#search-bar {
	width: 100%;
	display: none;
	float: left;
}

#search-close {
	cursor: pointer;
	position: absolute;
	top: 15px;
	right: 0px;
}

#search-bar-form {
	height: 60px;
}

#search-bar form .search-submit {
	width: 10%;
    padding: 0px;
    margin: 0px;
    height: 35px;
    border-radius: 0px;
    font-size: 0.8em;
    box-shadow: none;
    border: 0px;
    color: #326b7a;
    text-shadow: none;
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: .2em;
	transition: all .2s ease;
	background: none;
}

#search-bar-mobile form .search-submit {
	width: 100%;
    padding: 0px;
    margin: 0px;
    height: 48px;
    border-radius: 5px;
    font-size: 0.8em;
    box-shadow: none;
    border: 0px;
    color: #fff;
    text-shadow: none;
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: .2em;
    transition: all .2s ease;
    background: #BE3A26;
    text-align: left;
    padding-left: 1rem;
}

.abh_tab_content .abh_text a, .abh_tab_content .abh_text a:link, .abh_tab_content .abh_text a:visited {
	font-weight: 400;
    letter-spacing: 0.1em;
    outline: medium none;
    font-size: 0.75em;
    color: #959595;
    margin-bottom: 10px;
    margin-top: 0px;
    text-transform: uppercase;
}

    #search-bar form .search-submit:hover {
	    color: #BE3A26;
    }

#search-bar form label .search-field {
    width: 76%;
    padding: 0px 0px 0px 0px;
    height: 50px;
    float: left;
    font-size: 0.8em;
    border-radius: 0px;
    background-color: white; 
    text-transform: uppercase;
    letter-spacing: .2em;
    font-weight: 300;
    box-sizing: border-box;
    outline: none;
 }
 
 #search-bar-mobile form label .search-field {
    width: 100%;
    padding: 0px 0px 0px 1rem;
    height: 50px;
    float: left;
    font-size: 0.8em;
    border-radius: 0px;
    background-color: white; 
    text-transform: uppercase;
    letter-spacing: .2em;
    font-weight: 300;
    box-sizing: border-box;
    outline: none;
 }
 
 .ajax-load-more-wrap.white button.alm-load-more-btn {
	 outline: none;
 }
 
 #search-bar form {
    width: 100%;
    position: relative;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.best-new-thumbnail {
    width: 27%;
    margin-right: 5%;
    float: left;
    height: 100px;
    overflow: hidden;
} 
 
.post-taxonomy-individual a {
	display: inline-block;
	background-color: #ffffff;
	text-decoration: none;
	font-size: 0.85em;
	/* padding: 1px 7px; */
}

.post-taxonomy-individual a:last-child {
	margin-bottom: 10px;
}

.post-taxonomy-individual a:link {
	color: #a7a7a7;
}

.post-taxonomy-individual a:visited {
	color: #a7a7a7;
}

.post-taxonomy-individual a:hover {
	color: #BE3A26;
}

.alm-listing li {
	overflow: inherit;
	position: inherit;
	padding: 0px;
	margin-right: 5%;
}

.alm-listing li a {
	display: block;
}

.alm-listing li img {
	position: inherit;
	
}

.directed-by {
	padding-top: 0px;
    border-top: 0px;
    font-size: 0.9em;
	margin-bottom: 30px;
	/* text-transform: uppercase; */
	border-top: 1px solid rgb(189, 189, 189);
	padding-top: 10px;
	color: #a7a7a7;
}



.directed-by a {
	text-decoration: none;
}

.directed-by a:link {
	color: #6d6357;
	/* border-bottom: 1px dotted #6d6357; */
		color: #a7a7a7;
}

.directed-by a:visited {
	color: #6d6357;
	/* border-bottom: 1px dotted #6d6357; */
		color: #a7a7a7;
}

.directed-by a:hover {
	color: #BE3A26;
}

/* Single Entry Posts Styling */

.entry-title {
	margin-bottom:15px;
}

.entry-header {
	float: left;
	width: 600px;
}

.entry-content {
	margin-top: 0px;
}

.entry-content p:first-child {
	margin-top: 0px;
}

.entry-header h1 {
	margin-top: 15px;

}

.post-taxonomy-image img {
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}

.left-column-container {
	width: 230px;
	float: left;
}

/* Stars */

span.stars, span.stars span {
    display: inline-block;
    background: url('images/stars.png') 0 -16px repeat-x;
    width: 80px;
    height: 16px;
	margin-bottom: 15px;
	float: left;
	
}

span.stars span {
    background-position: 0 0;
    max-width: 80px;
}

.post-header-tax_rating a, .post-header-tax_rating a:link, .post-header-tax_rating a:hover {
	background: none;
	padding-left: 0px;
}

/* AKA Title */

.aka-title {
	margin-bottom: 10px;
	display: block;
	color: #b4a158;
	font-style: italic;
	
}

.aka-title:before {
	content: "also known as: ";
	color: #6c6c6c;
	font-style: italic;
}

.written-by p {
	font-weight: 400;
	letter-spacing: 0.1em;
	outline: medium none;
	font-size: 0.75em;
	color: #959595;
	margin-bottom: 10px;
	margin-top: 0px;
	text-transform: uppercase;	
}

.written-by p a {
	text-decoration: none;
	color: rgb(14, 65, 70);
}

/* Archive Taxonomy Styling */

.archive-taxonomy-post {
	margin: 30px auto;
	width: 700px;
}

.archive-taxonomy-image {
	width: 15%;
	float: left;
	margin-right: 5%;
	clear: left;
}

.archive .page-title {
    margin: 2rem auto 2rem auto;
    float: none;
    text-align: left;
}

.archive-taxonomy-content {
	width: 80%;
	float: left;
}

.top-social p {
	margin-top: 0px;
	display: inline-block;
	margin-bottom: 15px;
	float: left;
}

.top-social div {
	margin-bottom: 50px;
}

.top-social p a {
	color: #d8d8d8;
	font-size: 1.6em;
	display: inline-block;
	text-decoration: none;
	margin-right: 5px;
	transition: all .2s ease;
}

#ytTrailerLink a {
	margin-right: 1rem;
	margin-bottom: 0.5rem;
	font-size: 0.8rem;
}

#ytTrailerLink {
	margin-bottom: 2rem;
	display: block;
	float: left;
	clear: left;
}

.top-social p a:hover {
	color: #BE3A26;
}

.top-social div {
	margin-bottom: 2rem;
}

.top-social div a {
    color: #484848;
    font-size: 1em;
    display: block;
    text-decoration: none;
    width: auto;
    float: left;
    transition: all .2s ease;
}
.top-social div a:hover {
	color: #BE3A26;
	}

.top-social div a span {
	font-size: 0.8rem;
}

.amazon-review-link {
	margin-bottom: 2rem;
}

.archive-taxonomy-title h2 {
	font-weight: 600;
	font-size: 1.6em;
	line-height: 1.1em;
	margin-top: 0px;
	margin-bottom: 10px;
	outline: medium none;
}

.archive-taxonomy-title a {
	text-decoration: none;
	
}

.archive-taxonomy-title a:link {
	color: #404040;
	transition: all 0.3s;
	outline: medium none;
}

.archive-taxonomy-title a:visited {
	color: #404040;
}

.archive-taxonomy-title a:hover {
	color: #BE3A26;
}

.archive-taxonomy-excerpt p {
	font-weight: 400;
	font-size: 1em;
	clear: left;
}

.archive-written-by p {
	font-style: italic;
	font-size: 1.3em;
	color: #959595;
}
.archive-directed-by {
	/* font-style: italic; */
	font-size: 0.9em;
	color: #a7a7a7;
	margin-bottom: 10px;
	/* text-transform: uppercase; */
	border-top: 1px solid rgb(189, 189, 189);
	padding-top: 10px;
}

.archive-directed-by a {
	text-decoration: none;
}

.archive-directed-by a:link {
	color: #6d6357;
	/* border-bottom: 1px dotted #6d6357; */
		color: #a7a7a7;
}

.archive-directed-by a:visited {
	color: #6d6357;
	/* border-bottom: 1px dotted #6d6357; */
		color: #a7a7a7;
}

.archive-directed-by a:hover {
	color: #BE3A26;
}

.archive-directed-by .stars {
	margin-bottom: 15px;
	margin-top: 10px;
}

/* Home Page */

.home-main-article {
	width: 50%;
	float: left;
	box-sizing: border-box;
	margin-right: 2.5%;
}

.main-article-text-content {
	float: left;
	position: relative;
	width: 100%;
	margin-bottom: 2rem;
	/* border-bottom: 1px solid #D6D6D6;
	border-top: 1px solid #d6d6d6; */
}



.home-reviews {
	width: 50%;
	float: left;
	box-sizing: border-box;
	margin-right: 2.5%;
	padding-right: 2.5%;
	border-right: 1px solid #D6D6D6;
	margin-bottom: 30px;
}

.home-reviews ul {
	margin-left: 0px;
	padding-left: 0px;
}

.home-reviews ul li {
	float: left;
	width: 47.5%;
	box-sizing: border-box;
	margin-right: 5%;
	list-style-type: none;
	margin-bottom: 20px;
}

.home-reviews ul li:nth-child(2n+1) {
	clear: none;
}

.home-reviews ul li:nth-child(2n) {
	margin-right: 0px;

}

#disqus_thread {
	margin-bottom: 3rem;
}

.page-template-all-news-php .all-features-text, .page-template-all-reviews-php .all-features-text {
	width: 55%;
	display: block;
	float: left;
}

.page-template-all-features-php .all-features-text {
	display: block;
	float: left;
	width: 100%;
}


.home-reviews .article-thumbnail a {
	display: block;
	width: 100%;
	overflow: hidden;
	height: 113px;
	overflow: hidden;
	width: 100%;	
}

.all-features-excerpt {
	float: left;
	width: 100%;
	font-size: 0.8rem;
	clear: left;
	max-width: 300px;
	
}

.page-template-all-news-php .home-trailers ul li {
	margin-bottom: 2rem;
}

.page-template-all-features-php .home-trailers ul li {
	margin-bottom: 3rem;
}

.page-template-all-features-php .all-reviews-thumbnail {
	width: 100%;
	margin-bottom: 1rem;
}

.page-template-all-features-php .all-reviews-thumbnail img {
	max-width: 300px;
}

.page-template-all-features-php .home-trailers ul li {
	margin-right: 5%;
}

.page-template-all-features-php .home-trailers ul li:nth-child(2n) {
	margin-right: 0;
}

.page-template-all-news-php .all-reviews-thumbnail {
	width: 40%;
}

.all-reviews-thumbnail a img {
	vertical-align: top;
}

.page-template-all-news-php #content, .page-template-all-features-php #content {
	padding-left: 5%;
	padding-right: 5%;
}

.page-template-all-news-php #content .home-trailers h2, .page-template-all-features-php #content .home-trailers h2  {
	margin-top: 0;
	font-weight: 600;
}



.home-reviews .excerpt p {
	font-size: 0.9em;
	margin-top: 0px;

}

.home-reviews h2 {
	font-size: 0.9em;
    margin-bottom: 6px;
    line-height: 1.4em;
    margin-top: 10px;
    font-weight: 600;
}

.home-reviews h2 a {
	text-decoration: none;
	color: #000;	
}

.stacked-items ul {
	margin-left: 0px;
	padding-left: 0px;
}

.stacked-items ul li {
	float: left;
	width: 31.3333%;
	box-sizing: border-box;
	margin-right: 3%;
	list-style-type: none;
	margin-bottom: 20px;
}


.stacked-items ul li:nth-child(3n) {
	margin-right: 0px;
}

.stacked-items ul li:nth-child(3n + 1) {
	clear: left;
}

.stacked-items .article-thumbnail a {
	display: block;
	width: 100%;
	overflow: hidden;
	height: auto;
	overflow: hidden;
	width: 100%;
	margin-bottom: 0.5rem;	
}

.stacked-items .excerpt p {
	font-size: 0.9em;
	margin-top: 0px;

}

.stacked-items h2 {
    font-size: 1em;
    margin-bottom: 6px;
    line-height: 1.2em;
    margin-top: 0px;
    font-weight: 600;
}

.stacked-items h2 a {
	text-decoration: none;
	color: #000;	
}

.reviews-section span.date {
	color: #a7a7a7;
}


.highlights ul {
	margin-left: 0px;
	padding-left: 0px;
}

.highlights ul li {
	float: left;
	box-sizing: border-box;
	list-style-type: none;
	margin-bottom: 20px;
	width: 47.5%;
	margin-right: 5%;
}



.highlights ul li:nth-child(2) {
	margin-right:0%;
}

.highlights ul li .article-thumbnail a {
	height: auto;
}

.highlights .article-thumbnail a {
	display: block;
	width: 100%;
	overflow: hidden;
	height: auto;
	overflow: hidden;
	width: 100%;	
}

.highlights .excerpt p {
	font-size: 0.9em;
	margin-top: 0px;

}

.highlights h2 {
	font-size: 1.4em;
	margin-bottom: 0.5rem;
    line-height: 1.4em;
    margin-top: 1rem;
    font-weight: 400;
}

.highlights h2 .date {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.35em;
	color: #C5AD45;
}

.stacked-items h2 .date {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.6em;
	color: #C5AD45;	
}

.highlights h2 a {
	text-decoration: none;
	color: #000;	
}

.page-template-reviews .reviews-section {
	width: 100%;
	float: left;
}





.home-main-article {
	margin-bottom: 30px;
}

.home-main-article .article-thumbnail a img {
	width: 500px;
	height: 300px;
}

.home-main-article .article-thumbnail a {
	width: 500px;
	height: 300px;	
}

.home-main-article .callout {
	background-color: #E8E5D7;
}

.home-main-article .callout h2 {
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 10px 15px 0px 15px; 
	font-size: 3em;
	font-weight: 700;
}

.home-main-article .callout h2 a {
	text-decoration: none;
	color: white;
}

.home-main-article .callout a {
	text-decoration: none;
	color: #1d4b77;
}

.article-thumbnail > a {
	display: block;
}

.top-social div a.link-to-info {
	display: none;
}


.home-main-article .excerpt {
	padding: 0px 15px 10px 15px;
}

.home-main-article .excerpt p {
	margin: 0px 0px 1em 0px;
	font-size: 1em;
	color: black;
}

.main-article .directed-by {
	margin: 0px;
	font-size: 0.85em;
	
}

.reviews-section .directed-by {
	border-top: none;
	padding-top: 0px;
	margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 0.62em;
}

.reviews-section .directed-by a {
	display: inline-block;
}

.home .section-title {
	  font-weight: 600;
	  font-size: 0.8em;
	  width: 100%;
	  float: left;
	  margin-top: 0px;
	  color: #BE3A26;
	  margin-bottom: 15px;
	  clear: none;
	  width: 100%;
	  text-align: left;
	  letter-spacing: 0.1em;
	  text-transform: uppercase;

}

#secondary .sidebar-article .article-thumbnail {
	display: block;
	float: left;
	max-width: 150px;
	margin-right: 1rem;
	
}

#secondary .sidebar-article .article-thumbnail img {
	vertical-align: bottom;
}

.sidebar-item {
	margin-bottom: 2rem;
}

.sidebar-article-text-content-link {
	float: left;
	display: block;
	width: 45%;
}


.home-reviews .link-to-all {
	display: block;
	float: left;
	width: 100%;
}

.alm-btn-wrap {
	
	float: left;
	width: 100%;
	outline: none;
}

.home-post-type {
	font-weight: 400;
	font-size: 0.9em;
	outline: medium none;
	  color: #ffffff;
	  /* border-top: 1px solid #BE3A26; */
	  padding-top: 0px;
	  /* float: left; */
	  clear: both;
}
	
.overlay-link:link, .overlay-link:visited {
	color: white;
}	
	
.home-rating {
	display: block;

	
}

.home-rating span.stars {
	float: none;
	margin-bottom: 5px;	
}

.home-best-reviews {
	
}

.home .home-trailers, .home .home-dvd {
	width: 47.5%;
	float: left;
	margin-bottom: 60px;
}


.page-template-all-reviews #content {
	padding-left: 5%;
	padding-right: 5%;
}

.home-dvd li .home-dvd-image {
    border: 1px solid #D4D4D4;
    margin-bottom: 0px;
    padding: 5px;	
	line-height: 0px;
}

.home-trailers ul, .home-news ul {
	margin-left: 0px;
	padding-left: 0px;
	float: left;
	margin-bottom: 0px;
	width: 100%;
  }
  
 .home-news ul li {
  width:100%;
  color:#fff;
  margin:0 auto;
/* ratio of width to padding-bottom is the same as ratio of image width to height */
 } 
  
.home-news ul li img {
	width: 100%;
}  

.home-news {

}

.home-news ul li:nth-child(1), .home-news ul li:nth-child(2) {
	margin-right: 3%;
}

.home-news ul li:last-child {
	margin-right: 0%;
}


.home-news ul li .overlay {
  /* background: rgba(29, 75, 119, .5); */
  /* height: 100.5%;
  width: 100%;
  position: absolute;
  top: 0;
  display: table; */
}

.home-news ul li {
	width: 31.33333332%;
	box-sizing: border-box;
	float: left;
	text-align: center;
}

.home-news ul li .news-content {
  display: block;
  text-align: center;
  padding: 0 0px; 
  width: 100%;
  padding-bottom: 15px;
 }
  
.home .trailer-thumbnail {
	 float: left;
	 width: 47.5%;
	 height: auto; 
	 margin: 0px 3.5% 2rem 0px;
  }
  
  .home-trailers ul li {
	  list-style-type: none;
	  float: left;
	  margin-bottom: 0px;
  }
  
.all-reviews-stack ul li {
	width: 47.5%;
	margin-right: 5%;
}  

.all-reviews {
	width: 100%;
	float: left;
	margin-bottom: 4rem;
}

.all-reviews-thumbnail {
    width: 27%;
    margin-right: 5%;
    float: left;
    height: auto;
    overflow: hidden;
}

.all-reviews-stack ul li a {
	display: block;
	height: auto;
}  
  
  .all-reviews-stack ul li:nth-child(2n){
	  margin-right: 0;
	  
  }
  
   .home .home-trailers ul li {
	  list-style-type: none;
	  float: left;
	  width: 100%;
	  margin-bottom: 0px;
  } 
  
 .home .trailer-thumbnail a, .home .trailer-thumbnail a img {
	 display: block;
	 width: 100%;
	 height: auto;
 } 
 
 .home .link-to-all {
	  text-decoration: none;
	  font-size: 0.7em;
	  text-transform: uppercase;
	  width: auto;
	  display: block;
	  float: left;
	  text-align: left;
	  cursor: pointer;
	  background: #FFF;
	  background-color: #BE3A26;	
	  color: white;  
	  transition: all .4s;
	  border-bottom: 1px solid #FFF;
	  font-weight: 300;
	  line-height: 1em;
	  letter-spacing: 0.1em;
	  padding: 10px 17px;
	  border-radius: 4px;
 }
 
  .home .link-to-all:hover {
	  
  }
  
  .home-dvd ul li {
	  display: block;
	  width: 27%;
	  float: left;
	  margin-right: 5%;
	  margin-left: 0px;
	  margin-bottom: 15px;
  }
  
  .home-dvd ul li h2 {
	  font-size: 1em;
	  line-height: 1.3;
	  font-weight: 600;
	  margin-top: 5px;

  }
  
  .home-dvd ul li a, .home-dvd ul li a:link, .home-dvd ul li a:visited {
	  text-decoration: none;
	  color: #000;
  }
  
  .home-dvd {
	  /* padding: 15px;
	  background: #f5f5f5;
	  border:1px solid #e0e0e0; */
  }
  
  .home-dvd ul {
	  margin: 0px;
	  padding-left: 0px;
  }
  
 .home-dvd-image {
	 
	 
 }
  
 .home-trailers h2, .home-single h2 {
 	width: auto;
    clear: none;
    font-size: 0.9em;
    margin-top: 0px;
    margin-bottom: 5px;
    font-weight: 600;
    line-height: 1.35em;
	 
 }
 
.home-trailers .trailer-content {
	 width: 49%;
	 float: left;
 }
 
 .trailer-content .excerpt {
	 font-size: 0.84em;
 }
 
 .home-trailers h2 a,  .home-trailers h2 a:visited, .home-single h2 a, .home-single h2 a:visited {
	 color: #000;
	 text-decoration: none;
 }
 
 .home-trailers .directed-by {
	 padding-top: 0px;
	 border-top: 0px;
	 font-size: 0.6em;
	 margin-bottom: 5px;
     text-transform: uppercase;
     letter-spacing: .1em;
 }
 
  .home-trailers .excerpt p {
	  margin-top: 5px;
	  margin-bottom: 15px;

  }
  
  .home-news {
	  /* background-color: #30281d; */
  }
  
  .entry-tags {
	  display: block;
	  margin-bottom: 3rem;
  }
  
  .entry-tags a {
	  display: inline-block;
	  background-color: #656c7a;
	  padding: .25rem .5rem;
	  margin-right: .5rem;
	  margin-bottom: .5rem;
	  text-decoration: none;
	  font-size: .9rem;
	  transition: all .2s ease;
	  border-radius: 3px;
  }
  
  .entry-tags a:link, .entry-tags a:visited {
	  color: white;
  }
  
  .entry-tags a:hover {
	  background-color: #BE3A26;
  }
  
  .entry-tags a:last-child {
	  margin-right: 0;
  }
  /*
  .movie-news-title {
	  text-align: center;
  }
  
  .home-news .news-thumbnail img {
	  width: 150px;
		height: 150px;
		display: block;
		margin: 0 auto;
		margin-bottom: 15px;
  }
  
  .news-content h2 {
	  width: 60%;
	  display: block;
	  margin: 0 auto;
	  text-align: center;
  }
  
  .home-news ul li {
	  margin-bottom: 30px;
  }
  */
  /*
	.home-best-reviews ul li:nth-child(5) {
		margin-bottom:0px;
	}
    
   	.home-best-reviews ul li:nth-child(6) {
		margin-bottom:0px;
	} */
    
	.home-best-reviews ul li h2 {
		font-size: 1.3em;
		font-weight: 700;
		margin-bottom: 5px;
		line-height: 1.3em;
	}
	
	.current_page_item a {
		/* color: #BE3A26;
		border-bottom: 1px solid #BE3A26;
		padding-bottom: 3px; */
	}
	
	.home-best-reviews {
		width: 100%;
		margin-bottom: 60px;
		float: left;
	}
	
	
	.home-best-reviews ul li {
		margin-bottom: 20px;
		width: 47.5%;
		display: inline-block;
		vertical-align: top;
		float: left;
	}	
	
	.home-best-reviews ul li:nth-child(2n) {
		/*clear:left;*/
	}	
	/*
	.home-best-reviews ul li:nth-child(1), 	.home-best-reviews ul li:nth-child(3), .home-best-reviews ul li:nth-child(5)	{
		margin-right: 10px;
	}	
	
	.home-best-reviews ul li:nth-child(2), 	.home-best-reviews ul li:nth-child(4), .home-best-reviews ul li:nth-child(6)	{
		margin-left: 10px;
	}	*/	
	
	.home-best-reviews ul {
		text-align: left;
	}
	
	.home-best-reviews span.date {
		text-transform: uppercase;
		letter-spacing: 0.1em;
		color: #C5AD45;
	}
			
		.home-best-reviews span.stars span {
			margin-bottom: 5px;
		}	
		
	.home-best-reviews ul {
		    display: block;
		    width: 100%;
		    margin: 0 auto;
	}	
	
	.post-special-image img {
		
	}
	
	.home-news ul li h2 a, 	.home-news ul li h2 a:visited {
		text-decoration: none;
		color: #3A454B;
	}
	
		.home-news ul li h2 a:hover {
			color: #BE3A26;	
		}
	
		.home-news ul li h2 {
		font-size: 1em;
		line-height: 1.4em;
		margin-top: 0px;
		margin-bottom: 0px;
		width: 100%;
		padding: 5px 0px 0px 0px;
		font-weight: 400;

		}
	

	.home-news {
		width: 100%;
		display: block;
	    float: left;	

	}
	
	.home-news-1 {
	    /* border-bottom: 1px solid #D8D8D8; */
		margin-bottom: 4rem; 	
	}

	.home .home-best-reviews h1.section-title {
		margin-bottom: 1rem;
	}
	
	.article-thumbnail {
		margin-bottom: 0px;
	}
	
	.post-special-image img {
		margin-bottom: 0px;
	}
	
	.home-large-article {
	  width: 100%;
	  float: left;
	  color:#fff;
	  margin:0 auto;
	  height: auto;
	  position: relative;
	/* ratio of width to padding-bottom is the same as ratio of image width to height */


	  margin-bottom: 2rem;
	}
	
	.home .site-main {
		
		float: left;
	}
	
	.home-large-article a img {
		vertical-align: bottom;
		width: 100%;
		height: auto;
		
	}
	
	.home-large-article .callout {
	    display: table-cell;
	    vertical-align: bottom;
	    text-align: left;
	    padding:25px 25px;
	    width: 100%;
	}
	
	.main-article-text-content h2 {
		font-size: 2.4em;
		text-align: left;
		margin-bottom: 0px;
		margin-top: 0px;
		padding: 1rem 1rem 1rem 0px;
		line-height: 1.2em;
		/* font-weight: 700; */
		font-weight: 700;
		color: #ffffff;
	}
	
	.main-article-text-content h2 a {
		text-decoration: none;
		color: white;
	}	
	
	.post_copyright_container {	
	    position: relative;
	    bottom: 3rem;
	    left: 15px;
	    color: #f1f1f1;
	    font-size: 0.75em;
	}
	
	.post_copyright_container a:link, 	.post_copyright_container a:visited {
		color: #f1f1f1;
	}	
	
	.post_copyright_container p {
		margin-top: 0px;
		margin-bottom: 10px;
	}
	
	.main-article-text-content .excerpt {
	  font-size: 0.9em;
	  text-align: left;
	  padding: 0px 2rem 0px 0px;
	  display: block;
	  clear: both;
	}	
	
	.main-article-text-content .excerpt p {
		margin-top: 0px;
		margin-bottom: 1rem;
		font-size: 1.2em;
		line-height: 1.3em;
		padding: 0px;
		color: #ffffff;
		max-width: 66.65%;
	}	

	.main-article-text-content .directed-by {
		text-align: left;
		border-top: 0px;
		padding: 0px 1rem 0px 0px;
		display: block;
	}
	
	.main-article-text-content .directed-by a {
		text-decoration: none;
		color: #FFF;
	}
	
	footer {
		padding: 45px 0px 60px 0px;	
		border-top: 1px solid #D6D6D6;	
		width: 1000px;
		margin: 0 auto;
	}
	
	.related-posts-title {
		font-weight: 400;
	    font-size: 0.8em;
	    width: 100%;
	    float: left;
	    margin-top: 0px;
	    color: #BE3A26;
	    margin-bottom: 15px;
	    clear: none;
	    width: 100%;
	    text-align: left;
	    letter-spacing: 0.2em;
	    text-transform: uppercase;
	}
	
	.home-news ul > a {
		display: block;
	}
	
	.site-info-left {
		width: 50%;
		float: left;
		margin-top: 1rem;
		line-height: 1.2em;
	}
	
	footer a, footer a:link, footer a:visited {
		color: #cecece;
		transition: .2s all ease;
	}
	
	footer a:hover {
		color: #3A454B;
	}
	
	.site-info-right {
		width: 50%;
		float: left;
		text-align: right;
		font-size: 1.6em;
		margin-top: 10px;
		line-height: 1.2em;
		padding-right: 0px;		
	}
	
	footer .site-info img {
		width: 12%;
		height: auto;
		margin: 0 auto;
		padding-bottom: 15px;
		display:block;
		opacity: 0.5;
	}
	
	footer p {
		font-weight: 300;
		font-size: 0.8em;
		color: #FFF;
		padding-right: 25px;
		text-transform: uppercase;
		letter-spacing: 0.2em;
		color: #cecece;
		text-align: left;
	}
	
	footer .last-links p {
		text-align: center;
	}
	
	footer .last-links p a {
		text-decoration: none;
		text-transform: none;
		letter-spacing: 0;
	
	}
	
	footer .site-info {
		display: block;
		margin: 0 auto;
		width: 1000px;
		margin-bottom: 2rem;
	}
	
	/* Feature Posts Styling */
	
	.single-feature_post_type .entry-header {
		width: 700px;
		margin: 0 auto;
		float: none;
	}
	
	.single-feature_post_type .entry-content {
		width: 700px;
		margin: 0 auto;
		float: none;
	}
	
	.single-feature_post_type .entry-content p {
		font-size: 1.1rem;
	}

	
	.entry-content p a {
		color: #b4a158;
		text-decoration: none;
		border-bottom: 1px solid #b4a158;
		transition: all .2s ease;
	}
	
	.entry-content p a:hover {
		border-bottom: 1px solid #BE3A26;
		color: #BE3A26;
	}	
	
	.single-feature_post_type .lead_in_text {
		  font-weight: 300;
		  font-size: 1.4em;
		  line-height: 1.6em;
		  display: block;
		  max-width: 700px;
		  margin: 2rem auto;
		  color: #7a7a7a;
	}
	

	
	.single-feature_post_type .entry-title {
		text-align: left;
		margin-bottom: 1rem;
		font-size: 3.4em;
		margin-top: 15px;
	}
	
	.single-feature_post_type .directed-by {
		border: none;
	}
	
	.single-feature_post_type .written-by {
		text-align: left;
	}
	
	.single-feature_post_type .tags {
		text-align: center;
		font-size: 0.8rem;
		margin-bottom: 2rem;
	}
	
	.single-feature_post_type .tags a:link, .single-feature_post_type .tags a:visited {
		color: #8e2d37;
		text-decoration: none;
		border: 1px solid #dfdfdf;
		padding: 3px 5px;
	}
	
	.single-feature_post_type .entry-content blockquote p {
		float: right;
		width: 50%;
		color: #C5AD45;
		font-family: 'Cabin', Futura,'Trebuchet MS',Arial,sans-serif;
		font-size: 1.8rem;
		margin-bottom: 1em;
		margin-top: 0.5em;
		text-align: left;
		margin-left: 5%;
	}
	
	.entry-content figcaption {
		font-size: 0.9rem;
		color: #666666;
		
	}
	
	.single-feature_post_type p span {
		
	}
	
	.single-feature_post_type blockquote p {
		font-size: 1.4rem;
		margin-bottom: 0px;
	}
	
	.single-feature_post_type .post-taxonomy-title {
		font-weight: 400;
	  font-size: 0.9em;
	  width: auto;
	  float: none;
	  margin-top: 0px;
	  margin-bottom: 0px;
	  color: #959595;
	  display: inline-block;
	  border: none;
	  text-transform: none;
	}
	
	.entry-content h2 {
		margin-bottom: 2rem;
		 font-weight: 700;
		  font-size: 1.4em;
		  line-height: 1.6em;
		  color: #C5AD45;
	}
	
	/* .entry-content p:first-letter {
		font-size: 3em;
		float: left;
	} */
	
.single-news_post_type .entry-content > p:first-of-type {
  font-size: 1.05em;
  color: #444;
}

.single-news_post_type .entry-title{
  margin-bottom: 10px;
  line-height: 1.15;
}

.single-news_post_type .written-by{
  margin-top: 0;
  margin-bottom: 18px;
  font-size: 0.85em;
  color: #888;
}

.single-news_post_type .post-taxonomy-image img,
.single-news_post_type .entry-header img{
  margin-bottom: 14px;
  border-radius: 6px; /* optional, matches sidebar card rounding */
}

.single-news_post_type .entry-content > p:first-of-type{
  margin-top: 0;
  margin-bottom: 1.2em;
}
	
	.single-feature_post_type #page {
		
	}
	
	.entry-content blockquote p {
	    quotes: "" "";
	    font-weight: 700;
	    font-size: 2rem;
	    margin: 0.5rem;
	    font-style: italic;
	    line-height: 1.4em;
	    color: #C5AD45;
	    margin-bottom: 2rem;
	    text-align: center;
	}
	
	a.button {
		display: inline-block;
		font-size: 0.8em;
		padding: 6px 12px;
		background: #ecf7fd;
		border-radius: 2px;	
		margin: 0px .5em .5em 0;
		transition: all .3s ease;
	}
	
	a.button:link, a.button:visited {
		text-decoration: none;
		color: #356680;
	}
	
	a.button:hover {
		background:#356680;
		color: #ecf7fd;
	}
	
.iframe-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 3rem;
  height: 0;
  overflow: hidden;
  margin-bottom: 3%;
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Related Posts */

.related {
	clear: both;
	width: 100%;
	float: left;
	margin-top: 60px;
}

.related ul {
	margin-left: 0px;
	padding-left: 0px;
	margin-bottom: 2rem;
}

.related ul li {
	list-style-type: none;
	margin-right: 4%; 
	width: 22%;
	float: left;
	padding: 0px;
}

.related-post-image {
    width: 100%;
    overflow: hidden;
}

.related ul li.third {
	margin-right: 0px;
}

.related-post-image {}

.post-header-tax_share p {
	margin-bottom: 5px;
	margin-top: 10px;
}
.post-header-tax_share p a {
	font-size: 1.4em;
}
.post-header-tax_share span {
	background: #326b7a;
}

.related-items a {
	text-decoration: none;
	/*font-family: "Crimson Text", "Book Antiqua",Palatino,"Palatino Linotype","Palatino LT STD",Georgia,serif; */
	color: #404040;
}

.related-items span {
	line-height: 1.4em;
    text-align: left;
    display: block;
    padding: 5px 0px;
    font-size: 0.9em;
}

.search-everything-highlight-color {
	background-color: #e0e0e0 !important;
}

.page-title {
	font-weight: 400;
    font-size: 0.8em;
    width: 100%;
    float: left;
    margin-top: 2rem;
    color: #BE3A26;
    margin-bottom: 2rem;
    clear: none;
    width: 100%;
    text-align: left;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}	

.home-trailers .navigation {
	display: block;
    font-weight: 400;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    outline: none;
    transition: all .2s ease;
    background: white;
}

.home-trailers .navigation a:link, .home-trailers .navigation a:visited {
	text-decoration: none;
	color: #4A4A4A;
}

.home-trailers .navigation a:hover {
	color: #BE3A26;
}

.page-template-about-php .site-main p a:link, .page-template-about-php .site-main p a:visited {
    color: #b4a158;
    text-decoration: none;
    border-bottom: 1px solid #b4a158;
    transition: all .2s ease;
}

.page-template-about-php .site-main p a:hover {
	color: #BE3A26;
}

.major-page-title {
	font-weight: 100;
    font-size: 1.6em;
    width: 100%;
    float: left;
    margin-top: 0px;
    color: #BE3A26;
    margin-bottom: 30px;
    clear: none;
    width: 100%;
    text-align: left;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}	

.amazon-review-link a {
	display: block;
	width: 100%;
	text-decoration: none;
	color: #326b7a;
	margin-bottom: 15px;
	/* font-family: "Crimson Text", "Book Antiqua",Palatino,"Palatino Linotype","Palatino LT STD",Georgia,serif; */
	transition: all .2s ease;
}

.amazon-review-link a:hover {
	color: #BE3A26;
}

.entry-content > p:first-child:first-letter {
	font-weight: 700;
	font-size: 2em;
	font-size: 56px;
    float: left;
    padding: 5px 5px 5px 0px;
    height: 44px;
    line-height: 40px;
}

.fullscreen {
	border-right: 1px solid rgb(189, 189, 189);
}

.left-column-container {
	padding-right:28px;
	margin-right: 2rem;
}

.post-11476 .entry-footer {
	display: none;
}

		
		#menu-icon label {
			position: relative;
			display: none;
			border-top: 1px solid #D8D8D8;
			cursor: pointer;
		    width: 100%;
		    text-align: right;
		    padding-right: 5%;
		    padding-top: 3.3rem;	
		}
		

		
		#menu-icon label:after {
		    content: "\f0c9";
		    font-family: FontAwesome;
		    font-style: normal;
		    font-weight: lighter;
		    text-decoration: inherit;
		    color: #343434;
		    font-size: 1em;
		    padding-right: 0.5em;
		    position: absolute;
		    padding-left: 0.75em;
		}
		
		#close-icon {
			position: relative;
			top:0;
			right: 0;	
			margin-left: 5%;
		    margin-bottom: 2rem;
		    color: #FFFFFF;
		    cursor: pointer;
		    text-align: left;
			margin-right: 10%;
		}
		
		#close-icon label {
			cursor: pointer;
		}
		
		#close-icon label:after {
		    content: "\f00d";
		    font-family: FontAwesome;
		    font-style: normal;
		    font-weight: lighter;
		    text-decoration: inherit;
		    color: #fff;
		    font-size: 1em;
		    padding-right: 0.5em;
		    position: absolute;
		    padding-left: 0.75em;
		}		
		
		.mobile-navigation {
			display: none;
			position: absolute;
			width: 100%;
			top: 0;
			left: 0;
			background: rgba(113, 113, 113, 0.95);
			padding-top: 3rem;
			padding-bottom: 3rem;
			height: 100vh;
			z-index: 100;
		}
		
		#search-close-mobile {
		    cursor: pointer;
		    position: relative;
		    top: 0;
		    right: 0px;
		    display: none;
		}
		
		#search-bar-mobile {
		    width: 90%;
		    margin: 0 auto;
		}
		
		.mobile-navigation ul {
			list-style-type: none;
			margin-left: 5%;
			padding-left: 0;
		}

		.mobile-navigation ul li {		
			margin-bottom: 1rem;
			}
		
		.mobile-navigation ul li a, .mobile-navigation ul li a:link, .mobile-navigation ul li a:visited{
			text-decoration: none;
			font-weight: 400;
		    font-size: 1rem;
		    color: #FFFFFF;
		    margin-right: 35px;
		    letter-spacing: 0.05em;
		    outline: none;
		    transition: all .2s ease;

		}
		
		.mobile-search {
			margin-left: 5%;
			color: white;
			cursor: pointer;
		}

/* Mobile search icon alignment inside the mobile nav */
.mobile-navigation .mobile-search,
.mobile-navigation .search-toggle {
  display: flex;
  align-items: center;
  justify-content: flex-start;

  /* match the mobile menu’s left gutter */
  margin: 0 0 16px 5%;
  padding: 0;

  /* kill any weird baseline/height behavior */
  line-height: 1;
  height: auto;
}

/* If it's a <button> on mobile, hard-reset it */
.mobile-navigation .search-toggle{
  background: transparent;
  border: 0;
  box-shadow: none;
  text-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

/* Ensure the icon itself is centered and not drifting */
.mobile-navigation .mobile-search .fa,
.mobile-navigation .search-toggle .fa,
.mobile-navigation .mobile-search,
.mobile-navigation .search-toggle {
  font-size: 18px;      /* adjust if you want larger/smaller */
}


.best-section {
	display: none;
}

.archive-article .overlay {
    height: auto;
    width: 100%;
    display: block;
}


.archive-rating {
	position: relative;
	bottom: 2rem;
}


.archive-article .callout {
    text-align: left;
    padding: 10px 0px;
    width: 100%;
}

.archive-article .callout .excerpt p {
	margin-top: 0px;
	margin-bottom: 15px;
}

.archive-article .callout h2 {
	margin-top: 0px;
	margin-bottom: 5px;
	line-height: 1.2em;
}

.archive-article .home-post-type {
	float: none;
	color: #404040;
}

.archive-article {
    width: 100%;
    color: #404040;
    margin: 0px auto 0px;
    overflow: hidden;
    padding-bottom: 30;
    height: auto;
} 

.archive-article-li {
	list-style-type: none;
	width: 47.5%;
	float: left;
	margin-right: 5%;
	
}

.home .trailers-section ul li:nth-child(8) {
	display: none;
}

.archive-article-li:nth-child(2n) {
	margin-right: 0%;
}

.archive-article-li .overlay-link {
	text-decoration: none;
	color: #404040;
}

.archive-article-li .directed-by {
	border-top: 0px;
	margin-bottom: 10px;
	padding-top: 0px;
	line-height: 1.8em;
}

.archive-article-li .directed-by a {
	display: inline-block;
}

.archive-li-container {
	margin-left: 0px;
	padding-left: 0px;
}

.archive-taxonomy-post:nth-child(-n+4) {
	/* display: none; */
}

.mobile {
	display: none;
}

.nav-links {
	float: left;
	margin-bottom: 2rem;
	width: 100%;
}

.nav-links a {
	text-decoration: none;
	color: #4A4A4A;
}

.nav-links a:hover {
	
	color: #BE3A26;
}

.nav-links div.nav-previous, .nav-links div.nav-next {
	display: block;
    font-weight: 400;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    outline: none;
    transition: all .2s ease;
    background: white;	
}

.nav-links div.nav-previous {
	padding-right: 2rem;
}

.nav-links div.nav-previous:before {
	content: "\f053";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
/*--adjust as necessary--*/
	color: #4A4A4A;
    font-size: 12px;
    padding-right: 0.5em;
    display: inline-block;
}

.nav-links div.nav-next:after {
	content: "\f054";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
/*--adjust as necessary--*/
	color: #4A4A4A;
    font-size: 12px;
    padding-left: 0.5em;
    display: inline-block;
    padding-left: 15px;
}

.single-news_post_type .left-column-container {
	display: none;
}

.single-news_post_type .entry-header hr {
  opacity: 0.15;
  margin: 12px 0;
}

.single-news_post_type .written-by {
  margin-bottom: 14px;
  color: #888;
}

.entry-header .written-by {
	margin-bottom: 28px;
	font-size: 0.9em;
	color: #777;
}

.entry-content > p:first-of-type {
	font-size: 1.05em;
	line-height: 1.55;
	margin-bottom: 1.3em;
}

.post-11473 .entry-content, .post-11476 .fef-contact-form {
	max-width: 600px;
	margin: 0 auto;
	float: none;
}

.post-11473 .entry-header, .post-11476 .entry-header {
	display: none;
}

.error404 #content {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

/* Contact Form */

#wpcf7-f11475-o1 {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.wpcf7-form p {
	font-size: 0.85rem;
    font-weight: 400;
    margin-bottom: 2rem;
}

.wpcf7-form input {
	width: 100%;
	border: 1px solid #4A4A4A;
	transition: all .2s ease;
	margin-top: 0.5rem;
}

.wpcf7-form input:active {
	box-shadow: 0px 0px 10px #4A4A4A;
}

.wpcf7-form textarea {
	border: 1px solid #4A4A4A;	
		margin-top: 0.5rem;
}

.entry-content .ajax-loader {
	display: none;
}

div.wpcf7-response-output {
	display: block;
	max-width: 564px;
	margin: 0 auto;
	border: 0;
	text-align: center;
}

.entry-content input.wpcf7-submit {
	background: #4A4A4A;
	color: white;
	padding: 1rem 0;
	box-shadow: none;
	text-shadow: none;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: .2rem;	
    border: 1px solid #4A4A4A;
    transition: all .2s ease;
}

.entry-content input.wpcf7-submit:hover {
	background: white;
	color: #4A4A4A;
}

.page-content {
	max-width: 600px;
	float: left;
	width: 69%;
	margin-top: 0;
}

#secondary {
	margin-left: 5%;
	width: 35%;
	float: left;
	margin-top: 0;
}


.sidebar-article {
	width: 100%;
	margin-bottom: 1rem;
	float: left;
	border-bottom: 1px solid #c7c7c7;
	padding-bottom:1rem;
}

.sidebar-article:nth-child(5) {
	border-bottom: 0;
	
}

.home-features-1 .excerpt {
	color: #000;
	font-size: 0.9em;
    margin-top: 0px;
}

.home-features-1 .excerpt p {
	margin-top: 0.5rem;
}

#secondary .directed-by {
	border-top: none;
	padding-top: 0;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: .05rem;
	margin-bottom: 0;
}

.sidebar-article-text-content-link, .sidebar-article-text-content-link:link, .sidebar-article-text-content-link:visited {
	color: #000;
	text-decoration: none;
}

.sidebar-article-text-content-link h2 {
	font-size: 1rem;
	font-weight: 400;
	margin-top: 0px;
	line-height: 1.2rem;
}

.sidebar-article-text-content-link .excerpt {
	font-size: 0.9rem;
    font-weight: 400;
}

.about-authors {
	padding-left: 0rem;
	padding-right: 2rem;
	margin-bottom: 2rem;
}

.about-title {
	margin-top: 2rem;
	text-align: center;	
}

.about-subtitle {
	margin-bottom: 2rem;
	padding-right: 2rem;
}

ul.other-authors {
	max-width: 400px;
	margin-left: 0;
    padding-left: 1em;
    margin-right: auto;
    margin-bottom: 3rem;
    clear: both;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 2.5rem;
    column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
	
}

ul.other-authors li {
	list-style-type: none;
    text-indent: -1em;
    list-style-position: outside;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    font-size: 1em;
    display: block;
}


.author-title {
	color: #adadad;
}

.about-the-team {
	width: 50%;
	float: left;
	margin-bottom: 2rem;
}

.about-other-contributors {
	width: 50%;
	float: left;
}

.about-authors ul {
	margin-left: 0;
	padding-left: 0;
	
}

.all-reviews-stack .directed-by {
	line-height: 0.5rem;
}

.about-authors ul li {
	width: 100%;
    font-size: 1em;
    display: block;
    float: left;
    margin-bottom: 1.5rem;
}

.all-reviews-stack ul {
	margin-bottom: 2rem;
}

.about-authors ul li img {
	float: left;
	margin-right: 1rem;
	border-radius: 100%;
}

.about-authors ul li p {
	padding-right: 1rem;
	margin-top: 0;
	font-size: 0.85rem;
}

/* ============================================================
   NAV: Active + hover underline (inside link box)
   Fixes overlap with #masthead border-bottom
   ============================================================ */

#site-navigation .menu > li > a {
  position: relative;
  display: inline-block;        /* underline fits label width */
  text-decoration: none;
  padding-left: 16px;           /* preserves existing indent */
  padding-bottom: 8px;          /* room for underline inside link */
}

#site-navigation .menu > li > a::after {
  content: "";
  position: absolute;
  left: 16px;                   /* align with text start */
  right: 0;
  bottom: 0;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
}

#site-navigation .menu > li > a:hover::after {
  transform: scaleX(1);
}

#site-navigation .menu > li.current-menu-item > a::after,
#site-navigation .menu > li.current_page_item > a::after,
#site-navigation .menu > li.current-menu-ancestor > a::after,
#site-navigation .menu > li.current_page_ancestor > a::after,
#site-navigation .menu > li > a[aria-current="page"]::after {
  transform: scaleX(1);
}

#site-navigation .menu > li.current-menu-item > a,
#site-navigation .menu > li.current_page_item > a,
#site-navigation .menu > li > a[aria-current="page"] {
  color: #BE3A26;
}

/* ============================================================
   Reduce excess top whitespace on archive sections
   ============================================================ */

body.archive #masthead {
  margin-bottom: 12px;
}

body.archive .page-title {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
}

/* Prevent occasional margin-collapse at the very top */
body.archive #content {
  padding-top: 1px;
}

/* ============================================================
   All Reviews (A–Z) template — SCOPED styles only
   Applies to page-all-reviews.php template output
   ============================================================ */

/* Remove theme top gap on this template only */
body.page-template-page-all-reviews #page,
body.page-template-page-all-reviews #content.site-content,
body.page-template-page-all-reviews #primary.content-area,
body.page-template-page-all-reviews #main.site-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-template-page-all-reviews #masthead.site-header {
  margin-bottom: 0 !important;
}

/* Scope all UI styles so they cannot affect other pages */
body.page-template-page-all-reviews .all-reviews-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 16px 30px;
  color: #222;
}

body.page-template-page-all-reviews .all-reviews-wrap .page-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px;
  color: #b13a2c;
}

body.page-template-page-all-reviews .all-reviews-wrap a {
  color: #1e5aa8;
  text-decoration: none;
}
body.page-template-page-all-reviews .all-reviews-wrap a:hover {
  text-decoration: underline;
}

body.page-template-page-all-reviews .all-reviews-toolbar {
  position: sticky;
  top: 12px;                 /* tweak if header becomes sticky */
  z-index: 50;

  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 10px;
  padding: 14px;
  margin: 10px 0 18px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02);

  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

body.page-template-page-all-reviews .all-reviews-jump {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

body.page-template-page-all-reviews .all-reviews-jump .az-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  min-width: 30px;
  padding: 0 10px;

  border: 1px solid #e2e2e2;
  border-radius: 999px;
  background: #fff;

  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #333;
  text-decoration: none;

  transition: background .15s ease, border-color .15s ease, transform .05s ease;
}
body.page-template-page-all-reviews .all-reviews-jump .az-link:hover {
  background: #f6f6f6;
  border-color: #d6d6d6;
}
body.page-template-page-all-reviews .all-reviews-jump .az-link:active {
  transform: translateY(1px);
}

body.page-template-page-all-reviews .all-reviews-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

body.page-template-page-all-reviews .az-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 12px;

  border: 1px solid #e2e2e2;
  background: #f7f7f7;
  border-radius: 999px;

  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: #333;

  transition: background .15s ease, border-color .15s ease;
}
body.page-template-page-all-reviews .az-btn:hover {
  background: #efefef;
  border-color: #d6d6d6;
}

body.page-template-page-all-reviews .az-search {
  height: 32px;
  border: 1px solid #e2e2e2;
  border-radius: 999px;
  padding: 0 12px;
  min-width: 260px;
  font-size: 13px;
  background: #fff;
}
body.page-template-page-all-reviews .az-search:focus {
  outline: none;
  border-color: #cfcfcf;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

body.page-template-page-all-reviews .az-count {
  font-size: 13px;
  color: #777;
  white-space: nowrap;
}

/* ============================================================
   All Reviews (A–Z) — anchor offset for sticky toolbar
   Reliable fix when scroll-margin-top has no effect
   ============================================================ */

body.page-template-page-all-reviews .az-head {
  position: relative; /* just to be safe */
}

/* Letter sections */
body.page-template-page-all-reviews .az-section {
  border-top: 1px solid #eee;
  padding-top: 12px;
  margin-top: 12px;
}

body.page-template-page-all-reviews .az-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;

  scroll-margin-top: 210px; /* adjust to your sticky toolbar/header height */
}

body.page-template-page-all-reviews .az-letter {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}

body.page-template-page-all-reviews .az-meta {
  font-size: 13px;
  color: #666;
  display: inline-flex;
  gap: 10px;
  align-items: center;
}

body.page-template-page-all-reviews .az-toggle {
  border: 1px solid #e2e2e2;
  border-radius: 999px;
  padding: 4px 10px;
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
body.page-template-page-all-reviews .az-toggle:hover {
  background: #f6f6f6;
}

body.page-template-page-all-reviews .az-list {
  margin: 0;
  padding-left: 18px;
  columns: 3;
  column-gap: 28px;
}

body.page-template-page-all-reviews .az-item {
  break-inside: avoid;
  margin: 0 0 6px;
}

body.page-template-page-all-reviews .az-hidden { display: none; }
body.page-template-page-all-reviews .az-item[hidden] { display: none !important; }
body.page-template-page-all-reviews .az-section[hidden] { display: none !important; }

@media (max-width: 900px) {
  body.page-template-page-all-reviews .az-list { columns: 2; }
  body.page-template-page-all-reviews .az-search { min-width: 220px; }
}
@media (max-width: 600px) {
  body.page-template-page-all-reviews .az-list { columns: 1; }
  body.page-template-page-all-reviews .az-search { min-width: 160px; }
}

/* ============================================================
   Reviews CTA component (standard)
   Red button styling (matches old .reviews-archive-cta)
   ============================================================ */

.fef-reviews-cta{
	margin: 10px 0 40px;
	padding: 0;
	border: 0;
	clear: both;
	width: 100%;
	text-align: center;
}

.fef-reviews-cta__btn,
.fef-reviews-cta__btn:link,
.fef-reviews-cta__btn:visited{
  display: inline-block;
  text-decoration: none;
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  background-color: #BE3A26;
  color: #fff;
  padding: 10px 17px;
  border-radius: 4px;
  transition: background-color .2s ease, color .2s ease, transform .05s ease;
  border: 0;
}

.fef-reviews-cta__btn:hover,
.fef-reviews-cta__btn:focus{
  background-color: #9f2f20 !important;
  color: #fff !important;
  text-decoration: none !important;
  filter: saturate(1.05);
}

.fef-reviews-cta__btn:active{
  transform: translateY(1px);
}

/* ============================================================
   Reviews CTA — force correct hover (prevents white-on-white)
   ============================================================ */

.fef-reviews-cta--archive {
  margin-top: 10px;
}

/* ============================================================
   All Reviews (A–Z) — buttons match CTA (fix legibility + style)
   ============================================================ */

body.page-template-page-all-reviews .az-btn,
body.page-template-page-all-reviews .az-toggle {
  /* hard reset any theme button styling */
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
  text-shadow: none;
  background-image: none;

  /* match CTA look */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;               /* remove forced pill height look */
  padding: 10px 17px;
  border-radius: 4px;

  font-size: 0.7em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  line-height: 1;

  background-color: #BE3A26;
  border: 0;
  color: #fff;

  transition: background-color .2s ease, color .2s ease, transform .05s ease;
}

body.page-template-page-all-reviews .az-btn:hover,
body.page-template-page-all-reviews .az-btn:focus,
body.page-template-page-all-reviews .az-toggle:hover,
body.page-template-page-all-reviews .az-toggle:focus {
  background-color: #9f2f20;
  color: #fff;
  outline: none;
  text-decoration: none;
}

body.page-template-page-all-reviews .az-btn:active,
body.page-template-page-all-reviews .az-toggle:active {
  transform: translateY(1px);
}

body.page-template-page-all-reviews .az-backtotop{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 999;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 14px;
  border-radius: 999px;

  background: #BE3A26;
  color: #fff;
  text-decoration: none;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;

  box-shadow: 0 6px 18px rgba(0,0,0,0.18);

  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

body.page-template-page-all-reviews .az-backtotop.is-visible{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

body.page-template-page-all-reviews .az-backtotop:hover{
  background: #9f2f20;
  color: #fff;
}

/* ============================================================
   All Reviews (A–Z) — Back to Top button
   ============================================================ */

body.page-template-page-all-reviews .az-backtotop,
body.page-template-page-all-reviews .az-backtotop:link,
body.page-template-page-all-reviews .az-backtotop:visited {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 17px;
  border-radius: 4px;

  background-color: #BE3A26;
  color: #fff !important;
  text-decoration: none;

  font-size: 0.7em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  line-height: 1;

  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: background-color .2s ease, transform .05s ease, box-shadow .2s ease;
}

/* Hover / focus */
body.page-template-page-all-reviews .az-backtotop:hover,
body.page-template-page-all-reviews .az-backtotop:focus {
  background-color: #9f2f20;
  color: #fff !important;
  text-decoration: none;
}

/* Active */
body.page-template-page-all-reviews .az-backtotop:active {
  transform: translateY(1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

body.page-template-page-all-reviews .az-backtotop,
body.page-template-page-all-reviews .az-backtotop:link,
body.page-template-page-all-reviews .az-backtotop:visited{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 17px;
  border-radius: 4px;
  background-color: #BE3A26;
  color: #fff;
  text-decoration: none;
  font-size: 0.7em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  line-height: 1;
  border: 0;
  transition: background-color .2s ease, transform .05s ease;
}

body.page-template-page-all-reviews .az-backtotop:hover,
body.page-template-page-all-reviews .az-backtotop:focus{
  background-color: #9f2f20;
  color: #fff;
  text-decoration: none;
  outline: none;
}

body.page-template-page-all-reviews .az-backtotop:active{
  transform: translateY(1px);
}

body.page-template-page-all-reviews .az-backtotop{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999;
}
@media (max-width: 600px){
  body.page-template-page-all-reviews .az-backtotop{
    right: 12px;
    bottom: 12px;
  }
}

/* Active A–Z pill (strong specificity to beat theme link styles) */
body.page-template-page-all-reviews .all-reviews-jump a.az-link.is-active,
body.page-template-page-all-reviews .all-reviews-jump a.az-link.is-active:visited {
  background-color: #BE3A26 !important;
  border-color: #BE3A26 !important;
  color: #fff !important;
  text-decoration: none;
}

body.page-template-page-all-reviews .all-reviews-jump a.az-link.is-active{
  transform: translateY(1px);
}

body.page-template-page-all-reviews .az-backtotop:focus-visible{
  box-shadow: 0 0 0 3px rgba(0,0,0,0.25);
}

/* 404 page: full-width + clean layout */
body.error404 #secondary { display: none; }
body.error404 .page-content { width: 100%; float: none; max-width: none; }
body.error404 .site-main { float: none; }

.fef-404{
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 5%;
}

.fef-404__title{
  font-size: 2.2em;
  margin: 0 0 10px;
}

.fef-404__lead{
  margin: 0 0 18px;
  color: #666;
  line-height: 1.6;
}

.fef-404__search{ margin: 18px 0 22px; }

.fef-404__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
}

.fef-404__btn{
  display: inline-block;
  text-decoration: none;
  font-size: 0.75em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  background: #BE3A26;
  color: #fff;
  padding: 10px 14px;
  border-radius: 4px;
}
.fef-404__btn:hover{ background: #9f2f20; color:#fff; }

.fef-404__subtitle{
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #BE3A26;
  margin: 0 0 10px;
}

.fef-404__list{
  margin: 0;
  padding-left: 18px;
}

/* ============================================================
   404 page tweaks (avoid drop-cap + tidy latest list)
   ============================================================ */

body.error404 .fef-404-content > p:first-child:first-letter{
  font-size: inherit;
  float: none;
  padding: 0;
  height: auto;
  line-height: inherit;
}

body.error404 .fef-404-links{
  margin-top: 10px;
  margin-bottom: 18px;
}

body.error404 .fef-404-title{
  margin: 18px 0 10px;
}

body.error404 .fef-404-latest{
  margin-left: 1.2em;
}

body.error404 .fef-404-latest li{
  margin-bottom: 6px;
}

body.error404 .fef-404-latest .news-thumbnail-time{
  margin-left: 8px;
}

body.error404 .fef-404-more{
  margin-top: 12px;
}

body.error404 .fef-404-header{
  max-width: 900px;
  margin: 40px auto 0;
}

body.error404 .fef-404-title{
  margin: 0 0 12px;
  font-weight: 700;
  font-size: 2.2em;
  line-height: 1.1;
}

/* ============================================================
   404 layout: force full-width centered content (no sidebar)
   ============================================================ */

body.error404 .page-content{
  float: none !important;
  width: 100% !important;
  max-width: 900px;
  margin: 0 auto;
}

body.error404 #secondary{
  display: none !important;
}

/* ============================================================
   404 page layout (float-proof, centered)
   ============================================================ */

body.error404 #primary,
body.error404 #main {
  float: none !important;
  width: 100% !important;
}

body.error404 .fef-404 {
  max-width: 900px;
  margin: 70px auto 90px;
  padding: 0 5%;
}

body.error404 .fef-404__title {
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 2.2em;
  line-height: 1.1;
}

body.error404 .fef-404__lead {
  margin: 0 0 20px;
  color: #666;
  max-width: 60ch;
}

body.error404 .fef-404__search {
  margin: 18px 0 18px;
}

/* Make the search form look intentional */
body.error404 .search-form {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
body.error404 .search-form .search-field {
  border: 1px solid #d8d8d8;
  padding: 10px 12px;
  min-width: 260px;
  max-width: 420px;
}
body.error404 .search-form .search-submit {
  border: 0;
  background: #BE3A26;
  color: #fff;
  padding: 10px 14px;
  border-radius: 4px;
  box-shadow: none;
  text-shadow: none;
}
body.error404 .search-form .search-submit:hover {
  background: #9f2f20;
}

/* Helpful links */
body.error404 .fef-404__links {
  margin: 10px 0 30px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

body.error404 .fef-404__link {
  display: inline-block;
  text-decoration: none;
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  background: #BE3A26;
  color: #fff;
  padding: 10px 17px;
  border-radius: 4px;
}
body.error404 .fef-404__link:hover {
  background: #9f2f20;
  color: #fff;
}

/* Latest reviews list */
body.error404 .fef-404__subtitle {
  margin: 25px 0 12px;
  font-weight: 700;
  font-size: 1.2em;
}

body.error404 .fef-404__latest {
  margin: 0 0 10px;
  padding-left: 1.25em;
}

body.error404 .fef-404__latest-item {
  margin: 0 0 10px;
}

body.error404 .fef-404__date {
  display: inline-block;
  margin-left: 10px;
  font-size: 0.75em;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9e9e9e;
}

body.error404 .fef-404__more {
  margin-top: 16px;
}
body.error404 .fef-404__more-link {
  color: #BE3A26;
  text-decoration: none;
  border-bottom: 1px solid rgba(190,58,38,0.35);
}
body.error404 .fef-404__more-link:hover {
  border-bottom-color: #BE3A26;
}

.fef-404-latest li {
  margin-bottom: 6px;
}

.fef-404-latest a {
  font-weight: 600;
}

.home-news,
.home-news-1 {
  margin-bottom: 30px;
}

/* =========================
   Header Search Dropdown
   ========================= */

/* Panel (desktop) */
#search-bar.header-search{
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 9999;

  background: #fff;
  border-top: 1px solid #e6e6e6;
  padding: 14px 0;
}

/* Center the inner form to the site width */
#search-bar.header-search .search-form{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-sizing: border-box;
}

/* Let label/input fill the row */
#search-bar.header-search .search-form label{
  flex: 1 1 auto;
  margin: 0;
  width: 100%;
}

/* Input */
#search-bar.header-search .search-field{
  width: 100%;
  height: 44px;
  line-height: 44px;
  padding: 0 14px;
  box-sizing: border-box;

  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;

  text-transform: uppercase;
  letter-spacing: .18em;
}

/* If you want the submit visible, keep it and style it */
#search-bar.header-search .search-submit{
  flex: 0 0 auto;
  height: 44px;
  padding: 0 14px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
}

/* Close icon injected by JS – keep it aligned with the form, not the page edge */
#search-bar.header-search .fef-search-close{
  margin-left: 2px;
  cursor: pointer;
  line-height: 1;
}

/* Search dropdown: hide border/padding completely when closed */
#search-bar.header-search[aria-hidden="true"]{
	border-top: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

/* Search dropdown: restore border/padding when open */
#search-bar.header-search[aria-hidden="false"]{
	border-top: 1px solid #e6e6e6;
	padding: 14px 0;
	height: auto;
	overflow: visible;
}

/* Mobile: keep search inside the mobile nav flow */
.mobile-navigation #search-bar-mobile.header-search--mobile{
  position: static !important;
  background: transparent;
  border-top: 0;
  padding: 10px 0;
}

/* Mobile form layout */
#search-bar-mobile.header-search--mobile .search-form{
  padding: 0 16px;
}

/* Small screens: stack input + submit */
@media (max-width: 600px){
  #search-bar.header-search .search-form{
    flex-direction: column;
    align-items: stretch;
  }
  #search-bar.header-search .search-submit{
    width: 100%;
  }
}

#search-bar.header-search form label .search-field{
  float: none;
  width: 100%;
  height: 44px;
}

#search-bar.header-search form .search-submit{
  float: none;
  width: auto;
  margin-top: 0;
  height: 44px;
}

#search-bar.header-search .fef-search-close{
  font-size: 18px;
  padding: 10px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#search-bar.header-search .search-field,
#search-bar.header-search .search-submit{
  height: 44px;
  line-height: 44px;
}

/* Search icon button reset */
.search-toggle{
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  line-height: 1;
  box-shadow: none;
}

/* NEW: make search icon behave like the last menu item */

/* NEW: keep the FA icon aligned and consistent */
#site-navigation .search-toggle .fa{
	line-height: 1;
	font-size: 14px; /* adjust if you want it slightly larger */
}

/* Prevent "stuck pressed" look */
.search-toggle:active{
  transform: none;
  box-shadow: none;
}

/* Keep an accessible focus indicator, but not the inset/pressed look */
.search-toggle:focus{
  outline: none;
  box-shadow: none;
}

.search-toggle:focus-visible{
  outline: 2px solid rgba(0,0,0,0.35);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Footer: reduce vertical dead space (no visual restyling) */
#colophon.site-footer {
  padding-top: 10px;
  padding-bottom: 10px;
}

#colophon .site-info {
  padding-top: 6px;
  padding-bottom: 6px;
}

#colophon .last-links {
  padding-top: 4px;
  padding-bottom: 8px;
}

/* Remove default paragraph margins that create big gaps */
#colophon p {
  margin: 0;
}

/* If you want a small separation between the two rows */
#colophon .site-info + .last-links {
  margin-top: 8px;
}

.footer-clear {
  clear: both;
  display: table;
}

/* Reduce/kill the top dead space on search results */
body.search .site-content,
body.search #content {
  padding-top: 0;
}

body.search .page-header {
  margin-top: 0;
  padding-top: 0;
}

/* This is usually the main culprit (default h1 margin) */
body.search .page-header .page-title,
body.search .page-title {
  margin-top: 0;
}

/* If your theme uses .site-main or #primary spacing instead */
body.search .site-main,
body.search #primary {
  margin-top: 0;
}

/* Search results: align top spacing with other archive pages */
body.search #primary.content-area,
body.search #main.site-main {
  margin-top: 0;
  padding-top: 0;
}

body.search header.page-header {
  margin-top: 0;
  padding-top: 0;
  margin-bottom: 20px; /* adjust to match /news/ if needed */
}

body.search header.page-header h1.page-title {
  margin-top: 0;
  padding-top: 0;
}

body.search #content.site-content,
body.search .site-content {
  padding-top: 0;
  margin-top: 0;
}

/* === Search results: remove stacked top spacing === */
body.search .site-content {
  padding-top: 0;
}

body.search #primary.content-area {
  margin-top: 0;
  padding-top: 0;
}

body.search header.page-header {
  margin-top: 0;
  padding-top: 0;
}

body.search header.page-header h1.page-title {
  margin-top: 0;
}

/* Reduce the extra top whitespace on search results pages only */
body.search-results .page-header,
body.search-no-results .page-header {
  margin-top: 0;
  padding-top: 0;
}

/* If the container itself has top padding on search pages */
body.search-results #primary,
body.search-no-results #primary {
  padding-top: 0;
  margin-top: 0;
}

/* === SEARCH RESULTS: match top spacing to /news/ and /reviews/ === */
body.search-results header.page-header,
body.search-no-results header.page-header{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.search-results header.page-header .page-title,
body.search-no-results header.page-header .page-title{
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important; /* adjust to match your News spacing */
}

body.search-results #content,
body.search-no-results #content,
body.search-results .site-content,
body.search-no-results .site-content{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Search results: tighter header spacing */
body.search #masthead {
  margin-bottom: 6px !important;
}

body.search .page-title {
  margin-top: 0.5rem !important;
  margin-bottom: 1rem !important;
}

/* Prevent margin-collapse at top */
body.search #content {
  padding-top: 1px;
}

/* Header search: style the post-type dropdown to match */
#search-bar.header-search .search-type{
  height: 44px;
  line-height: 44px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 12px;
  background: #fff;
  box-sizing: border-box;

  /* match your input styling */
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 0.8em;
  font-weight: 300;
  color: #4A4A4A;
}

/* Mobile version (if the select appears there too) */
#search-bar-mobile.header-search--mobile .search-type{
  width: 100%;
  height: 50px;
  border: 1px solid #ddd;
  border-radius: 0;
  padding: 0 12px;
  background: #fff;
  box-sizing: border-box;

  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 0.8em;
  font-weight: 300;
}

.search-filter{
  float:right;
  margin-top: 0.25rem;
}

.search-filter select{
  border: 1px solid #d8d8d8;
  padding: 6px 10px;
  height: 35px;
  font-size: 0.75em;
  text-transform: uppercase;
  letter-spacing: .15em;
  background: #fff;
  color: #4A4A4A;
}

/* Ensure search dropdown matches site typography */
.search-form select,
.search-form input,
.search-form button {
	font-family: 'Cabin', sans-serif;
	font-size: 14px;      /* match your body text */
	font-weight: 400;
}

.search-form select {
	font-family: inherit;
	font-size: inherit;
}

@media (max-width: 768px) {

  /* Single search result: center the card, but do NOT make it full width */
  .reviews-section.stacked-items ul li:only-child {
    float: none !important;
    display: block !important;

    /* this is the “don’t hug the edge” part */
    width: 92% !important;          /* adjust: 90–96% depending on taste */
    max-width: 420px;               /* optional: stops it getting too wide on phablets */
    margin: 0 auto !important;      /* center */
  }

  /* Ensure the contents read normally (left aligned) */
  .reviews-section.stacked-items ul li:only-child,
  .reviews-section.stacked-items ul li:only-child * {
    text-align: left !important;
  }

  /* If your thumbnail was previously centered via margins, keep it tidy */
  .reviews-section.stacked-items ul li:only-child .article-thumbnail img {
    display: block;
    margin: 0 0 10px 0;             /* keep it aligned with the text */
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 768px) {
  .reviews-section.stacked-items ul li:only-child h2,
  .reviews-section.stacked-items ul li:only-child .excerpt,
  .reviews-section.stacked-items ul li:only-child .directed-by,
  .reviews-section.stacked-items ul li:only-child .home-rating {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
}

@media (max-width: 768px){

  /* Search Results header: add gutter so it doesn't hug the screen edge */
  body.search-results header.page-header,
  body.search-no-results header.page-header{
    padding-left: 4%;
    padding-right: 4%;
    box-sizing: border-box;
  }

  /* Keep title left-aligned, but remove any edge-causing margins */
  body.search-results header.page-header .page-title,
  body.search-no-results header.page-header .page-title{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.navigation.pagination ul,
.nav-links ul,
.posts-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Search pagination styling */
.navigation.pagination {
  clear: both;
  padding: 20px 0;
  text-align: center;
}

.navigation.pagination a,
.navigation.pagination span {
  display: inline-block;
  padding: 8px 12px;
  margin: 0 4px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 4px;
  text-decoration: none;
}

.navigation.pagination span.current {
  font-weight: 600;
}

.navigation.pagination a:hover {
  text-decoration: underline;
}

@media (max-width: 768px){

  body.search-results header.page-header,
  body.search-no-results header.page-header{
    width: 92%;
    max-width: 420px;
    margin: 0 auto 20px;
    padding: 0;
    box-sizing: border-box;
  }

  body.search-results header.page-header .page-title,
  body.search-no-results header.page-header .page-title{
    margin: 0 0 1.25rem 0 !important;
  }
}

/* ============================================================
   Universal Pagination (FEF) — SINGLE SOURCE OF TRUTH
   Markup supported:
   <nav class="fef-pagination">
     <ul class="fef-pagination__list">
       <li class="fef-pagination__item is-prev"><a class="prev page-numbers">…</a></li>
       <li class="fef-pagination__item"><a class="page-numbers">1</a></li>
       <li class="fef-pagination__item is-current"><span class="page-numbers current">2</span></li>
       <li class="fef-pagination__item is-dots"><span class="page-numbers dots">…</span></li>
       <li class="fef-pagination__item is-next"><a class="next page-numbers">…</a></li>
     </ul>
   </nav>
   ============================================================ */

/* Wrapper */
nav.fef-pagination{
  width: 100%;
  clear: both;
  margin: 28px 0 12px;
  padding: 0;
  text-align: center;
}

/* List layout (horizontal + wrap-safe) */
nav.fef-pagination ul.fef-pagination__list{
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;

  gap: 10px;
}

/* Items */
nav.fef-pagination ul.fef-pagination__list > li.fef-pagination__item{
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
}

/* Kill any theme-injected pseudo elements on pagination controls */
nav.fef-pagination a::before,
nav.fef-pagination a::after,
nav.fef-pagination .page-numbers::before,
nav.fef-pagination .page-numbers::after{
  content: none !important;
  display: none !important;
}

/* Base control styling (links + spans) */
nav.fef-pagination .page-numbers{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 40px;
  height: 40px;
  padding: 0 14px;

  border: 1px solid #d6d6d6;
  border-radius: 999px;

  background: #fff;
  color: #111;

  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;

  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
}

/* Hover / focus */
nav.fef-pagination a.page-numbers:hover,
nav.fef-pagination a.page-numbers:focus{
  background: #f6f6f6;
  border-color: #bfbfbf;
  outline: none;
}

/* Current page */
nav.fef-pagination .page-numbers.current{
  background: #111;
  border-color: #111;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0,0,0,0.10);
}

/* Dots */
nav.fef-pagination .page-numbers.dots{
  border: 0;
  background: transparent;
  box-shadow: none;
  min-width: 18px;
  padding: 0 6px;
  color: #777;
}

/* Prev / Next */
nav.fef-pagination .page-numbers.prev,
nav.fef-pagination .page-numbers.next{
  padding: 0 18px;
}

/* Mobile sizing */
@media (max-width: 520px){
  nav.fef-pagination .page-numbers{
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    font-size: 13px;
  }

  nav.fef-pagination ul.fef-pagination__list{
    gap: 8px;
  }
}

/* ============================================================
   OPTIONAL MOBILE MODE:
   Keep prev/next/current/dots only on small screens.
   If you want WRAP-ALL-NUMBERS on mobile, DELETE this block.
   ============================================================ */
@media (max-width: 600px){
.fef-pagination__item:not(.is-current):not(.is-prev):not(.is-next):not(.is-dots):not(.is-first):not(.is-last){
  display: none;
  }
}

/* ============================================================
   Pagination — match Reviews CTA button styling
   ============================================================ */

nav.fef-pagination{
  margin: 10px 0 40px;
}

/* Base controls look like the CTA button */
nav.fef-pagination .page-numbers{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: auto;
  min-width: 0;
  padding: 10px 17px;

  border: 0;
  border-radius: 4px;

  background-color: #BE3A26;
  color: #fff;

  font-size: 0.7em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  line-height: 1;

  box-shadow: none;
  text-shadow: none;

  transition: background-color .2s ease, color .2s ease, transform .05s ease;
}

/* Hover/focus matches CTA */
nav.fef-pagination a.page-numbers:hover,
nav.fef-pagination a.page-numbers:focus{
  background-color: #9f2f20;
  color: #fff;
  text-decoration: none;
  outline: none;
}

nav.fef-pagination a.page-numbers:active{
  transform: translateY(1px);
}

/* Current page: keep CTA style but clearly “selected” */
nav.fef-pagination .page-numbers.current{
  background-color: #111;
  color: #fff;
  font-weight: 700;
}

/* Dots should not be a button */
nav.fef-pagination .page-numbers.dots{
  background: transparent;
  color: #777;
  padding: 0 6px;
  letter-spacing: 0;
  text-transform: none;
}

/* Keep Prev/Next slightly roomier like CTA */
nav.fef-pagination .page-numbers.prev,
nav.fef-pagination .page-numbers.next{
  padding: 10px 17px;
}

nav.fef-pagination ul.fef-pagination__list{
  gap: 10px 12px;
}

/* ============================================================
   Pagination — mobile spacing fix
   ============================================================ */
@media (max-width: 600px){

  nav.fef-pagination{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  nav.fef-pagination ul.fef-pagination__list{
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 10px;
    white-space: nowrap;
  }

  nav.fef-pagination .fef-pagination__item{
    flex: 0 0 auto;
  }

  /* Normalize button sizing on mobile */
  nav.fef-pagination .page-numbers{
    padding: 9px 14px;
    font-size: 0.65em;
    letter-spacing: 0.18em;
  }

  /* Keep dots visually lighter and tighter */
  nav.fef-pagination .page-numbers.dots{
    padding: 0 4px;
  }

}

/* ============================================================
   Pagination — mobile CTA prev/next + scroll fades
   ============================================================ */
@media (max-width: 600px){

  /* Scroll container */
  nav.fef-pagination{
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;

    /* keeps fades from overlapping outside */
    padding: 6px 0;
  }

  /* Single-row scroll strip */
  nav.fef-pagination ul.fef-pagination__list{
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;

    padding: 0 14px;
    white-space: nowrap;
  }

  nav.fef-pagination .fef-pagination__item{
    flex: 0 0 auto;
  }

  /* Base: numeric buttons slightly smaller */
  nav.fef-pagination .page-numbers{
    min-width: 34px;
    height: 34px;
    padding: 0 12px;
    font-size: 12px;
    letter-spacing: 0.14em;
  }

  /* CTA emphasis: Prev/Next taller & a touch wider */
  nav.fef-pagination .page-numbers.prev,
  nav.fef-pagination .page-numbers.next{
    height: 40px;
    min-width: 44px;
    padding: 0 16px;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }

  /* Dots: tighter and lighter */
  nav.fef-pagination .page-numbers.dots{
    min-width: 18px;
    height: 34px;
    padding: 0 6px;
  }

  /* ----- Edge fade indicators ----- */
  nav.fef-pagination::before,
  nav.fef-pagination::after{
    content: "";
    position: sticky; /* works nicely with horizontal scrolling containers */
    top: 0;
    width: 22px;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    opacity: 0;                 /* hidden by default */
    transition: opacity .2s ease;
  }

  nav.fef-pagination::before{
    left: 0;
    background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
  }

  nav.fef-pagination::after{
    right: 0;
    background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
  }

  /* JS will toggle these when scrolling is possible */
  nav.fef-pagination.is-scrollable::before,
  nav.fef-pagination.is-scrollable::after{
    opacity: 1;
  }

  /* Hide left/right fades appropriately */
  nav.fef-pagination.at-start::before{ opacity: 0; }
  nav.fef-pagination.at-end::after{ opacity: 0; }
}

/* ============================================================
   Pagination — Prev/Next match Reviews CTA button
   ============================================================ */
nav.fef-pagination .page-numbers.prev,
nav.fef-pagination .page-numbers.next{
  background-color: #BE3A26;
  border-color: #BE3A26;
  color: #fff;

  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 600;

  box-shadow: none;
}

/* Hover / focus */
nav.fef-pagination a.page-numbers.prev:hover,
nav.fef-pagination a.page-numbers.next:hover,
nav.fef-pagination a.page-numbers.prev:focus,
nav.fef-pagination a.page-numbers.next:focus{
  background-color: #9f2f20;
  border-color: #9f2f20;
  color: #fff;
  text-decoration: none;
  outline: none;
}

/* Keyboard focus ring (accessible, matches your search-toggle pattern) */
nav.fef-pagination a.page-numbers.prev:focus-visible,
nav.fef-pagination a.page-numbers.next:focus-visible{
  box-shadow: 0 0 0 3px rgba(0,0,0,0.25);
}

/* Ensure current page stays distinct (black pill) */
nav.fef-pagination .page-numbers.current{
  background: #111;
  border-color: #111;
  color: #fff;
}

@media (max-width: 600px){
  nav.fef-pagination .page-numbers.prev,
  nav.fef-pagination .page-numbers.next{
    height: 40px;
    min-width: 44px;
    padding: 0 16px;
  }
}

/* About page: replace float + clear hacks with a grid */
.about-columns{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

@media (max-width: 800px){
  .about-columns{ grid-template-columns: 1fr; }
}

/* About page: if using .about-columns grid, disable legacy float layout */
.about-columns > .about-the-team,
.about-columns > .about-other-contributors{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* Make sure the grid itself spans the available width */
.about-columns{
  width: 100%;
  max-width: 100%;
}

/* ============================================================
   FIX: Mobile nav must sit above sticky A–Z toolbar on All Reviews
   ============================================================ */

@media (max-width: 600px){
  body.page-template-page-all-reviews .mobile-navigation{
    position: fixed;          /* was absolute */
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;                  /* equivalent to inset:0 but more compatible */
    height: 100vh;
    z-index: 100000;          /* must exceed any sticky/header z-index */
  }

  /* Defensive: ensure sticky toolbar can’t out-stack overlays */
  body.page-template-page-all-reviews .all-reviews-toolbar{
    z-index: 10;              /* lower than mobile overlay */
  }
}

#masthead{
  position: relative;  /* creates a stacking context */
  z-index: 1000;       /* above sticky toolbars */
}

.mobile-navigation{
  display: none;
  position: fixed;     /* was absolute */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;

  background: rgba(113, 113, 113, 0.95);
  padding-top: 3rem;
  padding-bottom: 3rem;

  z-index: 10000;      /* ensure it beats any sticky UI */
}

/* Author archive bio card */
.fef-author-bio{
  clear: both;
  width: 100%;
  margin: 0 0 24px;
  padding: 16px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fafafa;

  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.fef-author-bio__avatar img{
  border-radius: 999px;
  display: block;
}

.fef-author-bio__text{
  flex: 1 1 auto;
  color: #555;
  font-size: 1rem;
  line-height: 1.6;
}

.fef-author-bio__text p{
  margin: 0 0 10px;
}
.fef-author-bio__text p:last-child{
  margin-bottom: 0;
}

@media (max-width: 600px){
  .fef-author-bio{
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Author archive bio – prevent avatar shrink on long bios */
.fef-author-bio {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.fef-author-bio__avatar {
	flex: 0 0 auto;          /* do NOT shrink */
	width: 96px;             /* lock size */
	min-width: 96px;
}

.fef-author-bio__avatar img {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 50%;
}

.fef-author-bio__text {
	flex: 1 1 auto;          /* text is allowed to grow */
}

@media (max-width: 480px) {
	.fef-author-bio {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.fef-author-bio__avatar {
		margin-bottom: 8px;
	}
}

/* Only apply to long lists when you add .is-clamped */
.fef-term-list.is-clamped {
  max-height: 240px;
  overflow: hidden;
  position: relative;
}

/* Subtle fade at the bottom */
.fef-term-list.is-clamped::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48px;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

/* NEWS: disable drop-cap (must beat the global selector) */
.single-news_post_type .entry-content > p:first-child:first-letter,
.single-news_post_type .entry-content > p:first-of-type:first-letter {
  float: none !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  padding: 0 !important;
  height: auto !important;
}

/* ============================================================
   NEWS: Labels — block only when followed by text
   (Stops FEATURES label-only paragraphs creating extra space)
   ============================================================ */

/* Default: labels inline (no forced new line) */
.single-news_post_type .entry-content p > strong:first-child{
  display: inline;
  margin: 0;
  font-size: 0.85em;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #BE3A26;
}

/* NEWS: remove the “blank line” caused by a <br> right after the label */
.single-news_post_type .entry-content p > strong:first-child + br{
  display: none;
}

/* If the paragraph has MORE than just the strong label, make label sit on its own line */
.single-news_post_type .entry-content p:not(:has(> strong:only-child)) > strong:first-child{
  display: block;
  margin-bottom: 0.25rem;
}

/* If it IS label-only (e.g. <p><strong>Features:</strong></p>), keep it tight */
.single-news_post_type .entry-content p:has(> strong:only-child){
  margin-bottom: 0.5rem;   /* reduces the “blank line” feeling */
}

/* And keep lists snug after labels */
.single-news_post_type .entry-content p + ul,
.single-news_post_type .entry-content p + ol{
  margin-top: 0.5rem;
}

/* ============================================================
   NEWS: Synopsis / Features formatting (clean, single source)
   ============================================================ */

/* Base rhythm */
.single-news_post_type .entry-content {
  max-width: 60ch;
}

.single-news_post_type .entry-content p {
  margin: 0 0 1.5rem;
}

.single-news_post_type .entry-content p:empty {
  display: none;
}

/* Lists: keep consistent spacing and indentation */
.single-news_post_type .entry-content ul,
.single-news_post_type .entry-content ol {
  margin: 0.5rem 0 1.5rem;
  padding-left: 1.2em;
}

/* Label styling (Synopsis:, Features:, etc.) */
.single-news_post_type .entry-content p > strong:first-child {
  font-size: 0.85em;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #BE3A26;
  font-weight: 700;

  /* default = inline unless we decide otherwise below */
  display: inline;
  margin: 0;
}

/* Remove the “blank line” caused by a <br> right after the label */
.single-news_post_type .entry-content p > strong:first-child + br {
  display: none;
}

/* If the paragraph contains label + more content (e.g. Synopsis text), put label on its own line */
.single-news_post_type .entry-content p:not(:has(> strong:only-child)) > strong:first-child {
  display: block;
  margin: 0 0 0.25rem 0;
}

/* If it is label-only (e.g. <p><strong>Features:</strong></p>), tighten the gap before the list */
.single-news_post_type .entry-content p:has(> strong:only-child) {
  margin-bottom: 0.5rem;
}

/* ============================================================
   NEWS (news_post_type): Typography pass (scoped)
   ============================================================ */

/* Comfortable reading width + better rhythm */
.single-news_post_type .entry-content{
  max-width: 62ch;          /* readable measure */
  line-height: 1.65;
  font-size: 1.05em;
}

/* Standard paragraph rhythm */
.single-news_post_type .entry-content p{
  margin: 0 0 1.35rem 0;    /* consistent spacing */
}

/* Headings inside content (if used) */
.single-news_post_type .entry-content h2,
.single-news_post_type .entry-content h3{
  margin: 2rem 0 0.75rem;
  line-height: 1.25;
}

/* Links: keep your theme style but slightly clearer in long-form */
.single-news_post_type .entry-content p a{
  text-decoration: none;
  border-bottom: 1px solid rgba(180,161,88,0.7);
}

/* Lists: predictable indent + spacing */
.single-news_post_type .entry-content ul,
.single-news_post_type .entry-content ol{
  margin: 0.5rem 0 1.35rem;
  padding-left: 1.25em;
}

.single-news_post_type .entry-content li{
  margin: 0 0 0.4rem;
}

.single-news_post_type .entry-content ul,
.single-news_post_type .entry-content ol{
  margin: 0.5rem 0 1.5rem;
  padding-left: 1.2em;
}
.single-news_post_type .entry-content li{
  margin: 0 0 0.4rem 0;
  line-height: 1.5;
}
.single-news_post_type .entry-content p + ul,
.single-news_post_type .entry-content p + ol{
  margin-top: 0.35rem;
}
.single-news_post_type .entry-content p{
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.single-news_post_type .entry-content p br{
  line-height: 1.4;
}

.single-news_post_type .entry-content{
  line-height: 1.65;
}

.single-news_post_type .written-by{
  margin-bottom: 18px; /* or 20px if you want more air */
}

/* ============================================================
   NEWS: Media + Embeds (images, captions, iframes)
   - consistent spacing
   - responsive embeds without re-editing old posts
   ============================================================ */

.single-news_post_type .entry-content img,
.single-news_post_type .entry-content figure,
.single-news_post_type .entry-content .wp-caption {
  max-width: 100%;
  height: auto;
}

/* Make images feel intentional in the flow */
.single-news_post_type .entry-content img {
  display: block;
  margin: 1.5rem 0;
}

/* Don’t break classic alignments */
.single-news_post_type .entry-content img.alignleft,
.single-news_post_type .entry-content .wp-caption.alignleft {
  float: left;
  margin: 0.25rem 1.5rem 1rem 0;
}

.single-news_post_type .entry-content img.alignright,
.single-news_post_type .entry-content .wp-caption.alignright {
  float: right;
  margin: 0.25rem 0 1rem 1.5rem;
}

.single-news_post_type .entry-content img.aligncenter,
.single-news_post_type .entry-content .wp-caption.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

/* Caption styling */
.single-news_post_type .entry-content .wp-caption-text {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: #666;
  line-height: 1.45;
}

/* Basic iframe spacing */
.single-news_post_type .entry-content iframe {
  display: block;
  max-width: 100%;
  margin: 1.75rem 0;
}

/* If we wrap videos (next step), this makes them responsive */
.single-news_post_type .entry-content .fef-video {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  margin: 1.75rem 0;
}

.single-news_post_type .entry-content .fef-video iframe,
.single-news_post_type .entry-content .fef-video embed,
.single-news_post_type .entry-content .fef-video object {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  margin: 0; /* wrapper controls spacing */
}

/* ============================================================
   NEWS: If a paragraph immediately follows an image,
   treat it like a caption (fixes "Enter" captions)
   ============================================================ */

/* Reduce the bottom margin on images so the next line sits closer */
.single-news_post_type .entry-content img{
  margin-bottom: 0.6rem; /* was 1.5rem in your earlier rule */
}

/* Paragraph directly after an image/figure/wp-caption: tighten + caption styling */
.single-news_post_type .entry-content img + p,
.single-news_post_type .entry-content figure + p,
.single-news_post_type .entry-content .wp-caption + p{
  margin-top: 0;           /* kill the “gap” created by <p> */
  margin-bottom: 1.5rem;   /* keep normal rhythm after the caption */
  font-size: 0.9rem;
  color: #666;
  line-height: 1.45;
  text-align: center;      /* matches your screenshot caption style */
}

/* NEWS: WordPress captions (figure/wp-caption) */
.single-news_post_type .entry-content figure.wp-caption{
  margin: 1.5rem auto;     /* consistent vertical rhythm */
  max-width: 100%;
}

.single-news_post_type .entry-content .wp-caption-text{
  margin-top: 0.5rem;
  margin-bottom: 0;        /* avoid extra gap under caption */
  font-size: 0.9rem;
  line-height: 1.4;
  color: #666;
  text-align: center;
}

/* NEWS: Legacy manual captions written as <h5><img><br>Caption</h5> */
.single-news_post_type .entry-content h5{
  margin: 1.5rem 0;        /* reduce default heading margins */
  font-weight: 600;        /* optional: less shouty than headings */
  font-size: 0.95rem;      /* caption-ish size */
  line-height: 1.4;
  color: #666;
}

/* Ensure the image inside that H5 behaves like a normal media block */
.single-news_post_type .entry-content h5 > img{
  display: block;
  margin: 0 auto;          /* center image */
}

/* Remove the “extra” line height feel from the <br> gap */
.single-news_post_type .entry-content h5 > br{
  line-height: 0;
}

/* NEWS: Legacy manual captions written as <h5><img><br>Caption</h5> */
.single-news_post_type .entry-content h5{
  margin: 1.5rem 0;        /* reduce default heading margins */
  font-weight: 600;        /* optional: less shouty than headings */
  font-size: 0.95rem;      /* caption-ish size */
  line-height: 1.4;
  color: #666;
}

/* Ensure the image inside that H5 behaves like a normal media block */
.single-news_post_type .entry-content h5 > img{
  display: block;
  margin: 0 auto;          /* center image */
}

/* Remove the “extra” line height feel from the <br> gap */
.single-news_post_type .entry-content h5 > br{
  line-height: 0;
}

/* ============================================================
   NEWS: Image + Caption spacing (safe override)
   - Keeps WP captions tight
   - Keeps legacy <h5><img><br>Caption</h5> tight
   - Does NOT affect Synopsis/Features styles
   ============================================================ */

/* 1) WordPress caption markup: <figure class="wp-caption"> ... <figcaption> */
.single-news_post_type .entry-content figure.wp-caption,
.single-news_post_type .entry-content .wp-caption{
  margin: 1.5rem auto;         /* wrapper spacing */
  max-width: 100%;
}

.single-news_post_type .entry-content .wp-caption .wp-caption-text,
.single-news_post_type .entry-content figure.wp-caption .wp-caption-text{
  margin: 0.5rem 0 0 !important; /* remove extra bottom space */
  font-size: 0.9rem;
  line-height: 1.4;
  color: #666;
  text-align: center;
}

/* 2) Legacy captions: <h5><img><br>Caption</h5>
   Treat h5 as a caption container, not a heading */
.single-news_post_type .entry-content h5{
  margin: 1.5rem 0 !important;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #666;
}

/* ensure image is centered and doesn't create a large gap below */
.single-news_post_type .entry-content h5 > img{
  display: block;
  margin: 0 auto 0.5rem !important; /* controls the “Enter vs Shift+Enter” feel */
}

/* kill the visual impact of the <br> gap */
.single-news_post_type .entry-content h5 > br{
  display: none !important;
}

/* 3) Avoid double-spacing when an image is followed by an auto paragraph caption
   (only applies when the caption is a separate <p> after an <img>) */
.single-news_post_type .entry-content img + p{
  margin-top: -0.75rem;          /* pull caption closer to image */
  font-size: 0.9rem;
  line-height: 1.45;
  color: #666;
  text-align: center;
}

/* ============================================================
   NEWS Sidebar: make blocks match site style (scoped)
   ============================================================ */

.single-news_post_type #secondary{
  margin-top: 0;                  /* keeps it aligned with article top */
}

.single-news_post_type #secondary .sidebar-item{
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 14px 14px 6px;
  margin-bottom: 18px;
}

/* Keep your section title style, but make spacing cleaner */
.single-news_post_type #secondary .section-title{
  margin: 0 0 12px 0 !important;
}

/* Latest item rows */
.single-news_post_type #secondary .sidebar-article{
  width: 100%;
  float: left;
  display: flex;
  gap: 12px;
  align-items: flex-start;

  padding: 10px 0;
  border-bottom: 1px solid #ededed;
}

.single-news_post_type #secondary .sidebar-article:last-of-type{
  border-bottom: 0;
  padding-bottom: 6px;
}

/* Thumbnail block */
.single-news_post_type #secondary .sidebar-article .article-thumbnail{
  flex: 0 0 92px;
  max-width: 92px;
}

.single-news_post_type #secondary .sidebar-article .article-thumbnail img{
  display: block;
  width: 92px;
  height: auto;
  border-radius: 4px;
}

/* Text block */
.single-news_post_type #secondary .sidebar-article-text-content-link{
  flex: 1 1 auto;
  width: auto;                   /* override older 45% rule */
}

.single-news_post_type #secondary .sidebar-article-text-content-link h2{
  margin: 0 0 6px 0;
  font-size: 0.95rem;
  line-height: 1.25;
  font-weight: 600;
}

.single-news_post_type #secondary .sidebar-article-text-content-link .directed-by{
  border-top: 0;
  padding-top: 0;
  margin: 0;
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9e9e9e;
}

/* Nice hover without changing your link color system */
.single-news_post_type #secondary .sidebar-article-text-content-link:hover h2{
  color: #BE3A26;
}

/* Promo images inside sidebar cards */
.single-news_post_type #secondary .sidebar-item a img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

/* Space between stacked promo images */
.single-news_post_type #secondary .sidebar-item a + a img{
  margin-top: 10px;
}

/* Subtle hover affordance */
.single-news_post_type #secondary .sidebar-item a:hover img{
  filter: saturate(1.05);
  transform: translateY(-1px);
  transition: transform .12s ease, filter .12s ease;
}

/* ============================================================
   Sidebar cards + section headers (site-wide)
   ============================================================ */

#secondary .sidebar-item{
  background: #fff;
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 18px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  box-sizing: border-box;
}

/* Header bar (match site style, not a button) */
#secondary .section-title{
  display: block;
  width: 100%;
  float: none;

  margin: 0 0 12px 0;
  padding: 8px 12px;

  font-weight: 600;
  font-size: 0.75em;
  letter-spacing: 0.2em;
  text-transform: uppercase;

  color: #fff;
  border-radius: 4px;
  box-sizing: border-box;

  background: linear-gradient(to right, rgba(190,58,38,1) 0%, rgba(128,0,0,1) 100%);
}

/* ============================================================
   Sidebar promos (Support / Where to buy)
   ============================================================ */

#secondary .fef-sidebar-promo-link{
  display: block;
}

/* spacing between stacked promo links (this matches your markup) */
#secondary .fef-sidebar-promo-link + .fef-sidebar-promo-link{
  margin-top: 10px;
}

#secondary .fef-sidebar-promo{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

/* ============================================================
   Sidebar list rows (articles)
   ============================================================ */

#secondary .sidebar-article{
  display: flex;
  gap: 12px;
  align-items: flex-start;

  margin-bottom: 10px;
  transition: background 0.15s ease, transform 0.15s ease;
}

#secondary .sidebar-article:hover{
  background: rgba(0,0,0,0.02);
  transform: translateY(-1px);
}

#secondary .article-thumbnail{
  flex: 0 0 92px;
  max-width: 92px;
  float: none;
}

#secondary .article-thumbnail img{
  display: block;
  width: 100%;
  height: auto;

  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 4px;
}

#secondary .sidebar-article-text-content-link{
  flex: 1 1 auto;
  width: auto;
  float: none;
}

#secondary .directed-by .date{
  font-size: 0.75em;
  opacity: 0.7;
}

/* ============================================================
   Single News: minor fit tweaks (optional)
   ============================================================ */

.single-news_post_type #secondary .sidebar-item{
  padding: 12px 12px 6px;
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 768px){
  #secondary .sidebar-item{
    padding: 10px;
    margin-bottom: 14px;
  }
}

#secondary .fef-sidebar-promo-link{
  position: relative;
  display: block;
}

#secondary .fef-sidebar-promo-link:hover .fef-sidebar-promo{
  transform: translateY(-1px);
  filter: saturate(1.05);
}

#secondary .fef-sidebar-promo{
  transition: transform .12s ease, filter .12s ease;
}

#secondary .sidebar-item{
  padding-bottom: 10px; /* was 12px */
}

#secondary .sidebar-item .fef-sidebar-promo-link:last-child{
  margin-bottom: 0;
}

#secondary .section-title{
  padding: 7px 12px;
  letter-spacing: 0.18em;
}

.single-news_post_type .page-content,
.single-news_post_type #secondary{
  margin-top: 0;
  padding-top: 0;
}

@media (min-width: 900px){
  .single-news_post_type #secondary{
    position: sticky;
    top: 20px; /* adjust if your header/search overlaps */
    align-self: flex-start;
  }
}


/* === Reviews archive: make whole card clickable (without taxonomy links) === */
.post-type-archive-review_post_type .reviews-archive-wrap a.review-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.post-type-archive-review_post_type .reviews-archive-wrap a.review-card-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.post-type-archive-review_post_type .reviews-archive-wrap a.review-card-link:hover .review-card-title,
.post-type-archive-review_post_type .reviews-archive-wrap a.review-card-link:focus .review-card-title {
	text-decoration: underline;
}

.post-type-archive-review_post_type .reviews-archive-wrap a.review-card-link:hover .article-thumbnail img,
.post-type-archive-review_post_type .reviews-archive-wrap a.review-card-link:focus .article-thumbnail img {
	opacity: 0.95;
}
