/*
 Theme Name: Hitchcock Child
 Theme URI: https://andersnoren.se/teman/hitchcock-wordpress-theme/
 Description: Reusable child theme for Hitchcock. Migrated custom layout from Hitchcock 1.06 and prepared for Hitchcock 2.2.1 parent updates.
 Author: Site Customization
 Template: hitchcock
 Version: 1.0.5
 Text Domain: hitchcock-child
*/

@charset "UTF-8";

/*---------------------------------------------------------------------------------

	Theme Name: Hitchcock
    Text Domain: hitchcock
    Version: 1.06
	Author: Anders Norén
	Author URI: http://www.andersnoren.se
    Theme URI: http://www.andersnoren.se/teman/hitchcock-wordpress-theme/
	Description: Hitchcock is a minimal portfolio theme for designers, photographers and other creatives. It features a beautiful responsive design, a social icon menu, Jetpack infinite scroll, custom accent color, custom header image, support for the gallery post format, editor styling and much more. Included translations: Swedish/svenska.
    Tags: blog, three-columns, custom-colors, custom-header, custom-menu, editor-style, featured-images, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, grid-layout, portfolio, photography
	License: GNU General Public License version 2.0
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	
	All files, unless otherwise stated, are released under the GNU General Public License
	version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

-----------------------------------------------------------------------------------

	0.	CSS Reset
	1.	Document Setup
	2.  Structure
	3.	Navigation
	4.	Header
	5.	Blog
	6.  Single Post
	7.	Post Content
	8.	Comments
	9.	Respond
	10.	Pagination
	11.	Page & Page Templates
	12.	Credits
	13.	No JS Fixes
	14. Responsive

----------------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------------- */
/*	0. CSS Reset
/* -------------------------------------------------------------------------------- */


html, body { margin:0; padding:0;}

h1, h2, h3, h4, h5, h6, p, blockquote, address, big, cite, code, em, font, img, small, strike, sub, sup, li, ol, ul, fieldset, form, label, legend, button, table, caption, tr, th, td {
	margin:0;
	padding:0;
	border:0;
	font-weight:normal;
	font-style:normal;
	font-size:100%;
	line-height:1;
	font-family:inherit;
	text-align:left;
}

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

ol, ul { list-style:none; }

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

a { outline:none; }

input[type=search] {
   -moz-appearance:none;
   -webkit-appearance:none;
}

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


/* -------------------------------------------------------------------------------- */
/*	1. Document Setup
/* -------------------------------------------------------------------------------- */


html { font-size: 16px; }

body {
	margin: 0;
	padding: 0;
	background: #1d1d1d;
	border: none;
	color: #1d1d1d;
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
	-webkit-text-size-adjust: 100%;
}

body a {
	color: #1d1d1d;
	text-decoration: none;
}

body a:hover {
	color: var(--hitchcock-accent-color, #1e73be);
	text-decoration: none;
}

* { 
	box-sizing: border-box; 
	-moz-box-sizing: border-box; 
	-webkit-box-sizing: border-box; 
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.hidden { display: none; }
.clear { clear: both; }
.fleft { float: left; }
.fright { float: right; }

::selection {
	background: #444;
	color: #FFF;
}

::-webkit-input-placeholder { color: #999; }
:-ms-input-placeholder { color: #999; }


/* -------------------------------------------------------------------------------- */
/*	2.	Structure
/* -------------------------------------------------------------------------------- */


.section-inner {
	width: 1040px;
	max-width: 90%;
	margin: 0 auto;
}

.content {
	position: relative;
	z-index: 2;
}


/* Transitions --------------------------------------- */


body a {
	-webkit-transition: all 0.1s ease-in-out;
	 -moz-transition: all 0.1s ease-in-out;
	 -ms-transition: all 0.1s ease-in-out;
	 -o-transition: all 0.1s ease-in-out;
	 transition: all 0.1s ease-in-out;
}

.blog-logo,
.blog-title a,
.social-menu a,
.main-menu .menu-item-has-children > a:before,
.main-menu ul .menu-item-has-children > a:after,
.main-menu .page_item_has_children > a:before,
.main-menu ul .page_item_has_children > a:after,
.archive-post-title,
.flex-control-nav,
.flex-direction-nav a,
.post-navigation a,
.nav-toggle .bar,
input[type="submit"],
input[type="reset"],
input[type="button"],
.button,
#infinite-handle,
#infinite-handle span,
#infinite-handle span:before,
#infinite-handle span:after,
.post-navigation a span {
	-webkit-transition: all 0.2s ease-in-out;
	 -moz-transition: all 0.2s ease-in-out;
	 -ms-transition: all 0.2s ease-in-out;
	 -o-transition: all 0.2s ease-in-out;
	 transition: all 0.2s ease-in-out;
}

.post .post-overlay,
.has-post-thumbnail .archive-post-header {
	-webkit-transition: all 0.3s ease-in-out;
	 -moz-transition: all 0.3s ease-in-out;
	 -ms-transition: all 0.3s ease-in-out;
	 -o-transition: all 0.3s ease-in-out;
	 transition: all 0.3s ease-in-out;
}


/* -------------------------------------------------------------------------------- */
/*	3. Navigation
/* -------------------------------------------------------------------------------- */


.mobile-navigation,
.nav-toggle { display: none; }

.navigation { background: #1d1d1d; }

.main-menu { text-align: center; }

.main-menu li { position: relative; }

.main-menu > li { display: inline-block; }

.main-menu > li + li { margin-left: 40px; }

.main-menu > li + li:before {
	content: "/";
	font-size: 14px;
	color: #3d3d3d;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	left: -25px;
}

.main-menu a { 
	display: block;
	padding: 23px 0;
	font-size: 14px;
	color: #999;
	text-transform: none;
	position: relative;
	z-index: 10000;
}

.main-menu li:hover > a { color: #fff; }

.main-menu > li.menu-item-has-children > a,
.main-menu > li.page_item_has_children > a { padding-right: 15px; }
.main-menu .menu-item-has-children > a:after,
.main-menu .page_item_has_children > a:after {
	content: "";
	display: block;
	border: 4px solid transparent;
	border-top-color: #999;
	position: absolute;
	top: 50%;
	margin-top: -2px;
	right: 0;
}

.main-menu > .menu-item-has-children > a:before,
.main-menu > .page_item_has_children > a:before {
	content: "";
	display: block;
	border: 6px solid transparent;
	border-top-color: #1d1d1d;
	position: absolute;
	z-index: 10001;
	left: 50%;
	margin-left: -6px;
	bottom: 0;
}

.main-menu > .menu-item-has-children:hover > a:before,
.main-menu > .page_item_has_children:hover > a:before { bottom: -12px; }
.main-menu > .menu-item-has-children:hover > a:after,
.main-menu > .page_item_has_children:hover > a:after { border-top-color: #fff; }


/* Sub Menus --------------------------------------- */


.main-menu ul {
	display: block;
	opacity: 0;
	position: absolute;
	z-index: 999;
	left: -9999px;
	top: 65px;
	-webkit-transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	 -moz-transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	 -ms-transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	 -o-transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	 transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
}

.main-menu ul li { 	
	width: 200px; 
	background: #2d2d2d;
}

.main-menu ul li + li { border-top: 1px solid rgba(255,255,255,0.075); }

.main-menu ul a {
	display: block;
	padding: 16px;
	font-size: 14px;
	line-height: 130%;
	text-align: center;
	text-transform: none;
}

.main-menu ul .menu-item-has-children > a:after,
.main-menu ul .page_item_has_children > a:after { 
	margin-top: -3px;
	border-top-color: transparent;
	border-left-color: #999;
	right: 10px;
}

.main-menu ul .menu-item-has-children:hover > a:after,
.main-menu ul .page_item_has_children:hover > a:after {
	border-width: 5px;
	border-top-color: transparent;
	border-left-color: #2d2d2d;
	margin-top: -4px;
	right: -10px;
}

.main-menu > li:hover > ul {
	opacity: 1;
	left: 50%;
	margin-left: -100px;
	top: 60px;
}


/* Deep Down --------------------------------------- */


.main-menu ul ul { 
	padding-top: 0;
	top: 5px;
}

.main-menu li > ul > li:hover > ul {
	opacity: 1;
	left: 200px;
	top: 0;
}

.main-menu ul ul li { background: #3d3d3d; }
.main-menu ul ul .menu-item-has-children:hover > a:after,
.main-menu ul ul .page_item_has_children:hover > a:after { border-left-color: #3d3d3d; }
.main-menu ul ul ul li { background: #4d4d4d; }
.main-menu ul ul ul .menu-item-has-children:hover > a:after,
.main-menu ul ul il .page_item_has_children:hover > a:after { border-left-color: #4d4d4d; }
.main-menu ul ul ul ul li { background: #5d5d5d; }
.main-menu ul ul ul ul .menu-item-has-children:hover > a:after,
.main-menu ul ul ul ul .page_item_has_children:hover > a:after { border-left-color: #5d5d5d; }
.main-menu ul ul ul ul ul li { background: #6d6d6d; }
.main-menu ul ul ul ul ul .menu-item-has-children:hover > a:after,
.main-menu ul ul ul ul ul .page_item_has_children:hover > a:after { border-left-color: #6d6d6d; }


/*  Header Search  ----------------------------------------- */


.main-menu li + .header-search:before { margin-top: -12px; }

.header-search .search-form {
	width: auto;
	min-width: 16px;
	position: absolute;
	top: -22px;
	left: 0;
}

.header-search-container.active .search-form { display: block; }

.main-menu .search-field {
	display: block;
	width: 0;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	font-size: 14px;
	color: #fff;
	text-indent: -9999px;
	-webkit-transition: width 200ms linear;
	-o-transition: width 200ms linear;
	-moz-transition: width 200ms linear;
	-ms-transition: width 200ms linear;
	transition: width 200ms linear;
}

.header-search .search-button {
	display: block;
	padding: 8px 0 0 0;
	width: 16px;
	background: #1d1d1d;
	font-size: 18px;
	text-align: center;
	color: #999;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
}

.header-search .search-button:hover {
	cursor: pointer;
	color: #fff;
}

.header-search form:hover .search-field,
.header-search .search-field:focus {
	width: 150px;
	padding: 8px 32px 7px 0;
	border-bottom: 1px solid #3d3d3d;
	text-indent: 0;
	outline: none;
}

.header-search form:hover .search-button,
.header-search .search-field:focus + .search-button {
	width: 32px;
}


/* -------------------------------------------------------------------------------- */
/*	4. Header
/* -------------------------------------------------------------------------------- */


.header { padding: 70px 0; }

.header.section-inner { 
	width: 325px; 
	position: relative;
	z-index: 2;
}

.blog-title {
	font-size: 1.75em;
	text-transform:  none;
	text-align: center;
	text-shadow: 0 1px 1px rgba(0,0,0,0.2);
}

.blog-title a { color: #fff; }

.blog-logo,
.blog-logo img { display: block; }

.blog-logo img { margin: 0 auto; }

.blog-logo:hover {
	opacity: 0.6;
	-moz-opacity: 0.6;
	-webkit-opacity: 0.6;
}

.blog-description {
	margin-top: 25px;
	font-family: 'Droid Serif', Georgia, serif; 
	line-height: 145%;
	text-align: center;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0,0,0,0.2);
}


/* Social Menu --------------------------------------- */


.social-menu { 
	margin-top: 25px; 
	text-align: center;
}

.social-menu li { 
	display: inline-block;
	margin: 0 2px;
	position: relative;
}

.social-menu li:first-child { margin-left: 0; }

.screen-reader-text {
	position: absolute;
	top: -9999em;
	left: -9999em;
}

.social-menu a {
	display: block;
	width: 36px;
	height: 36px;
	background: #2d2d2d;
	border-radius: 99px;
	color: #fff;
	position: relative;
}

.social-menu a:hover { 
	background: var(--hitchcock-accent-color, #1e73be);
	color: #fff; 
}

.social-menu li a::before {
	content: '\f408';
	display: inline-block;
	font-family: 'FontAwesome';
	font-size: 16px;
	text-align: center;
	position: absolute;
	top: 50%;
	margin-top: -8px;
	left: 0;
	right: 0;
}

.wp-is-mobile .social-menu li a::before { margin-top: -7px; }

.social-menu li a[href*="codepen.io"]::before { content: '\f1cb'; }
.social-menu li a[href*="dribbble.com"]::before { content: '\f17d'; }
.social-menu li a[href*="facebook.com"]::before { content: '\f09a'; }
.social-menu li a[href*="flickr.com"]::before { content: '\f16e'; }
.social-menu li a[href*="github.com"]::before { content: '\f09b'; }
.social-menu li a[href*="instagram.com"]::before { content: '\f16d'; }
.social-menu li a[href*="linkedin.com"]::before { content: '\f0e1'; }
.social-menu li a[href*="pinterest.com"]::before { content: '\f0d2'; }
.social-menu li a[href*="plus.google.com"]::before { content: '\f0d5'; }
.social-menu li a[href*="soundcloud.com"]::before { content: '\f1be'; }
.social-menu li a[href*="tumblr.com"]::before { content: '\f173'; }
.social-menu li a[href*="twitter.com"]::before { content: '\f099'; }
.social-menu li a[href*="vimeo.com"]::before { content: '\f194'; }
.social-menu li a[href*="wordpress.org"]::before,
.social-menu li a[href*="wordpress.com"]::before { content: '\f19a'; }
.social-menu li a[href*="youtube.com"]::before { content: '\f167'; }
.social-menu li a[href*="mailto"]::before { content: '\f0e0'; }


/* Header Bg Image --------------------------------------- */


.header-image,
.header-image:after {
	height: 900px;
	height: 100vh;
	position: absolute;
	z-index: 1;
	right: 0;
	left: 0;
}

.header-image {
	background-image: url(images/bg.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.header-image:after { 
	content: "";
	display: block;
	z-index: 2;
	top: 0;
	background: #1d1d1d;
	background: -moz-linear-gradient(top, rgba(29,29,29,0.2) 0%, rgba(29,29,29,1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(29,29,29,0.2)), color-stop(100%,rgba(29,29,29,1)));
	background: -webkit-linear-gradient(top, rgba(29,29,29,0.2) 0%,rgba(29,29,29,1) 100%);
	background: -o-linear-gradient(top, rgba(29,29,29,0.2) 0%,rgba(29,29,29,1) 100%);
	background: -ms-linear-gradient(top, rgba(29,29,29,0.2) 0%,rgba(29,29,29,1) 100%);
	background: linear-gradient(to bottom, rgba(29,29,29,0.2) 0%,rgba(29,29,29,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#331d1d1d', endColorstr='#1d1d1d',GradientType=0 );
}


/* -------------------------------------------------------------------------------- */
/*	5. Blog
/* -------------------------------------------------------------------------------- */


.posts { margin-top: -3.95%; }

.posts .post {
	display: block;
	width: 30.7%;
	margin-top: 3.95%;
	padding-bottom: 30.7%;
	float: left;
	position: relative;
	background-size: cover;
	background-position: center;
}

.posts .post + .post { margin-left: 3.95%; }
.posts .post:nth-child(3n+1) { margin-left: 0; }

.post-overlay {
	background: #fff;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.sticky .post-overlay > p {
	position: absolute;
	top: 30px;
	left: 30px;
	font-size: 0.875em;
	text-transform:  none;
	color: #999;
}

.sticky .post-overlay > p span {
	margin-right: 9px;
	font-size: 18px;
	position: relative;
	bottom: -1px;
}

.archive-post-header {
	position: absolute;
	right: 30px;
	bottom: 30px;
	left: 30px;
}

.archive-post-title {
	font-size: 1.375em;
	line-height: 120%;
	font-weight: 700;
	text-transform:  none;
	color: #222;
	word-break: break-word;
	-ms-word-break: break-word;
}

.archive-post-date {
	margin-bottom: 5px;
	font-size: 0.875em;
	color: #999;
	text-transform:  none;
}

.post:hover .post-overlay { opacity: 1; }
.post:hover .archive-post-title { color: var(--hitchcock-accent-color, #1e73be); }

/* With Background Image */

.has-post-thumbnail .post-overlay { 
	background: rgba(0,0,0,0.75);
	opacity: 0; 
}

.has-post-thumbnail .archive-post-header { bottom: 35px; }
.has-post-thumbnail:hover .archive-post-header { bottom: 30px; }

.has-post-thumbnail .archive-post-title,
.post.has-post-thumbnail:hover .archive-post-title { color: #fff; }


/* -------------------------------------------------------------------------------- */
/*	6. Single Post
/* -------------------------------------------------------------------------------- */


.post-container { background: #fff; }


/* Featured Media  ----------------------------------------- */


.featured-media a,
.featured-media img {
	display: block;
}

.featured-media img { margin: 0 auto; }


/* Post Header  ----------------------------------------- */


.post-header { 
	width: 90%;
	margin: 0 auto;
	padding: 80px 0;
}

.post-date {
	margin-bottom: 10px;
	font-size: 0.875em;
	text-align: center;
	text-transform:  none;
	color: #999;
}

.post-title {
	font-size: 2.5em;
	line-height: 120%;
	font-weight: 700;
	text-align: center;
	text-transform:  none;
}


/* Post Inner  ----------------------------------------- */


.post-inner {
	width: 1088px;
	max-width: 85%;
	margin: 0 auto;
	padding: 80px 0 90px;
}

.post-header + .post-inner { padding-top: 0; }



/* Page Links  ----------------------------------------- */


.page-links { 
	display: inline-block;
	margin-top: 40px;
	background: #eee;
	border-radius: 3px;
	overflow: hidden;
	font-size: 0.9em;
	text-transform:  none;
	color: #999;
}

.page-links a,
.page-links > span {
	display: block;
	float: left;
	padding: 10px 12px;
	color: #666;
}

.page-links a:first-child,
.page-links span:first-child {
	margin-left: 0;
}

.page-links a:hover { 
	background: var(--hitchcock-accent-color, #1e73be);
	color: #fff;
}

.page-links > span:nth-of-type(2) { 
	background: #ddd;
	color: #666;
}


/* Post Meta  ----------------------------------------- */


.post-meta { 
	margin-top: 40px;
	font-size: 14px;
	color: #999;
}

.post-meta p { line-height: 150%; }

.post-meta a { color: #999; }
.post-meta a:hover { 
	color: #999;
	text-decoration: underline; 
}

.tags a { margin-right: 5px; }
.tags a:before { content: "#"; }

.post-edit:before {
	content: "";
	display: block;
	width: 32px;
	height: 1px;
	background: #ddd;
	margin: 10px 0 8px;
}


/* Post Navigation  ----------------------------------------- */


@media ( min-width: 900px ) {

	.post-navigation a {
		display: block;
		height: 200px;
		width: 45px;
		background: #2d2d2d;
		color: #fff;
		position: fixed;
		top: 50%;
		margin-top: -100px;
	}
	
	.post-navigation .fa {
		display: block;
		width: 100%;
		font-size: 36px;
		text-align: center;
		position: absolute;
		top: 50%;
		margin-top: -18px;
		left: 0;
	}
	
	.post-navigation p { text-indent: -9999px; }
	
	.post-nav-prev { right: 0; }
	.post-nav-prev .fa { padding-left: 4px; }
	
	.post-nav-next { left: 0; }
	.post-nav-next .fa { padding-right: 4px; }
	
	.post-navigation a:hover { 
		width: 50px; 
		color: #fff;
	}

}


/* Gallery  ----------------------------------------- */


.flexslider { 
	position: relative; 
	overflow: hidden;
}

/* Direction Nav */

.wp-is-mobile .flex-direction-nav { display: none; }

.flex-direction-nav a {
	display: block;
	width: 80px;
	font-size: 32px;
	color: #fff;
	opacity: 0;
	position: absolute;
	z-index: 1001;
	top: 0;
	bottom: 0;
}

.flex-direction-nav li:nth-child(1) a { 
	left: 0;
	background: -moz-linear-gradient(left, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(0,0,0,0.25)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(0,0,0,0.25) 0%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(0,0,0,0.25) 0%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(0,0,0,0.25) 0%,rgba(0,0,0,0) 100%); /* IE10+ */
	background: linear-gradient(to right, rgba(0,0,0,0.25) 0%,rgba(0,0,0,0) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#40000000', endColorstr='#00000000',GradientType=1 ); /* IE6-9 */
}

.flex-direction-nav li:nth-child(2) a { 
	right: 0;
	background: -moz-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.25) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.25))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,0.25) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,0.25) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,0.25) 100%); /* IE10+ */
	background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.25) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#40000000',GradientType=1 ); /* IE6-9 */
}

.flex-direction-nav span {
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	margin-top: -16px;
	left: 0;
}

.flexslider:hover .flex-direction-nav a { opacity: 1; }

.flex-direction-nav a:hover { color: #fff; }

/* Control Nav */

.flex-control-nav {
	text-align: center;
	position: absolute;
	bottom: -16px;
	left: 0;
	right: 0;
}

.flexslider:hover .flex-control-nav { bottom: 16px; }

.flex-control-nav li {
	display: inline-block;
	margin: 0 4px;
	text-indent: -9999px;
}

.flex-control-nav a {
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: rgba(255,255,255,0.5);

}

.flex-control-nav .flex-active { background: #fff; }

.flex-control-nav a:hover { cursor: pointer; }


/* Related Posts  ----------------------------------------- */


.related-posts { margin: 0 auto; }


/* -------------------------------------------------------------------------------- */
/*	7. Post Content
/* -------------------------------------------------------------------------------- */


.post-content { 
	font-family: 'Droid Serif', Georgia, serif; 
	color: #333;
	position: relative;
}

.post-content a { color: var(--hitchcock-accent-color, #1e73be); }
.post-content a:hover { text-decoration: underline; }


.post-content p,
.post-content blockquote,
.post-content ul,
.post-content ol,
.post-content address,
.post-content dl,
.post-content .wp-caption,
.post-content pre {
	line-height: 150%;
	margin-bottom: 1.25em;
}

.post-content > *:first-child { margin-top: 0; }
.post-content *:last-child { margin-bottom: 0; }

.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 { 
	margin: 50px 0 25px; 
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
	text-transform:  none;
}

.post-content h1 { font-size: 2.25em; font-weight: 700; }
.post-content h2 { font-size: 1.875em; font-weight: 700; }
.post-content h3 { font-size: 1.5em; font-weight: 700; }
.post-content h4 { font-size: 1.25em; }
.post-content h5 { font-size: 1em; }
.post-content h6 { font-size: 0.8em; }

.post-content h1+h1, .post-content h1+h2, .post-content h1+h3, .post-content h1+h4, .post-content h1+h5, .post-content h1+h6,
.post-content h2+h1, .post-content h2+h2, .post-content h2+h3, .post-content h2+h4, .post-content h2+h5, .post-content h2+h6,
.post-content h3+h1, .post-content h3+h2, .post-content h3+h3, .post-content h3+h4, .post-content h3+h5, .post-content h3+h6,
.post-content h4+h1, .post-content h4+h2, .post-content h4+h3, .post-content h4+h4, .post-content h4+h5, .post-content h4+h6,
.post-content h5+h1, .post-content h5+h2, .post-content h5+h3, .post-content h5+h4, .post-content h5+h5, .post-content h5+h6,
.post-content h6+h1, .post-content h6+h2, .post-content h6+h3, .post-content h6+h4, .post-content h6+h5, .post-content h6+h6 {
	margin-top: 25px;
}


/* Block Quotes --------------------------------------- */


.post-content blockquote {
	margin: 30px 0;
	padding: 30px;
	background: #fafafa;
	position: relative;
	color: #666;
	font-style: italic;
}

.post-content blockquote p { font-style: italic; }

.post-content cite { margin-top: 25px; }

.post-content blockquote cite { 
	display: block; 
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
	font-size: 0.875em;
	line-height: 120%;
	text-transform:  none;
	letter-spacing: 1px;
}

.post-content blockquote cite:before { content: "— " }

.post-content p.pull {
	max-width: 45%;
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
	font-size: 1.6em;
	line-height: 120%;
	font-weight: 300;
	text-transform:  none;
	color: var(--hitchcock-accent-color, #1e73be);
}

.post-content p.pull.left {
	float: left;
	margin: 0 1.5em 1.5em -100px;
}

.post-content p.pull.right {
	text-align: right;
	float: right;
	margin: 0 -100px 1.5em 1.5em;
}

em, q {  font-style: italic;  }

.post-content strong em,
.post-content em strong {
	font-weight: 700;
	font-style: italic;
}

.post-content big { font-size: 1.25em; }

abbr, acronym { cursor: help; }

code, kbd, pre {
	font-size: 0.85em;
	background: #EEE;
	font-family: Menlo, Monaco, monospace;
}

.post-content .highlight {
	background: #fcf8a5;
	width: auto;
	display: inline;
	padding: 2px 3px;
}

.post-content kbd,
.post-content code {
	padding: 5px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.post-content dl { line-height: 160%; }

.post-content dl dt { font-weight: 700; }

.post-content hr {
	width: 100%;
	height: 2px;
	background: #ddd;
	margin: 3em 0;
	border: 0;
}


/* Lists --------------------------------------- */


.post-content ul {
	list-style: disc;
	margin-left: 1.5em;
}

.post-content ul ul { list-style: circle; }
.post-content ul ul ul { list-style: square; }

.post-content ol {
	list-style: decimal;
	margin-left: 1.5em;
}

.post-content ol ol { list-style: lower-alpha; }
.post-content ol ol ol {
	list-style: lower-roman;
}

.post-content ul ul,
.post-content ul ol,
.post-content ol ul,
.post-content ol ol {
	margin-bottom: 0;
}

.post-content li {
	margin-bottom: 0.5em;
	line-height: 170%;
}

.post-content ol > li:last-child,
.post-content ul > li:last-child {
	margin-bottom: 0;
}

.post-content ol > li:first-child,
.post-content ul > li:first-child {
	margin-top: 0.5em;
}

.post-content address {
	padding: 20px;
	background: #f1f1f1;
}

.post-content pre {
	white-space: pre-wrap;       /* css-3 */
	white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
	white-space: -pre-wrap;      /* Opera 4-6 */
	white-space: -o-pre-wrap;    /* Opera 7 */
	word-wrap: break-word;       /* Internet Explorer 5.5+ */
	line-height: 140%;
	padding: 20px;
	background: #3d3d3d;
	font-size: 0.8em;
	color: #FFF;
}


/* Post Media --------------------------------------- */


.post-content .wp-caption { 
	margin-bottom: 1.5em; 
	max-width: 100%;
}

.post-content .alignleft,
.post-content .alignright {
	max-width: 45%;
}

.post-content .wp-caption .alignleft,
.post-content .wp-caption .alignright {
	margin-bottom: 0;
}

.post-content .alignleft {
	float: left;
	margin: 0 2em 1.5em -100px;
}

.post-content .alignright {
	float: right;
	margin: 0 -100px 1.5em 2em;
}

.post-content .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.post-content .alignnone {
	max-width: 720px;
	margin: 3em 0 3em -100px;
}

.post-content .wp-caption-text,
.post-content .gallery-caption {
	padding-top: 12px;
	font-size: 14px;
	font-style: italic;
	line-height: 120%;
	color: #666;
}

.post-content .gallery-caption {
	font-size: 16px;
	line-height: 24px;
}


/* Tables --------------------------------------- */


.post-content table {
	border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
    font-size: 0.85em;
}

.post-content th,
.post-content td {
	padding: 2.5%;
	margin: 0;
	overflow: visible;
	line-height: 140%;
}

.post-content caption {
	padding-bottom: 2.5%;
	border-bottom: 1px solid #ddd;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	text-transform:  none;
}

.post-content thead {
	vertical-align: bottom;
	white-space: nowrap;
}

.post-content th { 
	border-bottom: 1px solid #ddd;
	font-weight: 700; 
}

tbody > tr:nth-child(odd) { background-color: #f6f6f6; }


/* Forms --------------------------------------- */


.post-content fieldset {
	padding: 25px;
	border: 1px solid #ddd;
	margin-bottom: 1em;
}

.post-content fieldset legend {
	padding: 10px 11px;
	background: #ddd;
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
	font-size: 13px;
	line-height: 1;
	font-weight: 700;
	text-transform:  none;
	letter-spacing: 1px;
	color: #666;
}

label { 
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
	font-size: 14px; 
	color: #999;
	text-transform:  none;
}

input,
textarea { 
	font-family: 'Montserrat', 'Helvetica Neue', 'Helvetica', sans-serif;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
	width: 100%;
	padding: 17px 20px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1;
	color: #333;
	-webkit-appearance: none;
}

input[type="file"] {
	padding: 10px;
	border-radius: 3px;
	background: none;
}

textarea { 
	height: 220px; 
	line-height: 150%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus {
	outline: none;
	border-color: var(--hitchcock-accent-color, #1e73be);
}

input[type="submit"],
input[type="reset"],
input[type="button"],
.button {
	padding: 16px 20px;
	border: none;
	margin: none;
	background: var(--hitchcock-accent-color, #1e73be);
	border-radius: 3px;
	font-size: 14px;
	line-height: 1;
	font-weight: 700;
	text-transform:  none;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0,0,0,0.1);
	-webkit-appearance: none;
}

input[type="submit"] + input[type="reset"],
input[type="submit"] + input[type="button"],
input[type="reset"] + input[type="submit"],
input[type="reset"] + input[type="button"],
input[type="button"] + input[type="reset"],
input[type="submit"] + input[type="submit"] {
	margin-left: 5px;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:hover {
	cursor: pointer;
	color: #fff;
	box-shadow: inset 0 0 100px rgba(0,0,0,0.2);
}

input[type="submit"]:focus,
input[type="submit"]:active {
	outline: none;
}


/* -------------------------------------------------------------------------------- */
/*	8. Comments
/* -------------------------------------------------------------------------------- */


/* Comments Container --------------------------------------- */


.comments-container { 
	background: #fafafa; 
	border-top: 1px solid #ddd;
	margin-top: 20px;
}

.comments-inner,
.comment-respond form {
	width: 520px;
	max-width: 85%;
	padding-bottom: 80px;
	margin: 0 auto;
}

.comments-inner { padding-bottom: 100px; }

.comments-inner + .comment-respond { border-top: 1px solid #ddd; }


/* Comments Title --------------------------------------- */


.comments-title,
.comment-reply-title { 
	display: block;
	margin: 0 auto 54px auto;
	text-align: center;
	position: relative;
	top: -24px;
}

.comments-title .inner,
.comment-reply-title .inner {
	display: inline-block;
	padding: 15px;
	background: #ddd;
	font-size: 15px;
	text-transform:  none;
	letter-spacing: 1px;
	color: #666;
	position: relative;
}


/* Comment --------------------------------------- */


.commentlist div.comment { 
	margin-top: 40px;
	border-top: 1px solid #ddd;
	padding-top: 40px;
	position: relative;
}

.commentlist > li.comment:first-child > div.comment:first-child {  
	margin-top: 0; 
	border-top: none;
	padding-top: 0;
}

.commentlist .children { padding-left: 7.7%; }

.comment-title { 
	margin-bottom: 21px; 
	position: relative;
	font-size: 1.125em;
	font-weight: 700;
	color: #333;
	text-transform:  none;
}

.comment-title .url { color: #333; }

.comment-title .url:hover { color: var(--hitchcock-accent-color, #1e73be); }

.comment-title span {
	margin-left: 10px;
	font-size: 0.875rem;
	font-weight: 400;
	color: #999;
}

.comment-date-link { color: #999; }
.comment-date-link:hover { color: #666; }

.bypostauthor {}


/* Comment Actions --------------------------------------- */


.comment-actions { 
	margin-top: 21px; 
	font-size: 0.875em;
	text-transform:  none;
}

.comment-actions a { color: var(--hitchcock-accent-color, #1e73be); }

.comment-actions a + a { margin-left: 10px; }

.comment-actions a:hover { 
	color: var(--hitchcock-accent-color, #1e73be);
	text-decoration: underline; 
}

.comment-awaiting-moderation { color: #999; }


/* Pingbacks --------------------------------------- */


.comments .pingbacks {
	margin-top: 40px;
	border-top: 1px solid #ddd;
	padding-top: 40px;
}

.pingbacks-title {
	margin-bottom: 15px;
	font-size: 0.875em;
	font-weight: 700;
	color: #333;
	text-transform:  none;
}

.comments .pingbacks li {
	padding: 12px 0;
	border-bottom: 1px dotted #ddd;
}

.comments .pingbacks li:first-child { border-top: 1px dotted #ddd; }

.comments .pingbacks li .url {
	line-height: 140%;
	color: #666;
}

.comments .pingbacks li .comment-edit-link {
	margin-left: 4px;
	font-size: 0.7em;
	font-weight: 700;
	text-transform:  none;
	color: #999;
}

.comments .pingbacks li a:hover { color: var(--hitchcock-accent-color, #1e73be); }


/* Comment navigation --------------------------------------- */


.comments-nav {
	padding-top: 40px;
	border-top: 1px solid #ddd;
	margin-top: 40px;
	font-size: 14px;
	text-transform:  none;
}

.comments-nav a { color: #999; }
.comments-nav a:hover { color: #666; }


/* -------------------------------------------------------------------------------- */
/*	9. Respond
/* -------------------------------------------------------------------------------- */


.comment-form p { margin-top: 20px; }
.comment-form p:first-child { margin-top: 0; }

.logged-in-as { 
	margin-bottom: 40px;
	font-family: 'Droid Serif', Georgia, serif; 
	font-size: 0.925em;
	text-align: center;
	font-style: italic;
	color: #666;
}

.logged-in-as a { color: #666; }

.comment-form-comment + .comment-form-author,
.comment-form-comment + .comment-form-author + .comment-form-email {
    margin-top: 20px;
}

p.comment-form-author,
p.comment-form-email {
	width: 47.5%;
	float: left;
	margin: 0 0 20px;
}

p.comment-form-author { margin-right: 5%; }

.comment-form label { 
	display: block; 
	margin-bottom: 6px;
}

.comment-form .required { 
	color: red; 
	margin-left: 2px;
}

.comment-subscription-form + .comment-subscription-form { margin-top: 12px; }


/* When In Comment List... --------------------------------------- */


.commentlist .comment-respond {
	max-width: 100%;
	margin: 40px 0 0;
	padding: 0;
}

.commentlist .comment-respond form { 
	max-width: 100%; 
	padding-bottom: 0;
}

.commentlist .comment-reply-title {
	top: 0;
	border-bottom: 1px solid #ddd;
	margin-bottom: 40px;
	text-align: left;
}

#cancel-comment-reply-link { 
	margin-left: 10px; 
	font-size: 15px;
	text-transform:  none;
	color: #999;
}

#cancel-comment-reply-link:hover { color: #666; }

.commentlist form p { text-align: left; }


/* -------------------------------------------------------------------------------- */
/*	10. Pagination
/* -------------------------------------------------------------------------------- */


/* Page Title --------------------------------------- */


.page-title { margin-bottom: 70px; }

.page-title p,
.page-title h4 {
	text-align: center;
	text-transform:  none;
	text-shadow: 0 1px 0 rgba(0,0,0,0.1);
}

.page-title p {
	margin-bottom: 8px;
	font-size: 0.875em;
	color: #fff;
}

.page-title h4 {
	font-size: 1.375em;
	color: #fff;
}


/* Archive navigation --------------------------------------- */


.archive-nav { 
	text-align: center;
	margin-top: 60px;
	color: #2d2d2d; 
}

.archive-nav span { font-size: 32px; }

.archive-nav a { 
	display: inline-block;
	color: #fff; 
}

.archive-nav a:hover { color: var(--hitchcock-accent-color, #1e73be); }

.archive-nav .sep {
	margin: 0 20px;
	font-family: "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHerosRegular', "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; 
	font-weight: 300; 
	font-stretch: normal;
	font-size: 40px;
	position: relative;
	bottom: -4px;
	-webkit-font-smoothing: antialiased;
}


/* Infinite handle (Jetpack infinite scroll) --------------------------------------- */


.infinite-scroll .archive-nav { display: none; }

#infinite-handle {
	width: 100%;
	height: 80px;
	padding: 20px 0;
	margin-top: 3.95%;
	background: #2d2d2d;
}

#infinite-handle span {
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0 auto;
	border-radius: 99px;
	border: 2px solid #999;
	background: none;
	text-indent: -9999px;
	position: relative;
}

#infinite-handle span:before,
#infinite-handle span:after {
	content: "";
	display: block;
	background: #999;
	position: absolute;
	top: 50%;
	left: 50%;
}

#infinite-handle span:before {
	width: 2px;
	height: 20px;
	margin-left: -1px;
	margin-top: -10px;
}

#infinite-handle span:after {
	width: 20px;
	height: 2px;
	margin-left: -10px;
	margin-top: -1px;
}

#infinite-handle button { display: none !important; }

#infinite-handle:hover {
	cursor: pointer;
	background: var(--hitchcock-accent-color, #1e73be);
}

#infinite-handle:hover span { border-color: #fff; }
#infinite-handle:hover span:before,
#infinite-handle:hover span:after { background: #fff; }


/* Infinite loader (Jetpack infinite scroll) --------------------------------------- */


.infinite-loader {
	width: 100%;
	height: 80px;
	margin-top: 3.95%;
	text-align: center;
}

.infinite-loader .spinner {
	display: inline-block;
	position: absolute !important;
	top: auto !important;
	bottom: 30px !important;
	left: 50% !important;
	margin-left: 0;
}


/* -------------------------------------------------------------------------------- */
/*	11. Page & Page Templates
/* -------------------------------------------------------------------------------- */


/* Search Form --------------------------------------- */


.search-form { position: relative; }

.search-field {
	display: block;
	padding: 20px 60px 20px 20px;
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 0.875rem;
	color: #666;
}

.search-field:focus { 
	border-color: var(--hitchcock-accent-color, #1e73be);
	outline: none; 
}

.post-content a.search-button {
	display: block;
	width: 60px;
	padding-top: 18px;
	border: none !important;
	font-size: 20px;
	text-align: center;
	color: #999;
	position: absolute;
	top: 1px;
	right: 1px;
	bottom: 1px;
}

.post-content a.search-button:hover { 
	color: #666; 
	cursor: pointer;
}


/* -------------------------------------------------------------------------------- */
/*	12. Credits
/* -------------------------------------------------------------------------------- */


.credits { 
	padding: 60px 0; 
	position: relative;
	z-index: 2;
}

.credits p {
	text-align: center;
	text-transform:  none;
}

.credits p:first-child {
	font-size: 1.175em;
	color: #fff;
}

.credits p:first-child a { color: #fff; }
.credits p:first-child a:hover { color: var(--hitchcock-accent-color, #1e73be); }

.credits p + p {
	margin-top: 12px;
	font-size: 0.825em;
	color: #666;
}

.credits p + p a { color: #666; }
.credits p + p a:hover { text-decoration: underline; }

img#wpstats { display: none; }


/* -------------------------------------------------------------------------------- */
/*	13. No JS Fixes
/* -------------------------------------------------------------------------------- */


.format-gallery .slides li { display: none; }
.format-gallery .slides li:first-child { display: block; }

/* pagination */

.no-js .archive-nav { display: block; }


/* -------------------------------------------------------------------------------- */
/*	14. Responsive
/* -------------------------------------------------------------------------------- */


@media ( max-width: 900px ) {
	
	
	
	/* Nav toggle --------------------------------------- */
	
	
	.nav-toggle {
		display: block;
		padding: 16px 0;
		background: rgba(0,0,0,0.1);
		color: #fff;
	}
	
	.nav-toggle .bars {
		margin: 0 auto;
		height: 12px;
		width: 20px;
		position: relative;
	}
	
	.nav-toggle .bar {
		height: 2px;
		background: #fff;
		border-radius: 2px;
		position: absolute;
		left: 0;
		right: 0;
		-webkit-transition: opacity 0.2s linear 0.2s, top 0.2s linear 0.2s, -webkit-transform 0.2s linear 0s;
		-moz-transition: opacity 0.2s linear 0.2s, top 0.2s linear 0.2s, -moz-transform 0.2s linear 0s;
		-o-transition: opacity 0.2s linear 0.2s, top 0.2s linear 0.2s, -o-transform 0.2s linear 0s;
		transition: opacity 0.2s linear 0.2s, top 0.2s linear 0.2s, transform 0.2s linear 0s;
	}
	
	.nav-toggle .bar:nth-child(1) { top: 0px; }
	.nav-toggle .bar:nth-child(2) { top: 5px; }
	.nav-toggle .bar:nth-child(3) { top: 10px; }
	
	.nav-toggle:hover { cursor: pointer; }
	
	.nav-toggle.active .bar { 
		background: var(--hitchcock-accent-color, #1e73be);
		-webkit-transition: opacity 0.2s linear 0s, top 0.2s linear 0s, -webkit-transform 0.2s linear 0.2s;
		-moz-transition: opacity 0.2s linear 0s, top 0.2s linear 0s, -moz-transform 0.2s linear 0.2s;
		-o-transition: opacity 0.2s linear 0s, top 0.2s linear 0s, -o-transform 0.2s linear 0.2s;
		transition: opacity 0.2s linear 0s, top 0.2s linear 0s, transform 0.2s linear 0.2s;
	}
	
	.nav-toggle.active .bar:nth-child(1),
	.nav-toggle.active .bar:nth-child(3) {
		top: 5px;
	}
	
	.nav-toggle.active .bar:nth-child(1) { 
		-webkit-transform: rotate(-45deg); 
		-moz-transform: rotate(-45deg); 
		-o-transform: rotate(-45deg); 
		transform: rotate(-45deg); 
	}
	
	.nav-toggle.active .bar:nth-child(2) { opacity: 0; }
	
	.nav-toggle.active .bar:nth-child(3) { 
		-webkit-transform: rotate(45deg); 
		-moz-transform: rotate(45deg); 
		-o-transform: rotate(45deg); 
		transform: rotate(45deg); 
	}
	
	
	/* Navigation --------------------------------------- */
	
	
	.main-menu { display: none; }
	
	.mobile-menu { 
		border-top: 1px solid #2d2d2d; 
		padding: 20px 0;
	}
	
	.mobile-menu a {
		display: block;
		padding: 20px 5%;
		text-transform:  none;
		color: #fff;
	}
	
	.mobile-menu ul a { padding-left: 10%; }
	.mobile-menu ul ul a { padding-left: 15%; }
	.mobile-menu ul ul ul a { padding-left: 20%; }
	.mobile-menu ul ul ul ul a { padding-left: 25%; }
	
	/* Mobile Search */
	
	.mobile-navigation .search-field {
		background: none;
		border: none;
		border-radius: 0;
		padding: 25px 60px 25px 5%;
		border-top: 1px solid #2d2d2d;
		font-size: 1rem;
	}
	
	.mobile-navigation .search-field:focus { color: #fff; }
	
	.mobile-navigation .search-button {
		width: 60px;
		padding: 23px 20px 0 0;
		font-size: 20px;
		text-align: center;
		color: #999;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
	}
	
	.mobile-navigation .search-button:hover { 
		cursor: pointer;
		color: #fff; 
	}
	
	
	/* Blog --------------------------------------- */
	
	
	.posts .post { 
		width: 48.025%;
		padding-bottom: 48.025%;
	}
	
	.posts .post:nth-child(3n+1) { margin-left: 3.95%; }
	.posts .post:nth-child(2n+1) { margin-left: 0; }
	
	
	/* Single Post --------------------------------------- */
	
	
	.post-navigation { 
		padding-top: 20px;
		border-top: 1px solid #ddd;
		margin-top: 20px; 
	}
	
	.post-navigation a {
		text-transform:  none;
		color: #999;
	}
	
	.post-nav-prev { float: right; }
	.post-nav-next { float: left; }
	
	.post-navigation p { 
		font-size: 0.875em;
		display: inline; 
	}
	
	.post-nav-prev p { margin-right: 5px; }
	.post-nav-next p { margin-left: 5px; }
	
	.post-navigation .fa { 
		font-size: 18px; 
		position: relative;
		bottom: -1px;
	}
	
	.post-navigation a:hover { color: #666; }
	
	/* Related Posts */
	
	.related-posts .post:nth-child(3) { display: none; }
	
	
	/* Post Content --------------------------------------- */
	
	
	.post-content .alignnone {
		max-width: 100%;
		margin-left: 0;
	}
	
	.post-content p.pull.left,
	.post-content .alignleft { margin-left: 0; }

	.post-content p.pull.right,	
	.post-content .alignright { margin-right: 0; }
	
	
}


@media ( max-width: 600px ) {
	
	
	/* Structure --------------------------------------- */	
	
	
	.header,
	.credits {
		padding: 40px 0;
	}
	
	.single .content { max-width: 100%; }
		
	
	/* Navigation --------------------------------------- */	
	
	
	.mobile-menu { 
		padding: 10px 0; 
		font-size: 0.875em;
	}
	
	.mobile-navigation .search-field { font-size: 0.875em; }
	
	
	/* Blog --------------------------------------- */	
	
	
	.posts { margin-top: 0; }
	
	.posts .post {
		width: 100%;
		padding-bottom: 50%;
		min-height: 200px;
		margin-left: 0 !important;
		margin-top: 5%;
	}
	
	.posts .post:first-child { margin-top: 0; }
	
	
	/* Single Post --------------------------------------- */	
	
	
	.post-header { 
		padding: 40px 0; 
		max-width: 85%;
	}
	
	.post-title { font-size: 2em; }
	
	.post-inner { padding: 40px 0 50px; }
	
	/* Related Posts */
	
	.related-posts { 
		max-width: 85%;
		margin: 7.5% auto 0;
	}
	
	.related-posts .post:nth-child(3) { display: block; }
	
	
	/* Post Content --------------------------------------- */
	
	
	.post-content p.pull.left,
	.post-content p.pull.right {
		max-width: 100%;
		float: none;
		margin: 25px 0;
	}
	
	.post-content .alignnone { margin: 25px auto; }
	
	
	/* Comments --------------------------------------- */	
	
	
	.comments-inner,
	.comment-respond form { padding-bottom: 50px; }
	
	.comments-title, 
	.comment-reply-title { margin-bottom: 20px; }
	
	
	/* Respond --------------------------------------- */	
	
	
	p.comment-form-author, 
	p.comment-form-email {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	
	
	/* Pagination --------------------------------------- */	
	
	
	.archive-nav { margin-top: 40px; }
	.page-title { margin-bottom: 40px; }
	
	#infinite-handle,
	.infinite-loader { margin-top: 5%; }
	
}


@media ( max-width: 400px ) {


	/* Header --------------------------------------- */	
	
	
	.header { padding: 30px 0; }
	
	.blog-title { font-size: 1.5em; }
	
	.blog-description {
		font-size: 0.875em;
		margin-top: 15px;
	}
	
	.social-menu { margin-top: 15px; }


	/* Blog --------------------------------------- */	
	
	
	.posts .post { min-height: 244px; }
	
	.sticky .post-overlay > p {
		top: 20px;
		left: 20px;
	}
	
	.archive-post-header {
		right: 20px;
		bottom: 20px;
		left: 20px;
	}
	
	.has-post-thumbnail .archive-post-header { bottom: 25px; }
	.has-post-thumbnail:hover .archive-post-header { bottom: 20px; }
	
	
	/* Single Post --------------------------------------- */
	
	
	.post-navigation {
		padding-top: 10px;
		margin-top: 10px;
	}
	
	.post-navigation a .hide { display: none; }
	
	
	/* Post Content --------------------------------------- */	
	
	
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	textarea {
		padding: 13px 15px;
	}
	
	textarea { height: 180px; }
	
	
	/* Comments --------------------------------------- */	
	
	
	.comment-title { font-size: 1em; }
	
	.comment-title span { 
		margin-left: 5px;
		font-size: 0.75rem; 
	}
	
	
	/* Pagination --------------------------------------- */	
	
	
	.page-title p { font-size:  }
	
	.page-title h4 { font-size: 1.25em; }
	
	/* Infinite Scroll */
	
	#infinite-handle {
		height: 60px;
		padding: 15px 0;
	}
	
	#infinite-handle span {
		width: 30px;
		height: 30px;
	}
	
	#infinite-handle span:before {
		height: 14px;
		margin-top: -7px;
	}
	
	#infinite-handle span:after {
		width: 14px;
		margin-left: -7px;
	}

		
}


/* Link hover color: use Customize accent color with blue fallback */
body a:hover,
.post-content a:hover,
.entry-content a:hover,
.post-title a:hover,
.archive-post-title a:hover,
.archive-title a:hover {
	color: var(--hitchcock-accent-color, #1e73be);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Keep dark UI links readable on hover */
.main-menu li:hover > a,
.mobile-menu a:hover,
.blog-title a:hover,
.social-menu a:hover,
.post-navigation a:hover,
.credits p:first-child a:hover {
	text-decoration: none;
}

/* ---------------------------------------------------------------------------------------------
   Child theme numbered pagination
------------------------------------------------------------------------------------------------ */

.hitchcock-child-numbered-pagination {
	clear: both;
	margin: 60px auto 0;
	text-align: center;
}

.hitchcock-child-numbered-pagination ul {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hitchcock-child-numbered-pagination li {
	display: inline-flex;
	margin: 0;
}

.hitchcock-child-numbered-pagination a,
.hitchcock-child-numbered-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid #3d3d3d;
	border-radius: 999px;
	background: #2d2d2d;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.hitchcock-child-numbered-pagination a:hover,
.hitchcock-child-numbered-pagination .current {
	background: var(--hitchcock-accent-color, #1e73be);
	border-color: var(--hitchcock-accent-color, #1e73be);
	color: #fff;
	text-decoration: none;
}

.hitchcock-child-numbered-pagination .dots {
	background: transparent;
	border-color: transparent;
	color: #999;
	min-width: 20px;
	padding: 0 4px;
}

@media ( max-width: 700px ) {
	.hitchcock-child-numbered-pagination { margin-top: 20px; }

	.hitchcock-child-numbered-pagination a,
	.hitchcock-child-numbered-pagination span {
		min-width: 32px;
		height: 32px;
		padding: 0 10px;
		font-size: 12px;
	}
}

/* ---------------------------------------------------------------------------------------------
   Mobile catalog archive view
   - Desktop keeps the existing Hitchcock grid/background cards.
   - Mobile switches archive cards to one full catalog page per horizontal swipe.
   - Strong selectors are used to override the original Hitchcock mobile grid.
------------------------------------------------------------------------------------------------ */

.hitchcock-child-catalog-mobile-image {
	display: none;
}

@media (max-width: 900px) {
	body:not(.single) .content.section-inner,
	body:not(.single) .section-inner.content {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body:not(.single) .posts {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 18px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 4vw 28px !important;
	}

	body:not(.single) .posts::-webkit-scrollbar {
		height: 6px;
	}

	body:not(.single) .posts::-webkit-scrollbar-thumb {
		background: rgba(255,255,255,0.28);
		border-radius: 999px;
	}

	body:not(.single) .posts .clear {
		display: none !important;
	}

	body:not(.single) .posts .post,
	body:not(.single) .posts .post:first-child,
	body:not(.single) .posts .post + .post,
	body:not(.single) .posts .post:nth-child(2n+1),
	body:not(.single) .posts .post:nth-child(3n+1) {
		display: block !important;
		flex: 0 0 92vw !important;
		width: 92vw !important;
		max-width: 92vw !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		background: none !important;
		background-image: none !important;
		scroll-snap-align: center;
		position: relative !important;
	}

	body:not(.single) .posts .post[style] {
		background: none !important;
		background-image: none !important;
	}

	body:not(.single) .posts .post.has-post-thumbnail .post-overlay,
	body:not(.single) .posts .post .post-overlay {
		display: none !important;
	}

	body:not(.single) .hitchcock-child-catalog-mobile-image {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
		object-fit: contain !important;
		background: #fff;
		box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
	}

	body:not(.single) .archive-post-header,
	body:not(.single) .archive-post-date,
	body:not(.single) .archive-post-title {
		display: none !important;
	}

	body:not(.single) .hitchcock-child-numbered-pagination,
	body:not(.single) .archive-nav,
	body:not(.single) #infinite-handle,
	body:not(.single) .infinite-loader {
		display: none !important;
	}
}

@media (max-width: 480px) {
	body:not(.single) .posts {
		gap: 14px !important;
		padding-left: 3vw !important;
		padding-right: 3vw !important;
	}

	body:not(.single) .posts .post,
	body:not(.single) .posts .post:first-child,
	body:not(.single) .posts .post + .post,
	body:not(.single) .posts .post:nth-child(2n+1),
	body:not(.single) .posts .post:nth-child(3n+1) {
		flex-basis: 94vw !important;
		width: 94vw !important;
		max-width: 94vw !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Mobile catalog carousel improvements
   - Keeps the title as an overlay at the bottom of each catalog image.
   - Adds swipe hint and arrow controls created by functions.php.
   - Supports AJAX-loaded posts appended to the same horizontal carousel.
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-mobile-catalog-hint {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		padding: 0 16px 14px;
		margin-top: -6px;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.4;
		color: rgba(255,255,255,0.72);
		text-align: center;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-hint span {
		text-align: center;
	}

	body:not(.single) .posts {
		padding-bottom: 18px !important;
	}

	body:not(.single) .posts .post {
		overflow: hidden !important;
		border-radius: 0 !important;
	}

	body:not(.single) .posts .post.has-post-thumbnail .post-overlay,
	body:not(.single) .posts .post .post-overlay {
		display: block !important;
		position: absolute !important;
		top: auto !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		min-height: 0 !important;
		padding: 0 !important;
		background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.82)) !important;
		opacity: 1 !important;
		pointer-events: none !important;
		z-index: 5 !important;
	}

	body:not(.single) .posts .archive-post-header,
	body:not(.single) .posts .post.has-post-thumbnail .archive-post-header {
		display: block !important;
		position: static !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		padding: 52px 16px 14px !important;
	}

	body:not(.single) .posts .archive-post-date {
		display: none !important;
	}

	body:not(.single) .posts .archive-post-title {
		display: block !important;
		margin: 0 !important;
		color: #fff !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1.35 !important;
		text-align: left !important;
		text-shadow: 0 2px 8px rgba(0,0,0,0.55);
	}

	body:not(.single) .posts.is-loading-more:after {
		content: "Loading...";
		flex: 0 0 auto;
		align-self: center;
		padding: 12px 16px;
		border-radius: 999px;
		background: rgba(255,255,255,0.12);
		color: #fff;
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 16px;
		padding: 2px 0 22px;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		border: 1px solid rgba(255,255,255,0.18);
		border-radius: 999px;
		background: rgba(255,255,255,0.10);
		color: #fff;
		font-size: 28px;
		line-height: 1;
		cursor: pointer;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls button:hover,
	body:not(.single) .hitchcock-child-mobile-catalog-controls button:focus {
		background: var(--hitchcock-accent-color, #1e73be);
		border-color: var(--hitchcock-accent-color, #1e73be);
		outline: none;
	}

	body:not(.single) .posts + .hitchcock-child-mobile-catalog-controls + .hitchcock-child-numbered-pagination,
	body:not(.single) .hitchcock-child-numbered-pagination {
		display: none !important;
	}
}

@media (min-width: 901px) {
	.hitchcock-child-mobile-catalog-hint,
	.hitchcock-child-mobile-catalog-controls {
		display: none !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Safe fixes after rollback
   - Sticky top navigation only (no header.php override)
   - Larger mobile catalog title overlay
   - Smaller footer credit typography
------------------------------------------------------------------------------------------------ */

/* Keep the existing navigation visible at the top while scrolling. */
.navigation {
	position: sticky;
	top: 0;
	z-index: 9999;
}

.admin-bar .navigation {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .navigation {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar .navigation {
		top: 0;
	}
}

/* Mobile catalog title overlay: make the post title easier to read. */
@media (max-width: 900px) {
	body:not(.single) .posts .post .post-overlay {
		display: block !important;
		position: absolute !important;
		top: auto !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		min-height: 96px !important;
		background: linear-gradient(to top, rgba(0,0,0,0.82), rgba(0,0,0,0.46) 62%, rgba(0,0,0,0)) !important;
		opacity: 1 !important;
		pointer-events: none !important;
	}

	body:not(.single) .posts .post .archive-post-header {
		position: absolute !important;
		right: 18px !important;
		bottom: 18px !important;
		left: 18px !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		font-size: 19px !important;
		font-weight: 800 !important;
		line-height: 1.28 !important;
		letter-spacing: -0.01em !important;
		color: #fff !important;
		text-shadow: 0 1px 2px rgba(0,0,0,0.35) !important;
	}

	body:not(.single) .posts .post .archive-post-date {
		display: none !important;
	}
}

@media (max-width: 420px) {
	body:not(.single) .posts .post .archive-post-title {
		font-size: 18px !important;
	}
}

/* Footer credits: reduce oversized text and make it match the theme better. */
.credits {
	padding: 36px 0;
}

.credits p:first-child {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0;
}

.credits p + p {
	margin-top: 8px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0;
}

.credits p a {
	font-weight: inherit;
}


/* ---------------------------------------------------------------------------------------------
   Requested refinements
   - Mobile title overlay taller and slightly larger
   - Mobile catalog arrows placed over the image left/right
   - Footer site title wraps naturally without hard-coded text
   - Reusable global CTA for single posts/pages
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .posts .post .post-overlay {
		min-height: 128px !important;
		background: linear-gradient(to top, rgba(0,0,0,0.86), rgba(0,0,0,0.54) 64%, rgba(0,0,0,0)) !important;
	}

	body:not(.single) .posts .post .archive-post-header {
		right: 18px !important;
		bottom: 20px !important;
		left: 18px !important;
		padding: 0 !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		font-size: 21px !important;
		line-height: 1.28 !important;
		font-weight: 850 !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls {
		position: fixed !important;
		top: 54vh !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 9998 !important;
		display: block !important;
		height: 0 !important;
		padding: 0 !important;
		pointer-events: none !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls button {
		position: absolute !important;
		top: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 46px !important;
		height: 46px !important;
		border: 1px solid rgba(255,255,255,0.22) !important;
		border-radius: 999px !important;
		background: rgba(0,0,0,0.42) !important;
		box-shadow: 0 8px 22px rgba(0,0,0,0.25) !important;
		color: #fff !important;
		font-size: 34px !important;
		line-height: 1 !important;
		transform: translateY(-50%) !important;
		pointer-events: auto !important;
		cursor: pointer !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls .is-prev {
		left: 10px !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls .is-next {
		right: 10px !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls button:hover,
	body:not(.single) .hitchcock-child-mobile-catalog-controls button:focus {
		background: var(--hitchcock-accent-color, #1e73be) !important;
		border-color: var(--hitchcock-accent-color, #1e73be) !important;
		outline: none !important;
	}
}

@media (max-width: 420px) {
	body:not(.single) .posts .post .archive-post-title {
		font-size: 20px !important;
	}
}

.credits p:first-child,
.credits p + p {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.credits p:first-child {
	line-height: 1.45;
}

.hitchcock-child-cta {
	clear: both;
	margin: 56px 0 0;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
}

.hitchcock-child-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 30px;
	border: 1px solid #e2e2e2;
	border-radius: 18px;
	background: linear-gradient(135deg, #fafafa, #ffffff);
	box-shadow: 0 12px 30px rgba(0,0,0,0.06);
}

.hitchcock-child-cta-copy h2 {
	margin: 0 0 8px !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-transform: none !important;
	color: #222 !important;
}

.hitchcock-child-cta-copy p {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: #666 !important;
}

.hitchcock-child-cta-button {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 22px;
	border-radius: 999px;
	background: var(--hitchcock-accent-color, #1e73be);
	color: #fff !important;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
}

.hitchcock-child-cta-button:hover,
.hitchcock-child-cta-button:focus {
	color: #fff !important;
	box-shadow: inset 0 0 0 999px rgba(0,0,0,0.14);
	text-decoration: none !important;
}

@media (max-width: 700px) {
	.hitchcock-child-cta {
		margin-top: 40px;
	}

	.hitchcock-child-cta-inner {
		display: block;
		padding: 24px 22px;
		border-radius: 16px;
		text-align: center;
	}

	.hitchcock-child-cta-copy h2,
	.hitchcock-child-cta-copy p {
		text-align: center !important;
	}

	.hitchcock-child-cta-button {
		width: 100%;
		margin-top: 18px;
	}
}

/* ---------------------------------------------------------------------------------------------
   Final requested fixes
   - Mobile catalog title: larger and higher
   - Hide mobile horizontal scrollbar while keeping swipe
   - Footer credit wraps better on mobile without hard-coded text
   - CTA spacing for front page and single-post placement
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .posts {
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}

	body:not(.single) .posts::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	body:not(.single) .posts .post .post-overlay {
		min-height: 168px !important;
		background: linear-gradient(to top, rgba(0,0,0,0.90), rgba(0,0,0,0.58) 66%, rgba(0,0,0,0)) !important;
	}

	body:not(.single) .posts .post .archive-post-header {
		right: 18px !important;
		bottom: 38px !important;
		left: 18px !important;
		padding: 0 !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		font-size: 23px !important;
		line-height: 1.22 !important;
		font-weight: 850 !important;
		letter-spacing: -0.015em !important;
	}

	body:not(.single) .posts.is-loading-more:after {
		content: "Loading...";
		flex: 0 0 auto;
		align-self: center;
		padding: 12px 16px;
		border-radius: 999px;
		background: rgba(255,255,255,0.14);
		color: #fff;
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
	}
}

@media (max-width: 420px) {
	body:not(.single) .posts .post .archive-post-title {
		font-size: 22px !important;
	}
}

@media (max-width: 700px) {
	.credits p:first-child {
		max-width: 280px !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
	}

	.credits p:first-child a {
		display: inline-block;
		max-width: 100%;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: normal;
		text-align: center;
	}

	.credits p + p {
		max-width: 280px !important;
		font-size: 11px !important;
		line-height: 1.5 !important;
	}
}

.single .post-meta + .hitchcock-child-cta {
	margin-top: 36px;
}

.hitchcock-child-front-cta {
	clear: both;
	max-width: 760px;
	margin: 52px auto 0;
}

.hitchcock-child-front-cta .hitchcock-child-cta {
	margin-top: 0;
}

/* ---------------------------------------------------------------------------------------------
   Comment round fixes
   - Mobile footer credit keeps copyright year and first site-title word on the first line.
   - Mobile catalog title moves higher without changing its accepted font size.
   - Hide floating back-to-top buttons only on the mobile front/home page.
   - Single-post category breadcrumb and post navigation refinements.
------------------------------------------------------------------------------------------------ */

@media (max-width: 700px) {
	.credits p:first-child {
		max-width: 360px !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
		text-align: center !important;
	}

	.credits p:first-child a {
		display: inline !important;
		max-width: none !important;
		white-space: normal !important;
		overflow-wrap: normal !important;
		word-break: keep-all !important;
		text-align: center !important;
	}

	.credits p:first-child .hitchcock-child-credit-site {
		display: inline !important;
	}

	.credits p:first-child .hitchcock-child-credit-rest {
		display: block !important;
		margin-top: 3px;
		white-space: normal !important;
		word-break: normal !important;
		line-height: 1.45 !important;
		text-align: center !important;
	}
}

@media (max-width: 900px) {
	body:not(.single) .posts .post .post-overlay {
		min-height: 230px !important;
		background: linear-gradient(to top, rgba(0,0,0,0.92), rgba(0,0,0,0.62) 64%, rgba(0,0,0,0)) !important;
	}

	body:not(.single) .posts .post .archive-post-header {
		bottom: 82px !important;
	}

	body.home .scroll-to-top,
	body.home .scrollup,
	body.home .back-to-top,
	body.home .go-to-top,
	body.home .go-top,
	body.home #back-to-top,
	body.home #toTop,
	body.home .to-top,
	body.home .totop,
	body.front-page .scroll-to-top,
	body.front-page .scrollup,
	body.front-page .back-to-top,
	body.front-page .go-to-top,
	body.front-page .go-top,
	body.front-page #back-to-top,
	body.front-page #toTop,
	body.front-page .to-top,
	body.front-page .totop {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}
}

.single .hitchcock-child-post-breadcrumb {
	margin: 0 0 13px;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: .02em;
	text-align: center;
	text-transform: none;
	color: #999;
}

.single .hitchcock-child-post-breadcrumb a {
	color: var(--hitchcock-accent-color, #1e73be);
	text-decoration: none;
}

.single .hitchcock-child-post-breadcrumb a:hover,
.single .hitchcock-child-post-breadcrumb a:focus {
	text-decoration: underline;
}

.single .hitchcock-child-post-breadcrumb-separator {
	display: inline-block;
	margin: 0 8px;
	color: #bbb;
}

@media (max-width: 700px) {
	.single .hitchcock-child-post-breadcrumb {
		font-size: 16px;
		margin-bottom: 12px;
	}
}

.post-navigation p {
	line-height: 1.35;
}

.post-navigation .hitchcock-child-post-nav-title {
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
	font-weight: 800;
	text-transform: none;
}

@media (min-width: 900px) {
	.post-navigation a {
		overflow: hidden;
	}

	.post-navigation a:hover {
		width: 270px;
	}

	.post-navigation p {
		display: block;
		width: 210px;
		max-height: 92px;
		margin: 0;
		font-size: 13px;
		line-height: 1.35;
		color: #fff;
		text-indent: 0;
		opacity: 0;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		transition: opacity .18s ease;
	}

	.post-navigation a:hover p {
		opacity: 1;
	}

	.post-nav-prev p {
		right: 58px;
		text-align: right;
	}

	.post-nav-next p {
		left: 58px;
		text-align: left;
	}
}

@media (max-width: 899px) {
	.post-navigation {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		padding-top: 24px;
		border-top: 1px solid #ddd;
		margin-top: 28px;
	}

	.post-navigation a,
	.post-navigation .post-nav-prev,
	.post-navigation .post-nav-next {
		display: flex;
		align-items: center;
		gap: 10px;
		float: none !important;
		min-height: 56px;
		padding: 12px 14px;
		border-radius: 999px;
		background: #2d2d2d;
		color: #fff !important;
		text-decoration: none !important;
	}

	.post-navigation .post-nav-prev {
		justify-content: flex-end;
	}

	.post-navigation .post-nav-next {
		justify-content: flex-start;
	}

	.post-navigation p {
		display: block;
		margin: 0 !important;
		font-size: 12px;
		line-height: 1.25;
		color: #fff;
	}

	.post-navigation .fa {
		font-size: 20px;
		position: static;
		bottom: auto;
		flex: 0 0 auto;
	}
}


/* ---------------------------------------------------------------------------------------------
   Comment round 3 refinements
   - Move mobile catalog title higher without changing approved font size.
   - Make CTA less visually dominant.
   - Hide front-page mobile back-to-top controls more defensively.
   - Redesign single post next/previous as readable cards with separate arrow buttons.
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .posts .post .post-overlay {
		min-height: 300px !important;
		background: linear-gradient(to top, rgba(0,0,0,0.92), rgba(0,0,0,0.62) 60%, rgba(0,0,0,0)) !important;
	}

	body:not(.single) .posts .post .archive-post-header {
		bottom: 138px !important;
	}

	body.home .scroll-to-top,
	body.home .scrollup,
	body.home .back-to-top,
	body.home .go-to-top,
	body.home .go-top,
	body.home #back-to-top,
	body.home #toTop,
	body.home .to-top,
	body.home .totop,
	body.home a[href="#top"],
	body.front-page .scroll-to-top,
	body.front-page .scrollup,
	body.front-page .back-to-top,
	body.front-page .go-to-top,
	body.front-page .go-top,
	body.front-page #back-to-top,
	body.front-page #toTop,
	body.front-page .to-top,
	body.front-page .totop,
	body.front-page a[href="#top"] {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}
}

.hitchcock-child-cta-inner {
	background: linear-gradient(135deg, rgba(250,250,250,0.82), rgba(255,255,255,0.72)) !important;
	border-color: rgba(255,255,255,0.36) !important;
	box-shadow: 0 8px 22px rgba(0,0,0,0.035) !important;
}

.hitchcock-child-cta-copy h2 {
	color: #2d2d2d !important;
}

.hitchcock-child-cta-copy p {
	color: #777 !important;
}

.single .hitchcock-child-post-breadcrumb-label {
	display: inline-block;
	margin-right: 6px;
	color: #777;
	font-weight: 800;
}

/* Single post navigation: use readable cards instead of side cursor bars. */
.single .post-navigation.hitchcock-child-single-nav {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	padding-top: 28px !important;
	border-top: 1px solid #e2e2e2;
	margin: 38px 0 0 !important;
}

.single .post-navigation.hitchcock-child-single-nav .clear {
	display: none !important;
}

.single .post-navigation.hitchcock-child-single-nav a,
.single .post-navigation.hitchcock-child-single-nav .post-nav-prev,
.single .post-navigation.hitchcock-child-single-nav .post-nav-next {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	width: auto !important;
	height: auto !important;
	min-height: 74px !important;
	padding: 15px 16px !important;
	float: none !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	background: #f8f8f8 !important;
	border: 1px solid #e1e1e1 !important;
	border-radius: 18px !important;
	color: #222 !important;
	text-decoration: none !important;
	overflow: hidden !important;
	box-shadow: 0 10px 24px rgba(0,0,0,0.035);
}

.single .post-navigation.hitchcock-child-single-nav a:hover,
.single .post-navigation.hitchcock-child-single-nav a:focus {
	width: auto !important;
	background: #fff !important;
	border-color: rgba(0,0,0,0.18) !important;
	box-shadow: 0 14px 34px rgba(0,0,0,0.07);
	outline: none;
}

.single .hitchcock-child-single-nav-card.is-prev {
	justify-content: flex-start !important;
	text-align: left;
}

.single .hitchcock-child-single-nav-card.is-next {
	justify-content: flex-end !important;
	text-align: right;
}

.single .hitchcock-child-single-nav-arrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: #2d2d2d;
	color: #fff !important;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
}

.single .post-navigation.hitchcock-child-single-nav .fa {
	display: none !important;
}

.single .hitchcock-child-single-nav-content {
	display: block;
	min-width: 0;
}

.single .post-navigation.hitchcock-child-single-nav p,
.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-post-nav-title {
	display: block !important;
	width: auto !important;
	max-height: none !important;
	margin: 0 !important;
	position: static !important;
	transform: none !important;
	text-indent: 0 !important;
	opacity: 1 !important;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.01em;
	color: #222 !important;
	text-transform: none !important;
	transition: none !important;
}

.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-kicker {
	display: none !important;
}

@media (max-width: 700px) {
	.single .post-navigation.hitchcock-child-single-nav {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: 30px !important;
	}

	.single .post-navigation.hitchcock-child-single-nav a,
	.single .post-navigation.hitchcock-child-single-nav .post-nav-prev,
	.single .post-navigation.hitchcock-child-single-nav .post-nav-next {
		min-height: 66px !important;
		padding: 13px 14px !important;
		border-radius: 16px !important;
	}

	.single .hitchcock-child-single-nav-arrow {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
		font-size: 28px;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-post-nav-title {
		font-size: 13px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   CTA restore
   - Bring CTA card back to the original visible white card style.
   - Keeps the section reusable and does not hard-code site-specific text.
------------------------------------------------------------------------------------------------ */

.hitchcock-child-cta-inner {
	background: linear-gradient(135deg, #fafafa, #ffffff) !important;
	border: 1px solid #e2e2e2 !important;
	box-shadow: 0 12px 30px rgba(0,0,0,0.06) !important;
}

.hitchcock-child-cta-copy h2 {
	color: #222 !important;
}

.hitchcock-child-cta-copy p {
	color: #666 !important;
}

/* ---------------------------------------------------------------------------------------------
   Flexible related products module
   - Uses featured images as 1:1 thumbnails.
   - Manual relation can be set with custom field: related_posts = 123,456,789
   - Falls back to same tag/category automatically.
------------------------------------------------------------------------------------------------ */

.hitchcock-child-related-products {
	margin: 42px 0 0;
	padding: 30px 0 0;
	border-top: 1px solid #e6e6e6;
}

.hitchcock-child-related-title {
	margin: 0 0 18px;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: #222;
	text-transform: none;
}

.hitchcock-child-related-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.hitchcock-child-related-item {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-height: 112px;
	padding: 10px;
	border: 1px solid #e2e2e2;
	border-radius: 16px;
	background: #fafafa;
	color: #222 !important;
	text-decoration: none !important;
	box-shadow: 0 8px 22px rgba(0,0,0,0.035);
	transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.hitchcock-child-related-item:hover,
.hitchcock-child-related-item:focus {
	background: #fff;
	border-color: rgba(0,0,0,0.18);
	box-shadow: 0 14px 30px rgba(0,0,0,0.07);
	transform: translateY(-1px);
	outline: none;
}

.hitchcock-child-related-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 92px;
	aspect-ratio: 1 / 1;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	border: 1px solid #eeeeee;
}

.hitchcock-child-related-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hitchcock-child-related-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #2d2d2d;
	color: #fff;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
}

.hitchcock-child-related-name {
	display: block;
	min-width: 0;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.01em;
	color: #222;
	word-break: break-word;
}

.hitchcock-child-related-item:hover .hitchcock-child-related-name,
.hitchcock-child-related-item:focus .hitchcock-child-related-name {
	color: var(--hitchcock-accent-color, #1e73be);
}

@media (max-width: 700px) {
	.hitchcock-child-related-products {
		margin-top: 34px;
		padding-top: 24px;
	}

	.hitchcock-child-related-title {
		font-size: 1.125rem;
		margin-bottom: 14px;
	}

	.hitchcock-child-related-list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.hitchcock-child-related-item {
		grid-template-columns: 82px minmax(0, 1fr);
		min-height: 102px;
		gap: 12px;
		padding: 9px;
		border-radius: 15px;
	}

	.hitchcock-child-related-thumb {
		width: 82px;
		border-radius: 11px;
	}

	.hitchcock-child-related-name {
		font-size: 13.5px;
		line-height: 1.38;
	}
}

/* ---------------------------------------------------------------------------------------------
   UI adjustment round: mobile archive title + related products
   - Move the mobile catalog title higher so it clears the image bottom edge.
   - Make related product images larger on desktop.
   - Change related products on mobile into swipeable cards with larger 1:1 images.
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .posts .post .post-overlay {
		min-height: 360px !important;
		background: linear-gradient(to top, rgba(0,0,0,0.92), rgba(0,0,0,0.62) 56%, rgba(0,0,0,0)) !important;
	}

	body:not(.single) .posts .post .archive-post-header {
		bottom: 176px !important;
	}
}

@media (min-width: 701px) {
	.hitchcock-child-related-list {
		gap: 18px;
	}

	.hitchcock-child-related-item {
		grid-template-columns: 138px minmax(0, 1fr);
		min-height: 160px;
		gap: 18px;
		padding: 12px;
	}

	.hitchcock-child-related-thumb {
		width: 138px;
		border-radius: 14px;
	}

	.hitchcock-child-related-name {
		font-size: 15px;
		line-height: 1.42;
	}
}

@media (max-width: 700px) {
	.hitchcock-child-related-products {
		margin-top: 36px;
		padding-top: 26px;
		overflow: visible;
	}

	.hitchcock-child-related-title {
		margin-bottom: 16px;
		font-size: 1.18rem;
	}

	.hitchcock-child-related-list {
		display: flex;
		grid-template-columns: none;
		gap: 14px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding: 0 4vw 8px 0;
		margin-right: -4vw;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.hitchcock-child-related-list::-webkit-scrollbar {
		display: none;
	}

	.hitchcock-child-related-item {
		display: flex;
		flex: 0 0 72vw;
		width: 72vw;
		max-width: 300px;
		min-height: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 0;
		border-radius: 18px;
		background: #fff;
		overflow: hidden;
		scroll-snap-align: start;
		box-shadow: 0 12px 30px rgba(0,0,0,0.08);
	}

	.hitchcock-child-related-thumb {
		width: 100%;
		border: 0;
		border-radius: 0;
		background: #f7f7f7;
		aspect-ratio: 1 / 1;
	}

	.hitchcock-child-related-name {
		padding: 14px 14px 16px;
		font-size: 14.5px;
		line-height: 1.42;
	}
}

/* ---------------------------------------------------------------------------------------------
   Fix mobile archive title position
   - Previous bottom offset did not affect the title because the mobile header was positioned static.
   - Use flex alignment + bottom padding so the title visibly moves upward from the image edge.
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .posts .post .post-overlay,
	body:not(.single) .posts .post.has-post-thumbnail .post-overlay {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: stretch !important;
		min-height: 320px !important;
		background: linear-gradient(to top, rgba(0,0,0,0.90), rgba(0,0,0,0.58) 52%, rgba(0,0,0,0)) !important;
	}

	body:not(.single) .posts .post .archive-post-header,
	body:not(.single) .posts .post.has-post-thumbnail .archive-post-header {
		position: relative !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		padding: 80px 16px 72px !important;
		transform: none !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		margin: 0 !important;
		transform: translateY(-18px) !important;
	}
}

@media (max-width: 480px) {
	body:not(.single) .posts .post .archive-post-header,
	body:not(.single) .posts .post.has-post-thumbnail .archive-post-header {
		padding-bottom: 78px !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		transform: translateY(-22px) !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Related products desktop card layout
   - Desktop/tablet: show 4 cards in one row, no horizontal scrolling.
   - Mobile keeps the existing swipe card layout.
------------------------------------------------------------------------------------------------ */

@media (min-width: 901px) {
	.hitchcock-child-related-products {
		margin-top: 46px;
		padding-top: 34px;
	}

	.hitchcock-child-related-title {
		margin-bottom: 20px;
		font-size: 1.28rem;
	}

	.hitchcock-child-related-list {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 18px !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.hitchcock-child-related-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: auto !important;
		max-width: none !important;
		min-height: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		border-radius: 18px !important;
		background: #fff !important;
		overflow: hidden !important;
		box-shadow: 0 12px 32px rgba(0,0,0,0.06) !important;
	}

	.hitchcock-child-related-thumb {
		width: 100% !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f7f7f7 !important;
		aspect-ratio: 1 / 1 !important;
	}

	.hitchcock-child-related-thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.hitchcock-child-related-name {
		display: block !important;
		padding: 15px 15px 17px !important;
		font-size: 14.5px !important;
		font-weight: 800 !important;
		line-height: 1.42 !important;
		color: #222 !important;
	}
}

@media (min-width: 701px) and (max-width: 900px) {
	.hitchcock-child-related-list {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.hitchcock-child-related-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 0 !important;
		gap: 0 !important;
		border-radius: 18px !important;
		background: #fff !important;
		overflow: hidden !important;
	}

	.hitchcock-child-related-thumb {
		width: 100% !important;
		border: 0 !important;
		border-radius: 0 !important;
		aspect-ratio: 1 / 1 !important;
	}

	.hitchcock-child-related-name {
		padding: 14px 14px 16px !important;
		font-size: 14.5px !important;
		line-height: 1.42 !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Mobile catalog title position adjustment
   - Lower the title overlay from the previous version while keeping it safely above the image edge.
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .posts .post .archive-post-header,
	body:not(.single) .posts .post.has-post-thumbnail .archive-post-header {
		padding: 72px 16px 42px !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		transform: translateY(-6px) !important;
	}
}

@media (max-width: 480px) {
	body:not(.single) .posts .post .archive-post-header,
	body:not(.single) .posts .post.has-post-thumbnail .archive-post-header {
		padding-bottom: 46px !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		transform: translateY(-8px) !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Related products desktop card hover
   - Desktop only
   - Keeps mobile swipe cards unchanged
------------------------------------------------------------------------------------------------ */
@media (min-width: 901px) {
	.hitchcock-child-related-products .hitchcock-child-related-item {
		transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
	}

	.hitchcock-child-related-products .hitchcock-child-related-item:hover,
	.hitchcock-child-related-products .hitchcock-child-related-item:focus {
		transform: translateY(-4px);
		border-color: rgba(255,255,255,0.38);
		box-shadow: 0 18px 38px rgba(0,0,0,0.18);
		background-color: #fff;
		text-decoration: none;
	}

	.hitchcock-child-related-products .hitchcock-child-related-item:hover .hitchcock-child-related-thumb img,
	.hitchcock-child-related-products .hitchcock-child-related-item:focus .hitchcock-child-related-thumb img {
		transform: scale(1.04);
	}

	.hitchcock-child-related-products .hitchcock-child-related-thumb {
		overflow: hidden;
	}

	.hitchcock-child-related-products .hitchcock-child-related-thumb img {
		transition: transform .22s ease;
	}

	.hitchcock-child-related-products .hitchcock-child-related-item:hover .hitchcock-child-related-name,
	.hitchcock-child-related-products .hitchcock-child-related-item:focus .hitchcock-child-related-name {
		color: var(--hitchcock-accent-color, #1e73be);
	}
}


/* ---------------------------------------------------------------------------------------------
   UI comment round: mobile title, related hover, and single navigation alignment
   - Mobile catalog title: lower slightly from previous version.
   - Related desktop hover: subtler movement while keeping accent title color.
   - Single post nav: < stays left, > stays right; text aligns to each side.
------------------------------------------------------------------------------------------------ */

@media (max-width: 900px) {
	body:not(.single) .posts .post .archive-post-header,
	body:not(.single) .posts .post.has-post-thumbnail .archive-post-header {
		padding-bottom: 38px !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		transform: translateY(-2px) !important;
	}
}

@media (max-width: 480px) {
	body:not(.single) .posts .post .archive-post-header,
	body:not(.single) .posts .post.has-post-thumbnail .archive-post-header {
		padding-bottom: 40px !important;
	}

	body:not(.single) .posts .post .archive-post-title {
		transform: translateY(-3px) !important;
	}
}

@media (min-width: 901px) {
	.hitchcock-child-related-products .hitchcock-child-related-item:hover,
	.hitchcock-child-related-products .hitchcock-child-related-item:focus {
		transform: translateY(-2px) !important;
		box-shadow: 0 14px 30px rgba(0,0,0,0.12) !important;
		border-color: rgba(0,0,0,0.12) !important;
	}

	.hitchcock-child-related-products .hitchcock-child-related-item:hover .hitchcock-child-related-thumb img,
	.hitchcock-child-related-products .hitchcock-child-related-item:focus .hitchcock-child-related-thumb img {
		transform: scale(1.02) !important;
	}

	.hitchcock-child-related-products .hitchcock-child-related-item:hover .hitchcock-child-related-name,
	.hitchcock-child-related-products .hitchcock-child-related-item:focus .hitchcock-child-related-name {
		color: var(--hitchcock-accent-color, #1e73be) !important;
	}
}

@media (min-width: 701px) {
	.single .hitchcock-child-single-nav-card.is-prev {
		grid-column: 1 !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.single .hitchcock-child-single-nav-card.is-next {
		grid-column: 2 !important;
		justify-content: flex-end !important;
		text-align: right !important;
	}

	.single .hitchcock-child-single-nav-card.is-prev .hitchcock-child-single-nav-content,
	.single .hitchcock-child-single-nav-card.is-prev .hitchcock-child-post-nav-title {
		text-align: left !important;
	}

	.single .hitchcock-child-single-nav-card.is-next .hitchcock-child-single-nav-content,
	.single .hitchcock-child-single-nav-card.is-next .hitchcock-child-post-nav-title {
		text-align: right !important;
	}
}


/* ---------------------------------------------------------------------------------------------
   Homepage popular products section
   - Shows under the logo/header and above the main catalog grid on the first home page.
   - Reusable: post IDs can be controlled by filter/theme option/sticky posts.
------------------------------------------------------------------------------------------------ */

.hitchcock-child-popular-products {
	clear: both;
	margin: 0 auto 54px;
	padding: 28px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.045);
	box-shadow: 0 18px 46px rgba(0,0,0,0.18);
}

.hitchcock-child-popular-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 20px;
}

.hitchcock-child-popular-heading span {
	display: block;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.48);
}

.hitchcock-child-popular-heading h2 {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #fff;
	text-align: right;
}

.hitchcock-child-popular-list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.hitchcock-child-popular-item {
	display: flex;
	min-width: 0;
	flex-direction: column;
	background: #fff;
	color: #222;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(0,0,0,0.10);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hitchcock-child-popular-item:hover,
.hitchcock-child-popular-item:focus {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(0,0,0,0.16);
	text-decoration: none;
}

.hitchcock-child-popular-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #f6f6f6;
	overflow: hidden;
}

.hitchcock-child-popular-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .2s ease;
}

.hitchcock-child-popular-item:hover .hitchcock-child-popular-thumb img,
.hitchcock-child-popular-item:focus .hitchcock-child-popular-thumb img {
	transform: scale(1.02);
}

.hitchcock-child-popular-name {
	display: block;
	padding: 12px 12px 14px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.4;
	color: #222;
	transition: color .18s ease;
}

.hitchcock-child-popular-item:hover .hitchcock-child-popular-name,
.hitchcock-child-popular-item:focus .hitchcock-child-popular-name {
	color: var(--hitchcock-accent-color, #1e73be);
}

@media (max-width: 1100px) {
	.hitchcock-child-popular-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-popular-products {
		width: calc(100% - 28px);
		margin: 0 auto 28px;
		padding: 20px;
	}

	.hitchcock-child-popular-heading {
		display: block;
		margin-bottom: 16px;
	}

	.hitchcock-child-popular-heading h2 {
		margin-top: 5px;
		font-size: 20px;
		text-align: left;
	}

	.hitchcock-child-popular-list {
		display: flex;
		gap: 14px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 2px;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.hitchcock-child-popular-list::-webkit-scrollbar {
		display: none;
	}

	.hitchcock-child-popular-item {
		flex: 0 0 42vw;
		scroll-snap-align: start;
	}

	.hitchcock-child-popular-name {
		font-size: 12.5px;
	}
}

@media (max-width: 480px) {
	.hitchcock-child-popular-item {
		flex-basis: 58vw;
	}
}

/* ---------------------------------------------------------------------------------------------
   Recommended products UI refinements
   - Heading aligns left and stays close to the English label.
   - Desktop shows 4 related-style cards, with arrows to reveal the remaining cached items.
   - Mobile keeps swipe card behavior but separates controls from the catalog carousel.
   - Catalog arrows only appear while the catalog area is actually in view.
------------------------------------------------------------------------------------------------ */

.hitchcock-child-popular-products {
	position: relative;
	padding: 28px;
}

.hitchcock-child-popular-heading {
	display: block;
	margin-bottom: 18px;
}

.hitchcock-child-popular-heading span {
	margin-bottom: 5px;
	text-align: left;
}

.hitchcock-child-popular-heading h2 {
	margin: 0;
	text-align: left;
}

.hitchcock-child-popular-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 18px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 0 0 4px;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.hitchcock-child-popular-list::-webkit-scrollbar {
	display: none;
}

.hitchcock-child-popular-item {
	flex: 0 0 calc((100% - 54px) / 4);
	min-width: 0;
	scroll-snap-align: start;
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 0;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0,0,0,0.10);
}

.hitchcock-child-popular-thumb {
	background: #f7f7f7;
}

.hitchcock-child-popular-name {
	min-height: 76px;
	padding: 14px 14px 16px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.42;
}

.hitchcock-child-popular-item:hover,
.hitchcock-child-popular-item:focus {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(0,0,0,0.15);
	text-decoration: none;
}

.hitchcock-child-popular-item:hover .hitchcock-child-popular-thumb img,
.hitchcock-child-popular-item:focus .hitchcock-child-popular-thumb img {
	transform: scale(1.012);
}

.hitchcock-child-popular-item:hover .hitchcock-child-popular-name,
.hitchcock-child-popular-item:focus .hitchcock-child-popular-name {
	color: var(--hitchcock-accent-color, #1e73be);
}

.hitchcock-child-popular-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 16px;
}

.hitchcock-child-popular-controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 999px;
	background: rgba(255,255,255,0.09);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.hitchcock-child-popular-controls button:hover,
.hitchcock-child-popular-controls button:focus {
	background: var(--hitchcock-accent-color, #1e73be);
	border-color: var(--hitchcock-accent-color, #1e73be);
	outline: none;
	transform: translateY(-1px);
}

/* Catalog arrows are hidden by default and shown only by JS when the catalog carousel is in view. */
@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-mobile-catalog-controls {
		opacity: 0 !important;
		visibility: hidden !important;
		transition: opacity .18s ease, visibility .18s ease;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls.is-visible {
		opacity: 1 !important;
		visibility: visible !important;
	}

	body:not(.single) .hitchcock-child-popular-products {
		width: calc(100% - 28px);
		margin: 0 auto 28px;
		padding: 20px 18px 18px;
	}

	.hitchcock-child-popular-heading {
		margin-bottom: 14px;
	}

	.hitchcock-child-popular-heading span {
		display: block;
		margin-bottom: 4px;
	}

	.hitchcock-child-popular-heading h2 {
		font-size: 21px;
		line-height: 1.2;
	}

	.hitchcock-child-popular-list {
		gap: 14px;
		padding-bottom: 2px;
	}

	.hitchcock-child-popular-item {
		flex: 0 0 58vw;
	}

	.hitchcock-child-popular-name {
		min-height: 68px;
		font-size: 13px;
		padding: 13px 13px 15px;
	}

	.hitchcock-child-popular-controls {
		justify-content: center;
		margin-top: 14px;
	}

	.hitchcock-child-popular-controls button {
		width: 38px;
		height: 38px;
		font-size: 25px;
	}
}

@media (max-width: 480px) {
	.hitchcock-child-popular-item {
		flex-basis: 68vw;
	}
}

/* ---------------------------------------------------------------------------------------------
   Recommended products: match Related products card UI and remove cursor controls
   - Desktop: same 4-card grid style as related products.
   - Mobile: same swipe-card feel as related products, without arrow/cursor buttons.
------------------------------------------------------------------------------------------------ */

.hitchcock-child-popular-controls {
	display: none !important;
}

@media (min-width: 901px) {
	.hitchcock-child-popular-products {
		margin: 46px auto 54px !important;
		padding-top: 34px !important;
		border-top: 1px solid rgba(255,255,255,0.10) !important;
	}

	.hitchcock-child-popular-heading {
		display: block !important;
		margin: 0 0 20px !important;
		text-align: left !important;
	}

	.hitchcock-child-popular-heading span {
		display: block !important;
		margin: 0 0 6px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		letter-spacing: .10em !important;
		line-height: 1.2 !important;
		text-transform: uppercase !important;
		color: rgba(255,255,255,0.48) !important;
		text-align: left !important;
	}

	.hitchcock-child-popular-heading h2 {
		margin: 0 !important;
		font-size: 1.28rem !important;
		font-weight: 800 !important;
		line-height: 1.25 !important;
		color: #fff !important;
		text-align: left !important;
	}

	.hitchcock-child-popular-list {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 18px !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
		scroll-snap-type: none !important;
	}

	.hitchcock-child-popular-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: auto !important;
		max-width: none !important;
		min-height: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		border: 1px solid rgba(255,255,255,0.10) !important;
		border-radius: 18px !important;
		background: #fff !important;
		overflow: hidden !important;
		box-shadow: 0 12px 32px rgba(0,0,0,0.06) !important;
		text-decoration: none !important;
		transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease !important;
	}

	.hitchcock-child-popular-thumb {
		display: block !important;
		width: 100% !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f7f7f7 !important;
		aspect-ratio: 1 / 1 !important;
		overflow: hidden !important;
	}

	.hitchcock-child-popular-thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		transition: transform .22s ease !important;
	}

	.hitchcock-child-popular-name {
		display: block !important;
		padding: 15px 15px 17px !important;
		font-size: 14.5px !important;
		font-weight: 800 !important;
		line-height: 1.42 !important;
		color: #222 !important;
		text-align: left !important;
	}

	.hitchcock-child-popular-item:hover,
	.hitchcock-child-popular-item:focus {
		transform: translateY(-2px) !important;
		border-color: rgba(0,0,0,0.12) !important;
		box-shadow: 0 14px 30px rgba(0,0,0,0.12) !important;
		background-color: #fff !important;
		text-decoration: none !important;
	}

	.hitchcock-child-popular-item:hover .hitchcock-child-popular-thumb img,
	.hitchcock-child-popular-item:focus .hitchcock-child-popular-thumb img {
		transform: scale(1.02) !important;
	}

	.hitchcock-child-popular-item:hover .hitchcock-child-popular-name,
	.hitchcock-child-popular-item:focus .hitchcock-child-popular-name {
		color: var(--hitchcock-accent-color, #1e73be) !important;
	}
}

@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-popular-products {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto 26px !important;
		padding: 0 0 6px !important;
		border: 0 !important;
	}

	body:not(.single) .hitchcock-child-popular-heading {
		display: block !important;
		padding: 0 4vw 14px !important;
		margin: 0 !important;
		text-align: left !important;
	}

	body:not(.single) .hitchcock-child-popular-heading span {
		display: block !important;
		margin: 0 0 6px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		letter-spacing: .10em !important;
		line-height: 1.2 !important;
		text-transform: uppercase !important;
		color: rgba(255,255,255,0.52) !important;
		text-align: left !important;
	}

	body:not(.single) .hitchcock-child-popular-heading h2 {
		margin: 0 !important;
		font-size: 1.22rem !important;
		font-weight: 850 !important;
		line-height: 1.25 !important;
		color: #fff !important;
		text-align: left !important;
	}

	body:not(.single) .hitchcock-child-popular-list {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 14px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 0 4vw 14px !important;
		margin: 0 !important;
		width: 100% !important;
	}

	body:not(.single) .hitchcock-child-popular-list::-webkit-scrollbar {
		display: none !important;
	}

	body:not(.single) .hitchcock-child-popular-list {
		scrollbar-width: none !important;
	}

	body:not(.single) .hitchcock-child-popular-item {
		display: flex !important;
		flex-direction: column !important;
		flex: 0 0 70vw !important;
		width: 70vw !important;
		max-width: 310px !important;
		min-width: 230px !important;
		padding: 0 !important;
		gap: 0 !important;
		border: 1px solid rgba(255,255,255,0.10) !important;
		border-radius: 18px !important;
		background: #fff !important;
		overflow: hidden !important;
		box-shadow: 0 14px 34px rgba(0,0,0,0.18) !important;
		scroll-snap-align: start !important;
		text-decoration: none !important;
	}

	body:not(.single) .hitchcock-child-popular-thumb {
		display: block !important;
		width: 100% !important;
		aspect-ratio: 1 / 1 !important;
		background: #f7f7f7 !important;
		overflow: hidden !important;
	}

	body:not(.single) .hitchcock-child-popular-thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	body:not(.single) .hitchcock-child-popular-name {
		display: block !important;
		padding: 14px 14px 16px !important;
		font-size: 14.5px !important;
		font-weight: 800 !important;
		line-height: 1.42 !important;
		color: #222 !important;
		text-align: left !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Home section headers
   - Reusable minimal section heading for homepage sections.
   - Recommended uses existing .hitchcock-child-popular-heading.
   - Catalog uses .hitchcock-child-home-section-heading from index.php.
------------------------------------------------------------------------------------------------ */

.hitchcock-child-home-section-heading {
	position: relative;
	clear: both;
	margin: 46px 0 20px;
	padding-top: 30px;
	border-top: 1px solid rgba(255,255,255,0.10);
	text-align: left;
}

.hitchcock-child-home-section-heading span {
	display: block;
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .10em;
	line-height: 1.2;
	text-transform: uppercase;
	color: rgba(255,255,255,0.48);
	text-align: left;
}

.hitchcock-child-home-section-heading h2 {
	margin: 0;
	font-size: 1.28rem;
	font-weight: 800;
	line-height: 1.25;
	color: #fff;
	text-align: left;
}

/* Keep the first homepage recommended section compact and visually aligned with catalog header. */
@media (min-width: 901px) {
	.hitchcock-child-popular-products + .hitchcock-child-catalog-heading {
		margin-top: 52px;
	}

	.hitchcock-child-catalog-heading + .posts {
		margin-top: 0;
	}
}

@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-home-section-heading {
		width: 100%;
		max-width: 100%;
		margin: 28px 0 14px;
		padding: 22px 4vw 0;
		border-top: 1px solid rgba(255,255,255,0.10);
	}

	body:not(.single) .hitchcock-child-home-section-heading span {
		margin-bottom: 6px;
		font-size: 11px;
		font-weight: 800;
		letter-spacing: .10em;
		color: rgba(255,255,255,0.52);
	}

	body:not(.single) .hitchcock-child-home-section-heading h2 {
		font-size: 1.22rem;
		font-weight: 850;
		line-height: 1.25;
	}

	body:not(.single) .hitchcock-child-catalog-heading + .hitchcock-child-mobile-catalog-hint {
		margin-top: -4px;
	}
}

/* ---------------------------------------------------------------------------------------------
   Section heading refinement
   - Thai + English sit on the same centered line.
   - Stronger, cleaner divider for homepage sections.
   - Reusable for Recommended and Catalog section headers.
------------------------------------------------------------------------------------------------ */
.hitchcock-child-popular-heading,
.hitchcock-child-home-section-heading {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	justify-content: center !important;
	gap: 8px 12px !important;
	width: 100% !important;
	max-width: 1040px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 34px !important;
	border-top: 1px solid rgba(255,255,255,0.14) !important;
	text-align: center !important;
	position: relative !important;
}

.hitchcock-child-popular-heading::before,
.hitchcock-child-home-section-heading::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: 78px;
	height: 2px;
	background: var(--hitchcock-accent-color, #1e73be);
	border-radius: 999px;
	transform: translateX(-50%);
	opacity: .9;
}

.hitchcock-child-popular-heading h2,
.hitchcock-child-home-section-heading h2 {
	order: 1 !important;
	margin: 0 !important;
	font-size: clamp(1.32rem, 2vw, 1.72rem) !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
	color: #fff !important;
	text-align: center !important;
}

.hitchcock-child-popular-heading span,
.hitchcock-child-home-section-heading span {
	order: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .10em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,0.55) !important;
	text-align: center !important;
}

.hitchcock-child-popular-heading span::before,
.hitchcock-child-home-section-heading span::before {
	content: "/";
	margin-right: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	color: rgba(255,255,255,0.28);
}

.hitchcock-child-popular-heading {
	margin-top: 0 !important;
	margin-bottom: 22px !important;
}

.hitchcock-child-home-section-heading {
	margin-top: 56px !important;
	margin-bottom: 24px !important;
}

@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-popular-heading,
	body:not(.single) .hitchcock-child-home-section-heading {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: baseline !important;
		justify-content: center !important;
		gap: 7px 10px !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 26px 4vw 16px !important;
		border-top: 1px solid rgba(255,255,255,0.14) !important;
		text-align: center !important;
	}

	body:not(.single) .hitchcock-child-popular-heading {
		margin: 0 0 2px !important;
	}

	body:not(.single) .hitchcock-child-home-section-heading {
		margin: 30px 0 12px !important;
	}

	body:not(.single) .hitchcock-child-popular-heading h2,
	body:not(.single) .hitchcock-child-home-section-heading h2 {
		order: 1 !important;
		font-size: 1.34rem !important;
		font-weight: 850 !important;
		line-height: 1.18 !important;
		text-align: center !important;
	}

	body:not(.single) .hitchcock-child-popular-heading span,
	body:not(.single) .hitchcock-child-home-section-heading span {
		order: 2 !important;
		display: inline-flex !important;
		margin: 0 !important;
		font-size: 11px !important;
		letter-spacing: .09em !important;
		text-align: center !important;
		color: rgba(255,255,255,0.58) !important;
	}

	body:not(.single) .hitchcock-child-popular-heading span::before,
	body:not(.single) .hitchcock-child-home-section-heading span::before {
		margin-right: 10px;
	}
}

/* ---------------------------------------------------------------------------------------------
   Catalog mobile controls refinement
   - Keep catalog arrows hidden until the carousel itself is under the control line.
   - Move the swipe hint below the catalog carousel instead of above it.
   - Prevent the hint/controls from visually belonging to Recommended Products.
------------------------------------------------------------------------------------------------ */
@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-mobile-catalog-controls {
		top: 54vh !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls.is-visible {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: none !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-controls.is-visible button {
		pointer-events: auto !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-hint {
		display: block !important;
		width: 100% !important;
		margin: 8px 0 26px !important;
		padding: 0 5vw !important;
		font-size: 12.5px !important;
		font-weight: 700 !important;
		line-height: 1.45 !important;
		color: rgba(255,255,255,0.58) !important;
		text-align: center !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-hint span {
		display: block !important;
		text-align: center !important;
	}

	body:not(.single) .posts + .hitchcock-child-mobile-catalog-controls + .hitchcock-child-mobile-catalog-hint {
		clear: both !important;
	}

	body:not(.single) .hitchcock-child-catalog-heading + .hitchcock-child-mobile-catalog-hint {
		margin-top: 8px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Single post section dividers
   - Use the same minimal accent line language as the home section headers.
   - Adds one divider under every single post title before content starts.
   - Adds one divider before the global CTA/contact section.
------------------------------------------------------------------------------------------------ */

.single .post-header::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	margin: 30px auto 0;
	border-radius: 999px;
	background: var(--hitchcock-accent-color, #1e73be);
	opacity: 0.9;
}

.single .post-header + .post-inner {
	padding-top: 48px;
}

.hitchcock-child-cta::before {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	margin: 0 auto 30px;
	border-radius: 999px;
	background: var(--hitchcock-accent-color, #1e73be);
	opacity: 0.9;
}

.hitchcock-child-front-cta .hitchcock-child-cta::before {
	margin-top: 0;
}

@media (max-width: 700px) {
	.single .post-header::after,
	.hitchcock-child-cta::before {
		width: 48px;
	}

	.single .post-header::after {
		margin-top: 24px;
	}

	.single .post-header + .post-inner {
		padding-top: 34px;
	}

	.hitchcock-child-cta::before {
		margin-bottom: 24px;
	}
}

/* ---------------------------------------------------------------------------------------------
   Spacing tune: homepage header + single post divider/header
   - Reduce desktop homepage space below logo before Recommended/Catalog sections.
   - Tighten single post divider spacing after adding the accent line.
   - Slightly enlarge single post title on desktop and mobile.
------------------------------------------------------------------------------------------------ */

@media (min-width: 901px) {
	body.home .header,
	body.blog .header {
		padding-bottom: 38px !important;
	}

	body.home .hitchcock-child-popular-products,
	body.blog .hitchcock-child-popular-products {
		margin-top: 0 !important;
	}
}

.single .post-title {
	font-size: 2.72em !important;
	line-height: 1.16 !important;
}

.single .post-header::after {
	margin-top: 22px !important;
}

.single .post-header + .post-inner {
	padding-top: 28px !important;
}

@media (max-width: 700px) {
	.single .post-title {
		font-size: 2.12em !important;
		line-height: 1.18 !important;
	}

	.single .post-header::after {
		margin-top: 18px !important;
	}

	.single .post-header + .post-inner {
		padding-top: 22px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Requested update: remove the lower accent divider before CTA on all posts/pages
   - Keep the title divider under post headers.
   - Remove only the CTA/bottom divider.
------------------------------------------------------------------------------------------------ */
.hitchcock-child-cta::before,
.hitchcock-child-front-cta .hitchcock-child-cta::before {
	display: none !important;
	content: none !important;
}

/* ---------------------------------------------------------------------------------------------
   Requested update: single post title divider spacing
   - Keep the accent divider under the title.
   - Set the space between the divider and the first content section to 24px.
------------------------------------------------------------------------------------------------ */
.single .post-header + .post-inner {
	padding-top: 24px !important;
}

@media (max-width: 700px) {
	.single .post-header + .post-inner {
		padding-top: 24px !important;
	}
}


/* ---------------------------------------------------------------------------------------------
   Final single post spacing correction
   - The divider is inside .post-header, so the visible gap was caused by post-header bottom padding.
   - Keep exactly 24px between the accent divider and the first content section.
------------------------------------------------------------------------------------------------ */
.single .post-header {
	padding-bottom: 0 !important;
}

.single .post-header::after {
	margin-bottom: 0 !important;
}

.single .post-header + .post-inner {
	padding-top: 24px !important;
}

@media (max-width: 700px) {
	.single .post-header {
		padding-bottom: 0 !important;
	}

	.single .post-header + .post-inner {
		padding-top: 24px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Mobile single post navigation
   - Hide post titles on mobile so only compact arrow navigation remains.
   - Desktop navigation keeps the readable card title layout.
------------------------------------------------------------------------------------------------ */
@media (max-width: 700px) {
	.single .post-navigation.hitchcock-child-single-nav {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		padding-top: 22px !important;
		margin-top: 28px !important;
	}

	.single .post-navigation.hitchcock-child-single-nav a,
	.single .post-navigation.hitchcock-child-single-nav .post-nav-prev,
	.single .post-navigation.hitchcock-child-single-nav .post-nav-next {
		justify-content: center !important;
		min-height: 58px !important;
		padding: 10px !important;
		border-radius: 16px !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-content,
	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-post-nav-title,
	.single .post-navigation.hitchcock-child-single-nav p {
		display: none !important;
	}

	.single .hitchcock-child-single-nav-arrow {
		flex: 0 0 40px !important;
		width: 40px !important;
		height: 40px !important;
		font-size: 30px !important;
	}

	.single .hitchcock-child-single-nav-card.is-prev,
	.single .hitchcock-child-single-nav-card.is-next {
		text-align: center !important;
	}

	.single .post-navigation.hitchcock-child-single-nav a:only-child {
		grid-column: 1 / -1;
		max-width: 50%;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Mobile single post navigation update
   - Show post titles again on mobile.
   - Keep each title on one line with ellipsis so the nav stays compact.
------------------------------------------------------------------------------------------------ */
@media (max-width: 700px) {
	.single .post-navigation.hitchcock-child-single-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.single .post-navigation.hitchcock-child-single-nav a,
	.single .post-navigation.hitchcock-child-single-nav .post-nav-prev,
	.single .post-navigation.hitchcock-child-single-nav .post-nav-next {
		justify-content: flex-start !important;
		gap: 8px !important;
		min-height: 56px !important;
		padding: 9px 10px !important;
	}

	.single .hitchcock-child-single-nav-card.is-next {
		justify-content: flex-end !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-content,
	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-post-nav-title,
	.single .post-navigation.hitchcock-child-single-nav p {
		display: block !important;
		min-width: 0 !important;
		max-width: 100% !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-content {
		flex: 1 1 auto !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-post-nav-title {
		font-size: 11.5px !important;
		line-height: 1.2 !important;
		font-weight: 800 !important;
	}

	.single .hitchcock-child-single-nav-arrow {
		flex: 0 0 34px !important;
		width: 34px !important;
		height: 34px !important;
		font-size: 25px !important;
	}

	.single .hitchcock-child-single-nav-card.is-prev .hitchcock-child-single-nav-content,
	.single .hitchcock-child-single-nav-card.is-prev .hitchcock-child-post-nav-title {
		text-align: left !important;
	}

	.single .hitchcock-child-single-nav-card.is-next .hitchcock-child-single-nav-content,
	.single .hitchcock-child-single-nav-card.is-next .hitchcock-child-post-nav-title {
		text-align: right !important;
	}

	.single .post-navigation.hitchcock-child-single-nav a:only-child {
		max-width: 100% !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Section header pattern tune
   - Make homepage Product Catalog match Recommended Products.
   - Make Related Products use the same visual language inside single posts.
   - Keep mobile single-post next-only navigation aligned to the right.
------------------------------------------------------------------------------------------------ */

/* Homepage section headers: Recommended + Product Catalog use one pattern. */
body:not(.single) .hitchcock-child-popular-heading,
body:not(.single) .hitchcock-child-home-section-heading {
	justify-content: center !important;
	text-align: center !important;
	color: #fff !important;
}

body:not(.single) .hitchcock-child-popular-heading h2,
body:not(.single) .hitchcock-child-home-section-heading h2 {
	color: #fff !important;
}

body:not(.single) .hitchcock-child-popular-heading span,
body:not(.single) .hitchcock-child-home-section-heading span {
	color: rgba(255,255,255,0.58) !important;
}

/* Related Products heading: same minimal header pattern, adapted for white post content. */
.single .hitchcock-child-related-heading {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	justify-content: center !important;
	gap: 8px 12px !important;
	width: 100% !important;
	margin: 0 auto 26px !important;
	padding-top: 30px !important;
	border-top: 1px solid rgba(0,0,0,0.10) !important;
	text-align: center !important;
	position: relative !important;
}

.single .hitchcock-child-related-heading::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: 78px;
	height: 2px;
	background: var(--hitchcock-accent-color, #1e73be);
	border-radius: 999px;
	transform: translateX(-50%);
	opacity: .9;
}

.single .hitchcock-child-related-heading h2 {
	order: 1 !important;
	margin: 0 !important;
	font-size: clamp(1.32rem, 2vw, 1.72rem) !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
	color: #222 !important;
	text-align: center !important;
}

.single .hitchcock-child-related-heading span {
	order: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .10em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	color: rgba(0,0,0,0.48) !important;
	text-align: center !important;
}

.single .hitchcock-child-related-heading span::before {
	content: "/";
	margin-right: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	color: rgba(0,0,0,0.28);
}

.single .hitchcock-child-related-title {
	display: none !important;
}

@media (max-width: 700px) {
	.single .hitchcock-child-related-heading {
		gap: 7px 10px !important;
		padding-top: 26px !important;
		margin-bottom: 18px !important;
	}

	.single .hitchcock-child-related-heading h2 {
		font-size: 1.34rem !important;
		font-weight: 850 !important;
		line-height: 1.18 !important;
	}

	.single .hitchcock-child-related-heading span {
		font-size: 11px !important;
		letter-spacing: .09em !important;
	}

	.single .hitchcock-child-related-heading span::before {
		margin-right: 10px;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-next:only-child {
		grid-column: 2 / 3 !important;
		justify-self: stretch !important;
		justify-content: flex-end !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-prev:only-child {
		grid-column: 1 / 2 !important;
		justify-self: stretch !important;
		justify-content: flex-start !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Targeted UI fixes: mobile single nav text + catalog hint only
------------------------------------------------------------------------------------------------ */
@media (max-width: 700px) {
	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-post-nav-title {
		display: block !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.18 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-content {
		display: block !important;
		min-width: 0 !important;
		overflow: hidden !important;
	}
}

@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-mobile-catalog-hint,
	body:not(.single) .hitchcock-child-mobile-catalog-hint span {
		font-weight: 400 !important;
		color: rgba(255,255,255,0.48) !important;
		letter-spacing: 0 !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Recommended section background cleanup
   - Remove the large translucent wrapper/background around Recommended Products only.
   - Keep individual product cards unchanged.
------------------------------------------------------------------------------------------------ */
.hitchcock-child-popular-products,
body:not(.single) .hitchcock-child-popular-products {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* ---------------------------------------------------------------------------------------------
   Final mobile single post navigation alignment fix
   - Logic is handled in single.php; this only fixes mobile layout/alignment.
   - When both links exist: previous stays left, next stays right.
   - When only one link exists: previous stays left, next stays right.
------------------------------------------------------------------------------------------------ */
@media (max-width: 700px) {
	.single .post-navigation.hitchcock-child-single-nav {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
		align-items: stretch !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none !important;
		min-width: 0 !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-prev {
		grid-column: 1 / 2 !important;
		order: 1 !important;
		justify-self: stretch !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-next {
		grid-column: 2 / 3 !important;
		order: 2 !important;
		justify-self: stretch !important;
		justify-content: flex-end !important;
		text-align: right !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-prev .hitchcock-child-single-nav-content,
	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-prev .hitchcock-child-post-nav-title {
		text-align: left !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-next .hitchcock-child-single-nav-content,
	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-next .hitchcock-child-post-nav-title {
		text-align: right !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-next:only-child,
	.single .post-navigation.hitchcock-child-single-nav a.hitchcock-child-single-nav-card.is-next:only-child {
		grid-column: 2 / 3 !important;
		order: 2 !important;
		justify-self: stretch !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: none !important;
		justify-content: flex-end !important;
		text-align: right !important;
	}

	.single .post-navigation.hitchcock-child-single-nav .hitchcock-child-single-nav-card.is-prev:only-child,
	.single .post-navigation.hitchcock-child-single-nav a.hitchcock-child-single-nav-card.is-prev:only-child {
		grid-column: 1 / 2 !important;
		order: 1 !important;
		justify-self: stretch !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: none !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Desktop homepage logo spacing tune
   - Reduce the space under the logo/header before the first homepage section.
   - Desktop only; mobile header spacing stays unchanged.
------------------------------------------------------------------------------------------------ */
@media (min-width: 901px) {
	body.home .header,
	body.blog .header {
		padding-bottom: 22px !important;
	}

	body.home .hitchcock-child-popular-products,
	body.blog .hitchcock-child-popular-products {
		margin-top: 0 !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Homepage desktop layout tune
   - Keep catalog pagination immediately after the catalog grid.
   - Reduce the space below the logo before the first section divider/header.
   - Reduce the space between the Product Catalog heading and the catalog post grid.
------------------------------------------------------------------------------------------------ */
@media (min-width: 901px) {
	body.home .header,
	body.blog .header {
		padding-bottom: 10px !important;
	}

	body.home .hitchcock-child-catalog-heading,
	body.blog .hitchcock-child-catalog-heading,
	body.home .hitchcock-child-home-section-heading,
	body.blog .hitchcock-child-home-section-heading {
		padding-top: 24px !important;
		margin-bottom: 12px !important;
	}

	body.home .hitchcock-child-catalog-heading + .posts,
	body.blog .hitchcock-child-catalog-heading + .posts {
		margin-top: 0 !important;
	}

	body.home .archive-nav,
	body.blog .archive-nav,
	body.home .hitchcock-child-numbered-pagination,
	body.blog .hitchcock-child-numbered-pagination {
		margin-top: 28px !important;
		margin-bottom: 0 !important;
	}

	body.home .archive-nav + .hitchcock-child-popular-products,
	body.blog .archive-nav + .hitchcock-child-popular-products,
	body.home .hitchcock-child-numbered-pagination + .hitchcock-child-popular-products,
	body.blog .hitchcock-child-numbered-pagination + .hitchcock-child-popular-products {
		margin-top: 56px !important;
	}
}


/* ---------------------------------------------------------------------------------------------
   Final targeted home logo + catalog hint tune
   - Adjust the actual home logo/header padding only.
   - Keep catalog heading spacing intact.
   - Place the mobile swipe hint directly under the Catalog heading.
------------------------------------------------------------------------------------------------ */
body.home .header,
body.blog .header {
	padding-top: 52px !important;
	padding-bottom: 22px !important;
}

@media (max-width: 900px) {
	body.home .header,
	body.blog .header {
		padding-top: 28px !important;
		padding-bottom: 18px !important;
	}

	body:not(.single) .hitchcock-child-catalog-heading {
		margin-bottom: 6px !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-hint-inline {
		display: block !important;
		width: 100% !important;
		margin: 4px 0 14px !important;
		padding: 0 5vw !important;
		font-size: 12.5px !important;
		font-weight: 400 !important;
		line-height: 1.45 !important;
		color: rgba(255,255,255,0.56) !important;
		text-align: center !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-hint-inline span {
		display: block !important;
		text-align: center !important;
	}
}

@media (min-width: 901px) {
	body:not(.single) .hitchcock-child-mobile-catalog-hint-inline {
		display: none !important;
	}
}

@media (max-width: 400px) {
	body.home .header,
	body.blog .header {
		padding-top: 24px !important;
		padding-bottom: 16px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   FINAL logo padding + mobile catalog hint tune
   - Only adjusts the actual homepage logo/header vertical padding.
   - Keeps catalog cards, pagination, CTA, nav, and related products untouched.
------------------------------------------------------------------------------------------------ */
body.home .header,
body.blog .header {
	padding-top: 38px !important;
	padding-bottom: 12px !important;
}

@media (max-width: 900px) {
	body.home .header,
	body.blog .header {
		padding-top: 18px !important;
		padding-bottom: 8px !important;
	}

	body.home .hitchcock-child-catalog-heading,
	body.blog .hitchcock-child-catalog-heading {
		margin-bottom: 0 !important;
	}

	body.home .hitchcock-child-mobile-catalog-hint-inline,
	body.blog .hitchcock-child-mobile-catalog-hint-inline {
		display: block !important;
		width: fit-content !important;
		max-width: calc(100% - 32px) !important;
		margin: 2px auto 10px !important;
		padding: 6px 12px !important;
		border-radius: 999px !important;
		background: #ffffff !important;
		color: #555555 !important;
		font-size: 11.5px !important;
		font-weight: 400 !important;
		line-height: 1.35 !important;
		letter-spacing: 0 !important;
		text-align: center !important;
	}

	body.home .hitchcock-child-mobile-catalog-hint-inline span,
	body.blog .hitchcock-child-mobile-catalog-hint-inline span {
		display: block !important;
		color: inherit !important;
		font-size: inherit !important;
		font-weight: inherit !important;
		line-height: inherit !important;
		text-align: center !important;
	}
}

@media (max-width: 400px) {
	body.home .header,
	body.blog .header {
		padding-top: 16px !important;
		padding-bottom: 6px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   FINAL DESKTOP LOGO GAP FIX
   - Desktop only.
   - The visible gap below the logo is partly from the Catalog heading's top padding,
     so this reduces the gap above the Catalog heading while keeping spacing below the title.
------------------------------------------------------------------------------------------------ */
@media (min-width: 901px) {
	body.home .header.section-inner,
	body.blog .header.section-inner {
		padding-bottom: 4px !important;
		margin-bottom: 0 !important;
	}

	body.home .header.section-inner .blog-logo,
	body.blog .header.section-inner .blog-logo,
	body.home .header.section-inner .blog-title,
	body.blog .header.section-inner .blog-title {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
		line-height: 0 !important;
	}

	body.home .header.section-inner .blog-logo img,
	body.blog .header.section-inner .blog-logo img,
	body.home .header.section-inner .custom-logo,
	body.blog .header.section-inner .custom-logo {
		display: block !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	body.home .hitchcock-child-catalog-heading,
	body.blog .hitchcock-child-catalog-heading {
		padding-top: 10px !important;
		margin-bottom: 22px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   FINAL OVERRIDE: Desktop logo-to-catalog gap
   - Broader selector because the front page may not receive body.home/body.blog in every setup.
   - Desktop only. Mobile is untouched.
   - Reduce the vertical space around the logo wrapper and the top gap before the catalog heading.
------------------------------------------------------------------------------------------------ */
@media (min-width: 901px) {
	body:not(.single) .header.section-inner {
		padding-top: 24px !important;
		padding-bottom: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 18px !important;
	}

	body:not(.single) .header.section-inner .blog-logo,
	body:not(.single) .header.section-inner .blog-title {
		display: block !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		line-height: 0 !important;
	}

	body:not(.single) .header.section-inner .blog-logo img,
	body:not(.single) .header.section-inner .custom-logo,
	body:not(.single) .header.section-inner .blog-title img {
		display: block !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	body:not(.single) .hitchcock-child-catalog-heading,
	body:not(.single) .hitchcock-child-home-section-heading.hitchcock-child-catalog-heading {
		padding-top: 18px !important;
		margin-top: 0 !important;
		margin-bottom: 24px !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   FINAL TUNE: Homepage section header text + mobile catalog hint shape
   - Homepage/archive section headers only.
   - Mobile catalog hint becomes a square-corner white label.
------------------------------------------------------------------------------------------------ */
body:not(.single) .hitchcock-child-home-section-heading h2,
body:not(.single) .hitchcock-child-popular-heading h2 {
	font-size: clamp(1.48rem, 2.18vw, 1.92rem) !important;
	line-height: 1.18 !important;
}

body:not(.single) .hitchcock-child-home-section-heading span,
body:not(.single) .hitchcock-child-popular-heading span {
	font-size: 12.5px !important;
	line-height: 1.2 !important;
}

@media (max-width: 900px) {
	body:not(.single) .hitchcock-child-home-section-heading h2,
	body:not(.single) .hitchcock-child-popular-heading h2 {
		font-size: 1.44rem !important;
		line-height: 1.16 !important;
	}

	body:not(.single) .hitchcock-child-home-section-heading span,
	body:not(.single) .hitchcock-child-popular-heading span {
		font-size: 11.5px !important;
		line-height: 1.2 !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-hint-inline,
	body:not(.single) .hitchcock-child-mobile-catalog-hint-inline span,
	body:not(.single) .hitchcock-child-mobile-catalog-hint span {
		border-radius: 0 !important;
	}

	body:not(.single) .hitchcock-child-mobile-catalog-hint-inline {
		background: #ffffff !important;
		color: #555555 !important;
		font-size: 11.5px !important;
		font-weight: 400 !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Single post CTA / Related divider
   - Keep only one accent line between the contact CTA and Related Products.
   - Remove the full-width grey divider, restore the short blue accent line.
   - Scoped only to single posts where the CTA is immediately followed by related products.
------------------------------------------------------------------------------------------------ */
.single .hitchcock-child-cta + .hitchcock-child-related-products,
.single .post-meta + .hitchcock-child-cta + .hitchcock-child-related-products {
	border-top: 0 !important;
	padding-top: 0 !important;
}

.single .hitchcock-child-cta + .hitchcock-child-related-products .hitchcock-child-related-heading,
.single .post-meta + .hitchcock-child-cta + .hitchcock-child-related-products .hitchcock-child-related-heading {
	border-top: 0 !important;
	padding-top: 30px !important;
	position: relative !important;
}

.single .hitchcock-child-cta + .hitchcock-child-related-products .hitchcock-child-related-heading::before,
.single .post-meta + .hitchcock-child-cta + .hitchcock-child-related-products .hitchcock-child-related-heading::before {
	display: block !important;
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 50% !important;
	width: 78px !important;
	height: 2px !important;
	background: var(--hitchcock-accent-color, #1e73be) !important;
	border-radius: 999px !important;
	transform: translateX(-50%) !important;
	opacity: .9 !important;
}

/* ---------------------------------------------------------------------------------------------
   KEIBA desktop catalog ratio
   - Desktop archive/catalog cards use the real catalog page ratio.
   - Mobile catalog rendering is intentionally untouched.
------------------------------------------------------------------------------------------------ */

/* ---------------------------------------------------------------------------------------------
   Floating single-post prev/next navigation
   - Uses the same prev/next targets rendered in single.php.
   - Separate class names avoid changing the existing bottom post navigation.
   - Desktop and mobile only affect this new floating nav.
------------------------------------------------------------------------------------------------ */
.single .hitchcock-child-floating-post-nav {
	position: fixed;
	top: 50%;
	left: 0;
	right: 0;
	z-index: 9998;
	pointer-events: none;
	transform: translateY(-50%);
}

.single .hitchcock-child-floating-post-nav-link {
	position: fixed;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 160px;
	margin-top: -80px;
	background: rgba(0,0,0,0.22);
	border: 1px solid rgba(255,255,255,0.10);
	color: #fff !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 58px;
	font-weight: 300;
	line-height: 1;
	text-decoration: none !important;
	pointer-events: auto;
	box-shadow: 0 12px 32px rgba(0,0,0,0.14);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	transition: background .2s ease, width .2s ease, opacity .2s ease;
}

.single .hitchcock-child-floating-post-nav-prev {
	left: 0;
}

.single .hitchcock-child-floating-post-nav-next {
	right: 0;
}

.single .hitchcock-child-floating-post-nav-link:hover,
.single .hitchcock-child-floating-post-nav-link:focus {
	width: 64px;
	background: var(--hitchcock-accent-color, #1e73be);
	color: #fff !important;
	outline: none;
}

.single .hitchcock-child-floating-post-nav-link span[aria-hidden="true"] {
	display: block;
	line-height: 1;
	transform: translateY(-2px);
}

.single .hitchcock-child-floating-post-nav .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (max-width: 900px) {
	.single .hitchcock-child-floating-post-nav-link {
		width: 34px;
		height: 92px;
		margin-top: -46px;
		background: rgba(45,45,45,0.28);
		border-color: rgba(255,255,255,0.10);
		font-size: 42px;
		box-shadow: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.single .hitchcock-child-floating-post-nav-link:hover,
	.single .hitchcock-child-floating-post-nav-link:focus {
		width: 38px;
		background: rgba(45,45,45,0.42);
	}
}

@media (max-width: 480px) {
	.single .hitchcock-child-floating-post-nav-link {
		width: 30px;
		height: 82px;
		margin-top: -41px;
		font-size: 38px;
	}

	.single .hitchcock-child-floating-post-nav-link:hover,
	.single .hitchcock-child-floating-post-nav-link:focus {
		width: 34px;
	}
}

/* ---------------------------------------------------------------------------------------------
   Mobile floating post navigation fix
   - Keep the new floating nav visible on mobile with very specific selectors.
   - Hide the old bottom post-navigation on mobile to remove the stray <> controls.
   - Desktop rules above are left untouched.
------------------------------------------------------------------------------------------------ */
@media (max-width: 900px) {
	body.single .post-navigation.hitchcock-child-single-nav,
	body.single-post .post-navigation.hitchcock-child-single-nav {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
	}

	body.single .hitchcock-child-floating-post-nav,
	body.single-post .hitchcock-child-floating-post-nav {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		z-index: 2147483000 !important;
		pointer-events: none !important;
		transform: none !important;
	}

	body.single .hitchcock-child-floating-post-nav-link,
	body.single-post .hitchcock-child-floating-post-nav-link {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: fixed !important;
		top: 50vh !important;
		transform: translateY(-50%) !important;
		width: 32px !important;
		height: 86px !important;
		margin: 0 !important;
		padding: 0 !important;
		align-items: center !important;
		justify-content: center !important;
		background: rgba(45, 45, 45, 0.28) !important;
		border: 1px solid rgba(255, 255, 255, 0.10) !important;
		box-shadow: none !important;
		color: #fff !important;
		font-size: 40px !important;
		line-height: 1 !important;
		text-decoration: none !important;
		pointer-events: auto !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	body.single .hitchcock-child-floating-post-nav-prev,
	body.single-post .hitchcock-child-floating-post-nav-prev {
		left: 0 !important;
		right: auto !important;
	}

	body.single .hitchcock-child-floating-post-nav-next,
	body.single-post .hitchcock-child-floating-post-nav-next {
		right: 0 !important;
		left: auto !important;
	}

	body.single .hitchcock-child-floating-post-nav-link:hover,
	body.single .hitchcock-child-floating-post-nav-link:focus,
	body.single-post .hitchcock-child-floating-post-nav-link:hover,
	body.single-post .hitchcock-child-floating-post-nav-link:focus {
		width: 36px !important;
		background: rgba(45, 45, 45, 0.42) !important;
		color: #fff !important;
		outline: none !important;
	}

	body.single .hitchcock-child-floating-post-nav-link span[aria-hidden="true"],
	body.single-post .hitchcock-child-floating-post-nav-link span[aria-hidden="true"] {
		display: block !important;
		line-height: 1 !important;
		transform: translateY(-2px) !important;
	}
}

/* ---------------------------------------------------------------------------------------------
   Mobile floating post navigation press color
   - Keep mobile tap/active state in Hitchcock dark theme tone.
   - No menu icon CSS included.
------------------------------------------------------------------------------------------------ */
@media (max-width: 900px) {
	body.single .hitchcock-child-floating-post-nav-link,
	body.single-post .hitchcock-child-floating-post-nav-link {
		-webkit-tap-highlight-color: rgba(45,45,45,0.18) !important;
	}

	body.single .hitchcock-child-floating-post-nav-link:hover,
	body.single .hitchcock-child-floating-post-nav-link:focus,
	body.single .hitchcock-child-floating-post-nav-link:active,
	body.single-post .hitchcock-child-floating-post-nav-link:hover,
	body.single-post .hitchcock-child-floating-post-nav-link:focus,
	body.single-post .hitchcock-child-floating-post-nav-link:active {
		background: rgba(45,45,45,0.52) !important;
		color: #fff !important;
		border-color: rgba(255,255,255,0.22) !important;
		box-shadow: none !important;
		outline: none !important;
		text-decoration: none !important;
	}
}

/* =========================
   MENU ICONS - DESKTOP + MOBILE
========================= */

.main-menu .menu-icon-home > a::before,
.mobile-menu .menu-icon-home > a::before,
.mobile-navigation .menu-icon-home > a::before,
.mobile-navigation li.menu-icon-home > a::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 7px;
	vertical-align: -3px;
	background-image: url("https://keibathailand.com/wp-content/uploads/2026/05/icon-keiba-w.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* Mobile ปรับใหญ่ขึ้นนิด */
@media (max-width: 900px) {
	.mobile-menu .menu-icon-home > a::before,
	.mobile-navigation .menu-icon-home > a::before,
	.mobile-navigation li.menu-icon-home > a::before {
		width: 20px;
		height: 20px;
		margin-right: 8px;
		vertical-align: -4px;
	}
}

.responsive-menu-pro .menu-icon-home > a::before,
.rmp-menu .menu-icon-home > a::before,
.mega-menu .menu-icon-home > a::before,
.mobile-menu .menu-icon-home > a::before,
.mobile-navigation .menu-icon-home > a::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 8px;
	vertical-align: -4px;
	background-image: url("https://keibathailand.com/wp-content/uploads/2026/05/icon-keiba-w.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

@media (min-width: 901px) {
	body:not(.single) .posts .post {
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 1088 / 1539 !important;
		padding-bottom: 0 !important;
		background-size: contain !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-color: transparent !important;
	}
}
