/*
Theme Name: tomfinley2026
Theme URI: tomfinley.com
Description: A child theme for Ollie.
Author: Tom Finley
Author URI: tomfinley.com
Template:     ollie
Version: 1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Text Domain: tomfinley
*/

/* ==========================================================================
   Custom Properties
   ========================================================================== */

:root {
	--corner-size: 40px;
	--corner-border-width: 3px;
}

/* ==========================================================================
   Document level overrides
   ========================================================================== */

html {
	scroll-behavior: smooth;
}

/* ==========================================================================
   Form overrides
   ========================================================================== */

input:not([type="submit"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	border-color: var(--wp--preset--color--main-accent);
}

/* ==========================================================================
   Images
   ========================================================================== */

/* Enlarge image on hover */
@media only screen and (min-width: 782px) {
	.wp-block-buttons.enlarge > .wp-block-button:hover,
	.wp-block-button.enlarge:hover,
	.enlarge:hover img {
		transform: scale(1.04);
	}

	.wp-block-buttons.enlarge > .wp-block-button,
	.wp-block-button.enlarge,
	.enlarge img {
		max-width: 160% !important;
		transition: 0.5s ease;
	}
}

/* ==========================================================================
   Block overrides — Headings
   ========================================================================== */

h1 a:where(:not(.wp-element-button)),
h2 a:where(:not(.wp-element-button)),
h3 a:where(:not(.wp-element-button)),
h4 a:where(:not(.wp-element-button)),
h5 a:where(:not(.wp-element-button)),
h6 a:where(:not(.wp-element-button)),
.wp-block-heading a:where(:not(.wp-element-button)) {
	text-decoration: none;
}

h1 a:where(:not(.wp-element-button)):hover,
h2 a:where(:not(.wp-element-button)):hover,
h3 a:where(:not(.wp-element-button)):hover,
h4 a:where(:not(.wp-element-button)):hover,
h5 a:where(:not(.wp-element-button)):hover,
h6 a:where(:not(.wp-element-button)):hover,
.wp-block-heading a:where(:not(.wp-element-button)):hover {
	text-decoration: underline;
}

/* ==========================================================================
   Block overrides — Cover
   ========================================================================== */

/* Override WordPress core mobile min-height */
@media (max-width: 781px) {
	.wp-block-cover:not(.has-aspect-ratio) {
		min-height: 200px !important;
	}
}

/* ==========================================================================
   Block overrides — Quote
   ========================================================================== */

.wp-block-quote {
	box-shadow: 5px 5px var(--wp--preset--color--main);
}

.wp-block-quote p:last-of-type {
	margin-bottom: 0;
}

.wp-block-quote cite {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-style: inherit;
	margin-top: 10px;
	text-align: inherit;
}

/* ==========================================================================
   Block overrides — Post Title & Terms
   ========================================================================== */

.wp-block-post-title a:link,
.wp-block-post-title a:visited,
.wp-block-post-terms a:link,
.wp-block-post-terms a:visited {
	text-decoration: none;
}

.wp-block-post-title a:hover,
.wp-block-post-title a:active,
.wp-block-post-terms a:hover,
.wp-block-post-terms a:active {
	text-decoration: underline;
}

/* ==========================================================================
   Navigation
   ========================================================================== */

.wp-block-navigation .wp-block-navigation-item a {
	border-bottom: 3px solid transparent;
	padding-bottom: 4px;
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
}

.wp-block-navigation .wp-block-navigation-item.current-menu-item a,
.wp-block-navigation .wp-block-navigation-item.current_page_item a {
	border-bottom-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--base) !important;
	text-decoration: none !important;
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.wp-block-query-pagination-numbers {
	align-content: center;
	display: flex;
	flex-direction: row;
	gap: var(--wp--preset--spacing--small);
	line-height: 1.4;
}

.wp-block-query-pagination-numbers span.page-numbers {
	align-self: center;
	background: var(--wp--preset--color--primary-accent);
	border: solid 2px var(--wp--preset--color--primary-accent);
	border-radius: 5px;
	color: var(--wp--preset--color--main);
	display: inline-block;
	line-height: 1.25;
	padding: .5em 1em;
}

.wp-block-query-pagination-numbers a {
	align-self: center;
	background: transparent;
	border: solid 2px var(--wp--preset--color--primary-accent);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	border: 2px solid transparent;
}

.wp-block-button__link,
.wp-element-button {
	padding: 0.6em 1em;
	transition: all 0.15s ease-in-out;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	filter: brightness(110%);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary) !important;
	border-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--base) !important;
}

/* ==========================================================================
   Mobile helper classes (child theme class names)
   ========================================================================== */

@media (max-width: 781px) {
	.hide-on-mobile {
		display: none;
	}

	.unstick-mobile {
		position: static;
	}

	header:has(>.unstick-mobile) {
		position: static;
	}
}

/* ==========================================================================
   Responsive — Grid
   ========================================================================== */

/* Force grid to single column on mobile and small tablets */
@media (max-width: 782px) {
	.wp-block-group.is-layout-grid,
	.is-layout-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================================================
   Responsive — Columns
   ========================================================================== */

@media (max-width: 980px) {
	.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	.header__main {
		justify-content: space-between !important;
	}

	.wp-block-navigation__responsive-container-open {
		margin-left: auto !important;
	}
}

/* ==========================================================================
   Hero Area
   ========================================================================== */

/* Template: Page (Full Width, No Title) */
.page-template-page-no-title .entry-content > :first-child.wp-block-cover.alignfull {
	/* max-height: 800px;
	min-height: calc(80vh - var(--wp-admin--admin-bar--height, 0px)); */
}

@media (max-width: 782px) {
	.page-template-page-no-title .entry-content > :first-child.wp-block-cover.alignfull {
		max-height: none;
		min-height: auto;
	}
}

/* ==========================================================================
   Additional Styles
   ========================================================================== */

.side-header .wp-block-image > a {
	display: block !important;
	width: 100%;
	height: auto;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--bold);
}

.margin-auto {
	margin: 0 auto !important;
}
