/*
Theme Name: GeneratePress
Theme URI: https://generatepress.com
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Version: 3.6.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: generatepress
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, footer-widgets, blog, e-commerce, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, rtl-language-support, featured-images, theme-options

GeneratePress, Copyright 2014-2025 EDGE22 Studios LTD.
GeneratePress is distributed under the terms of the GNU GPL

GeneratePress is based on Underscores http://underscores.me/, (C) 2012-2025 Automattic, Inc.

Actual CSS can be found in /assets/css/ folder.
*/

:root {
	--sp-ink: #172234;
	--sp-muted: #667085;
	--sp-paper: #fffdf8;
	--sp-card: #ffffff;
	--sp-red: #d63a47;
	--sp-yellow: #f6c945;
	--sp-blue: #2f6fd6;
	--sp-green: #2e9b6e;
	--sp-border: #e8e4dc;
	--sp-shadow: 0 16px 50px rgba(23,34,52,.09);
	--sp-radius: 22px;
}

html { scroll-behavior: smooth; }
body {
	background: var(--sp-paper);
	color: var(--sp-ink);
	font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}
a { color: var(--sp-blue); }
.site-header {
	background: rgba(255,253,248,.96);
	border-bottom: 1px solid var(--sp-border);
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: blur(12px);
}
.site-branding .main-title a {
	font-weight: 900;
	letter-spacing: -.04em;
	color: var(--sp-ink);
	font-size: clamp(1.25rem, 2vw, 1.7rem);
}
.main-navigation .main-nav ul li a {
	font-weight: 800;
	font-size: .95rem;
	color: var(--sp-ink);
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: var(--sp-red); background: transparent; }

.sp-home { overflow: hidden; }
.sp-wrap { width: min(1180px, calc(100% - 36px)); margin-inline: auto; }
.sp-hero {
	padding: clamp(52px, 8vw, 104px) 0 54px;
	background:
		radial-gradient(circle at 84% 18%, rgba(246,201,69,.38) 0 9%, transparent 9.5%),
		radial-gradient(circle at 7% 72%, rgba(47,111,214,.16) 0 12%, transparent 12.5%),
		linear-gradient(135deg, #fff9e8 0%, #fffdf8 55%, #eef6ff 100%);
	border-bottom: 1px solid var(--sp-border);
}
.sp-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sp-border);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.sp-hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 54px; align-items: center; }
.sp-hero h1 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.6rem, 6vw, 5.9rem);
	line-height: .93;
	letter-spacing: -.055em;
	margin: 18px 0 24px;
	max-width: 900px;
}
.sp-hero h1 em { color: var(--sp-red); font-style: normal; }
.sp-hero p { font-size: clamp(1.05rem, 1.7vw, 1.28rem); line-height: 1.65; color: #465266; max-width: 760px; }
.sp-search {
	display: flex;
	gap: 10px;
	padding: 9px;
	background: #fff;
	border: 1px solid var(--sp-border);
	box-shadow: var(--sp-shadow);
	border-radius: 18px;
	max-width: 680px;
	margin-top: 30px;
}
.sp-search input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 12px 14px; font-size: 1rem; }
.sp-search button, .sp-button {
	border: 0;
	border-radius: 13px;
	background: var(--sp-red);
	color: white;
	font-weight: 900;
	padding: 13px 20px;
	text-decoration: none;
	cursor: pointer;
}
.sp-hero-card {
	background: #172234;
	color: #fff;
	border-radius: 34px;
	padding: 30px;
	transform: rotate(2deg);
	box-shadow: 0 24px 60px rgba(23,34,52,.22);
}
.sp-hero-card strong { display: block; font-family: Georgia, serif; font-size: 2rem; line-height: 1.05; margin-bottom: 16px; }
.sp-hero-card ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.sp-hero-card li { background: rgba(255,255,255,.1); border-radius: 12px; padding: 11px 13px; }

.sp-section { padding: 70px 0; }
.sp-section + .sp-section { border-top: 1px solid var(--sp-border); }
.sp-heading { display: flex; justify-content: space-between; gap: 25px; align-items: end; margin-bottom: 28px; }
.sp-heading h2 { font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.04em; margin: 0; }
.sp-heading p { margin: 0; color: var(--sp-muted); max-width: 520px; }
.sp-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.sp-topic {
	position: relative;
	display: block;
	background: var(--sp-card);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	padding: 26px;
	min-height: 180px;
	color: var(--sp-ink);
	text-decoration: none;
	box-shadow: 0 10px 30px rgba(23,34,52,.04);
	transition: transform .2s ease, box-shadow .2s ease;
}
.sp-topic:hover { transform: translateY(-5px); box-shadow: var(--sp-shadow); }
.sp-topic:nth-child(4n+1) { border-top: 6px solid var(--sp-red); }
.sp-topic:nth-child(4n+2) { border-top: 6px solid var(--sp-yellow); }
.sp-topic:nth-child(4n+3) { border-top: 6px solid var(--sp-blue); }
.sp-topic:nth-child(4n+4) { border-top: 6px solid var(--sp-green); }
.sp-topic small { color: var(--sp-muted); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.sp-topic h3 { font-family: Georgia, serif; font-size: 1.55rem; line-height: 1.1; margin: 28px 0 8px; }
.sp-topic span { color: var(--sp-muted); }

.sp-age-row { display: flex; flex-wrap: wrap; gap: 10px; }
.sp-age-row a { padding: 12px 17px; border-radius: 999px; background: #fff; border: 1px solid var(--sp-border); color: var(--sp-ink); font-weight: 900; text-decoration: none; }
.sp-age-row a:hover { background: var(--sp-ink); color: #fff; }

.sp-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.sp-post-card { background: #fff; border: 1px solid var(--sp-border); border-radius: var(--sp-radius); overflow: hidden; box-shadow: 0 10px 30px rgba(23,34,52,.05); }
.sp-post-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.sp-post-card-body { padding: 22px; }
.sp-post-card .sp-meta { color: var(--sp-red); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.sp-post-card h3 { margin: 8px 0 10px; font-family: Georgia, serif; font-size: 1.45rem; line-height: 1.18; }
.sp-post-card h3 a { color: var(--sp-ink); text-decoration: none; }
.sp-post-card p { color: var(--sp-muted); margin-bottom: 0; }

.single-post .site-content { gap: 38px; }
.single-post .content-area { width: 70%; }
.single-post .widget-area { width: 30%; }
.single-post .inside-article { border-radius: 24px; border: 1px solid var(--sp-border); box-shadow: 0 12px 34px rgba(23,34,52,.05); }
.single-post .entry-title { font-family: Georgia, serif; font-size: clamp(2.2rem,5vw,4rem); line-height: 1.03; letter-spacing: -.04em; }
.single-post .entry-content { font-size: 1.08rem; line-height: 1.78; }
.single-post .entry-content h2 { font-family: Georgia, serif; font-size: clamp(1.75rem,3vw,2.45rem); margin-top: 1.8em; }
.single-post .entry-content h3 { font-size: 1.35rem; margin-top: 1.5em; }
.single-post .entry-content img { border-radius: 18px; }
.sp-sidebar-box { background: #fff; border: 1px solid var(--sp-border); border-radius: 20px; padding: 22px; margin-bottom: 18px; box-shadow: 0 9px 28px rgba(23,34,52,.05); }
.sp-sidebar-box h2 { margin: 0 0 14px; font-family: Georgia, serif; font-size: 1.25rem; }
.sp-related { display: grid; gap: 14px; }
.sp-related a { color: var(--sp-ink); text-decoration: none; font-weight: 800; line-height: 1.25; }
.sp-related a:hover { color: var(--sp-red); }
.sp-related small { display: block; color: var(--sp-muted); font-weight: 600; margin-top: 4px; }
.sp-cat-list { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-cat-list a { padding: 7px 10px; border-radius: 999px; background: #f6f3ec; color: var(--sp-ink); text-decoration: none; font-size: .84rem; font-weight: 800; }

.site-info { background: #172234; color: #d7dfeb; border-top: 5px solid var(--sp-yellow); }
.site-info .inside-site-info { padding: 28px 24px; }
.site-info .copyright-bar { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; font-size: .94rem; }
.site-info a { color: white; text-underline-offset: 3px; display: inline-flex; min-height: 44px; align-items: center; padding-inline: 4px; }
.sp-footer-sep { color: #8390a3; }

/* Inner pages, archives and search results. */
body:not(.home) .site-content { padding-top: 44px; padding-bottom: 64px; }
body:not(.home) .content-area { min-width: 0; }
.page .inside-article,
.archive .inside-article,
.search .inside-article,
.error404 .inside-article {
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: 0 10px 30px rgba(23,34,52,.05);
}
.page .entry-title,
.archive .page-title,
.search .page-title {
	font-family: Georgia, serif;
	letter-spacing: -.035em;
}
.archive .site-main,
.search .site-main {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 24px;
}
.archive .site-main > .page-header,
.search .site-main > .page-header,
.archive .site-main > .paging-navigation,
.search .site-main > .paging-navigation,
.archive .site-main > .no-results,
.search .site-main > .no-results {
	grid-column: 1 / -1;
}
.archive article,
.search article { margin: 0; }
.archive article .inside-article,
.search article .inside-article { height: 100%; padding: 0 0 24px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.archive article .post-image,
.search article .post-image { order: -1; }
.archive article .entry-meta,
.search article .entry-meta { display: none; }
.archive article .post-image,
.search article .post-image { margin: 0 0 22px; }
.archive article .post-image img,
.search article .post-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.archive article .entry-header,
.archive article .entry-summary,
.archive article .entry-meta,
.search article .entry-header,
.search article .entry-summary,
.search article .entry-meta { padding-left: 24px; padding-right: 24px; }
.archive article .entry-title,
.search article .entry-title { font-family: Georgia, serif; font-size: 1.55rem; line-height: 1.15; }
.archive article .entry-title a,
.search article .entry-title a { color: var(--sp-ink); text-decoration: none; }
.archive article .entry-title a:hover,
.search article .entry-title a:hover { color: var(--sp-red); }
.archive article .entry-summary,
.search article .entry-summary { color: var(--sp-muted); }

/* Better reading rhythm and accessible interaction states. */
.entry-content a { text-underline-offset: 3px; }
.entry-content > p:first-child { font-size: 1.12em; }
button:focus-visible,
a:focus-visible,
input:focus-visible {
	outline: 3px solid var(--sp-yellow);
	outline-offset: 3px;
}
.search-form { display: flex; gap: 8px; }
.search-form .search-field { min-width: 0; border-radius: 12px; border: 1px solid var(--sp-border); }
.search-form .search-submit { border-radius: 12px; background: var(--sp-red); font-weight: 800; }

@media (max-width: 920px) {
	.sp-hero-grid, .sp-grid, .sp-post-grid { grid-template-columns: 1fr 1fr; }
	.archive .site-main, .search .site-main { grid-template-columns: 1fr 1fr; }
	.sp-hero-card { transform: none; }
	.single-post .content-area, .single-post .widget-area { width: 100%; }
	.single-post .site-content { display: block; }
	.single-post .widget-area { margin-top: 24px; }
}
@media (max-width: 650px) {
	.sp-wrap { width: min(100% - 24px, 1180px); }
	.sp-hero { padding-top: 36px; }
	.sp-hero-grid, .sp-grid, .sp-post-grid, .archive .site-main, .search .site-main { grid-template-columns: 1fr; }
	.sp-hero-card { display: none; }
	.sp-heading { align-items: start; flex-direction: column; }
	.sp-search { flex-direction: column; }
	.sp-search button { width: 100%; }
	.single-post .inside-article { border-radius: 16px; }
}
