/*!
Theme Name: HumleTheme
Theme URI: http://underscores.me/
Author: Konrad Lindenberg
Author URI: https://wordpress.org
Description: Theme for a mock company called Humle Bryggeri for a school project.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: humletheme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

HumleTheme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

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

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
html,
body {
	background-color: var(--cream);
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	box-sizing: border-box;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	font-family: 'Walter Turncoat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

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

p {
	margin-bottom: 1.5em;
}

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

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

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

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

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	/* background: var(--cream); */
	/* z-index: 0; */
}

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

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

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

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

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

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

img {
	border-style: none;
	max-height: 100%;
	width: 100%;
}

figure {
	margin: 1em 0;
}

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

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

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

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/* TODO
-Fix image width issue. Currently does not stretch to full width
*/

/* Ensure full width layout */
#page {
	background-color: var(--cream);
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	min-width: 100%;
	width: 100%;
	height: 100%;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	position: relative;
	z-index: 1001;
	/* width: 100%; */
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
	display: flex;
	gap: 1.5rem;
}

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

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

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
	display: block;
	left: auto;
}

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

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

.main-navigation li {
	position: relative;
}

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

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

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

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

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

.post,
.page {
	margin: 0 0 1.5em;
}

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

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

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

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

.bypostauthor {
	display: block;
}

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

.widget select {
	max-width: 100%;
}

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

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

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

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

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

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

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

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

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

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

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

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


/* ----------------------------------MY STYLES------------------------------------ */

/* ---Color Palette--- */
:root {
	--moss: #354024;
	--cafenoir: #4c3d19;
	--lightmoss: #889063;
	--cream: #D9CBB3;
	--latte: #CEB594;
	--black: #000000;
	--white: #FFFFFF;
	--lightlatte: #ecd3b1;
}

h1 {
	color: var(--cream);
}

/* Header overlaid on background */
header#masthead {
	color: #4c3d19;
	background: rgba(53, 64, 36, 0.30);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}

header#masthead a {
	color: var(--cream);
	/* background-color: var(--moss);
	border-radius: 8px;
	margin: 8px; */
}


/* Header Layout - Logo, Left Menu, Center Brand, Right Menu
--------------------------------------------- */
.header-layout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 2rem;
	width: 100%;
	box-sizing: border-box;
	gap: 2rem;
	position: relative;
	z-index: 1002;
}

/* Header Logo */
.header-logo {
	order: 1;
	height: 50px;
	width: auto;
}

.header-logo .custom-logo {
	height: 50px;
	width: auto;
}

/* Left Navigation */
.left-navigation {
	flex: 1;
	order: 2;
	display: flex;
	justify-content: flex-start;
}

/* Site Branding (Center Brand) */
.site-branding {
	flex: 0 0 auto;
	text-align: center;
	order: 3;
}

.brand-title {
	margin: 0;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 1px;
}

.brand-title a {
	color: var(--cream);
	text-decoration: none;
}

.brand-title a:hover {
	color: var(--latte);
}

/* Right Navigation */
.right-navigation {
	flex: 1;
	order: 4;
	display: flex;
	justify-content: flex-end;
}

/* Navigation Menu Styles for Header */
.left-navigation ul,
.right-navigation ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1.5rem;
}

.left-navigation a,
.right-navigation a {
	text-decoration: none;
	padding: 0.5rem;
	display: block;
	color: var(--cream);
	font-size: 1.25rem;
}

.left-navigation a:hover,
.right-navigation a:hover {
	color: var(--lightlatte);
	transform: translateY(-4px);
	transition: all 0.3s ease;
}

/* Current page styling */
.left-navigation .current-menu-item a,
.right-navigation .current-menu-item a {
	/* background-color: var(--moss); */
	border-bottom: 2px solid var(--latte);
	font-weight: bold;
}

/* Mobile Menu Toggle */
.menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	order: 5;
	padding: 0.5rem;
	z-index: 1003;
	position: relative;
}

/* Hamburger Icon */
.hamburger-icon {
	display: inline-block;
	width: 30px;
	height: 22px;
	position: relative;
}

.hamburger-icon span {
	display: block;
	height: 3px;
	width: 100%;
	background-color: var(--cream);
	margin-bottom: 5px;
	transition: all 0.3s ease;
	transform-origin: center;
	border-radius: 1px;
}

.hamburger-icon span:last-child {
	margin-bottom: 0;
}

/* Cross Icon (when menu is open) */
.menu-toggle.toggled .hamburger-icon span:nth-child(1) {
	transform: rotate(45deg) translate(7px, 7px);
}

.menu-toggle.toggled .hamburger-icon span:nth-child(2) {
	opacity: 0;
}

.menu-toggle.toggled .hamburger-icon span:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -7px);
}

/* Mobile Menu Container */
.mobile-menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(53, 64, 36, 0.95);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	z-index: 1001;
	padding-top: 100px;
	box-sizing: border-box;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.mobile-menu.show {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	opacity: 1;
}

.mobile-menu-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3rem;
	width: 100%;
	max-width: 400px;
	padding: 2rem;
	transform: translateY(20px);
	transition: transform 0.3s ease;
}

.mobile-menu.show .mobile-menu-content {
	transform: translateY(0);
}

.mobile-menu-section ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	text-align: center;
}

.mobile-menu-section a {
	color: var(--cream);
	text-decoration: none;
	font-size: 1.5rem;
	padding: 1rem;
	display: block;
	border-radius: 8px;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.mobile-menu-section a:hover,
.mobile-menu-section .current-menu-item a {
	background-color: var(--moss);
	color: var(--latte);
	border-color: var(--latte);
	transform: translateY(-2px);
}

/* Hero Background Styling
--------------------------------------------- */
/* Apply hero background to pages with featured images */
html.has-post-thumbnail,
body.has-post-thumbnail,
body.has-post-thumbnail #page,
body.has-post-thumbnail.no-sidebar,
body.has-post-thumbnail.hfeed {
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	min-height: 100vh;
	overflow-x: visible;
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
}

/* Hide featured image in content area when used as background */
body.has-post-thumbnail .post-thumbnail,
body.has-post-thumbnail .wp-post-image {
	display: none;
}

/* TO BE CHANGED */
.post-thumbnail {
	width: 100%;
	height: auto;
	aspect-ratio: auto;

	img {
		width: 100%;
		height: 480px;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
}

.hero-section {
	width: 100%;
	height: 480px;

	.hero-image {
		padding-top: 0;
		margin-top: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
}

/* Make content area account for header and positioned properly */
body.has-post-thumbnail #primary {
	margin: 0;
	position: relative;
	z-index: 2;
	flex: 1;
	width: 100%;
	/* This makes the main content grow and pushes footer down */
}


/* Content wrapper for hero pages */
body.has-post-thumbnail .entry-content {
	max-width: 1200px;
	margin-top: 1.5rem;
	margin-bottom: 7rem;
	/* margin: 0 auto; */
	padding: 3rem 2rem;
	background: url('./images/paperMiddle.svg') repeat-y;
	background-size: 100% auto;
	position: relative;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	overflow: visible;
}

/* Paper tears for hero page content */
body.has-post-thumbnail .entry-content::before {
	content: '';
	position: absolute;
	top: -65px;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 200px;
	background: url('./images/paperTearTOP.svg') repeat-x;
	background-size: auto 100%;
	z-index: 1;
}

body.has-post-thumbnail .entry-content::after {
	content: '';
	position: absolute;
	bottom: -75px;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 200px;
	background: url('./images/paperTearBOT.svg') repeat-x;
	background-size: auto 100%;
	z-index: 1;
}

/* Also ensure main content grows on non-thumbnail pages */
#primary {
	flex: 1;
	position: relative;
	margin: 0;
	width: 100%;
}



/* Content wrapper for regular pages */
.entry-content,
.page-content {
	max-width: 1200px;
	margin: 7rem auto;
	padding: 3rem 2rem;
	background: url('./images/paperMiddle.svg') repeat-y;
	background-size: 100% auto;
	position: relative;
	overflow: visible;
}

/* Paper tears for regular page content */
.entry-content::before,
.page-content::before {
	content: '';
	position: absolute;
	top: -65px;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 200px;
	background: url('./images/paperTearTOP.svg') repeat-x;
	background-size: auto 100%;
	z-index: 1;
}

.entry-content::after,
.page-content::after {
	content: '';
	position: absolute;
	bottom: -75px;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 200px;
	background: url('./images/paperTearBOT.svg') repeat-x;
	background-size: auto 100%;
	z-index: 1;
}

/* Remove title element, messes with hero image */
.entry-header {
	width: 100%;
	display: none;
}

.sidebar {}

#page .entry-content {
	max-width: 100%;
	margin: 1rem auto;
}

.entry-content {
	/* padding: 1rem; */
	text-align: center;
}

/* Ensure content sits above paper effects */
.entry-content,
.entry-header,
.entry-meta,
.page-content {
	position: relative;
	z-index: 3;
}

/* Ensure all content containers maintain proper hierarchy */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content p,
.entry-content img,
.page-content * {
	position: relative;
	z-index: 4;
}

.entry-content img {
	max-width: fit-content;
	height: auto;
}

.site-footer {
	background-color: var(--moss);
	display: flex;
	padding: 1rem 2rem;
	margin: 0;
	margin-top: auto;
	width: 100%;
	position: relative;
	bottom: 0;
}

.site-footer .site-info {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	width: 100%;
	align-items: center;
	gap: 2rem;
}

.site-footer ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.site-footer li {
	list-style: none;
}

.site-footer .site-info a {
	padding: 0.5rem;
	color: var(--cream);
	text-decoration: none;
}

.site-footer img {
	height: 10vh;
	width: auto;
}

.site-footer .site-info .socials {
	size: 24px;
	gap: 1.5rem;
	color: var(--cream);
	display: flex;
	justify-self: center;
	text-align: center;
}

.site-footer .footer-logo {
	z-index: 2;
	height: fit-content;
	width: fit-content;
	justify-self: end;
	text-align: right;
}

.site-footer .site-info .footer-logo {
	height: fit-content;
	width: fit-content;
	justify-self: end;
	text-align: right;
}

ion-icon {
	color: var(--cream);
	font-size: 24px;
}

.site-footer,
#colophon {
	margin-top: 1.5rem !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	bottom: 0 !important;
	color: var(--cream);
}

html,
body {
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

#page {
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* Beer Grid Style */
.beer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.beer-grid__item {
	min-height: 260px;
	background-size: cover;
	background-position: center;
	border-radius: 10px;
	overflow: hidden;
}

.beer-grid__overlay {
	min-height: 260px;
	background: rgba(0, 0, 0, 0.45);
	color: #ffffff;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 8px;
}

.beer-grid__title {
	margin: 0;
}

.beer-grid__title a {
	color: #ffffff;
	text-decoration: none;
}

.beer-grid__categories {
	margin: 0;
	font-size: 0.9rem;
}

/* Mobile Responsive */
@media screen and (max-width: 768px) {
	.header-layout {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		padding: 1rem 2rem;
	}

	.header-logo {
		order: 1;
		flex: none;
	}

	.site-branding {
		order: 2;
		flex: 1;
		text-align: center;
	}

	.menu-toggle {
		display: block;
		order: 3;
		flex: none;
	}

	/* Hide desktop navigation on mobile */
	.left-navigation,
	.right-navigation {
		display: none;
	}

	.brand-title {
		font-size: 1.5rem;
	}

	/* Prevent body scroll when mobile menu is open */
	body.menu-open {
		overflow: hidden;
	}

	/* Ensure header stays on top when menu is open */
	header#masthead {
		z-index: 1002;
	}
}

/* Back to Top Button */
.back-to-top {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: var(--moss);
	border: 2px solid var(--latte);
	cursor: pointer;
	z-index: 9999;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.back-to-top:hover {
	background-color: var(--cafenoir);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

.back-to-top.show {
	display: flex;
	align-items: center;
	justify-content: center;
}

.arrow-up {
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 12px solid var(--cream);
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {

	body.has-post-thumbnail,
	body.has-post-thumbnail #page {
		background-attachment: scroll;
	}

	body.has-post-thumbnail #primary {
		margin: 0;
		padding: 1.5rem;
		border-radius: 0;
	}

	.site-footer .site-info {
		gap: 1rem;
		flex-direction: column;
		text-align: center;
	}

	.site-footer {
		padding: 1rem;
	}

	/* Show back to top button only on mobile */
	.back-to-top {
		display: block;
	}
}