/*!
Theme Name: GG Starter 26
Theme URI: http://underscores.me/
Author: Irshad Shaikh
Author URI: https://growwgenie.com/
Description: Description
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: gg_starter_26
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Global
	- Custom Properties
	- Base Overrides (html, body, headings, links, p, media)
	- Utility Classes
	- Buttons
	- WP Core (accessibility, alignments, media, pagination, nav, widgets)
# Header + Footer
# Blog
	- Sidebar
	- Listing
	- Single
# Pages (404, search)
# Homepage V1
--------------------------------------------------------------*/

/* ================================================================
   GLOBAL
================================================================ */

/*--------------------------------------------------------------
# Custom Properties
--------------------------------------------------------------*/
/* :root vars live in assets/css/tokens.css — enqueued before this stylesheet */

/*--------------------------------------------------------------
# Base Overrides
--------------------------------------------------------------*/
html {
	font-size: 112.5%;
}

body {
	background-color: var(--gg-bg);
	color: var(--gg-text);
	font-family: var(--gg-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: var(--gg-font-heading);
}

h1 {
	font-size: clamp(1.8rem, 5vw, 3.11rem);
	font-weight: 700;
	line-height: 1.1;
	color: var(--gg-ink);
}

h2 {
	font-size: clamp(1.35rem, 3.5vw, 2.22rem);
	font-weight: 600;
	color: var(--gg-text-h2);
}

h3 {
	font-size: clamp(1.1rem, 2.5vw, 1.67rem);
	font-weight: 600;
	color: var(--gg-ink);
}

h4 {
	font-size: clamp(1rem, 2vw, 1.33rem);
	font-weight: 500;
	color: var(--gg-ink);
}

h5,
h6 {
	font-weight: 500;
	color: var(--gg-ink);
}

a {
	color: var(--gg-link);
	text-decoration: none;
}

:where(a:not(.wp-block-button__link)):hover,
:where(a:not(.wp-block-button__link)):focus {
	color: var(--gg-link-hover);
	text-decoration: underline;
}

p {
	font-size: 1rem;
	line-height: 1.55;
	margin-bottom: 1.1em;
}

pre {
	background: var(--gg-bg-alt);
	border: 1px solid var(--gg-border);
}

blockquote {
	margin-left: 2.5rem;
	margin-right: 2.5rem;
	font-size: 1rem;
}

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

embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Utility Classes
--------------------------------------------------------------*/
.gg-accent-text {
	color: var(--gg-accent);
}

.gg-gradient-text {
	background: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent-2) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.gg-text-muted {
	color: var(--gg-text-small);
}

.gg-text-body {
	color: var(--gg-text);
}

.gg-text-ink {
	color: var(--gg-ink);
}

.gg-bg-alt {
	background-color: var(--gg-bg-alt);
}

.gg-bg-dark {
	background-color: var(--gg-bg-dark);
	color: var(--gg-accent-text);
}

/*--------------------------------------------------------------
# Buttons
# .gg-btn — shared base
# .gg-btn-primary / .gg-btn-solid / .gg-btn-outline — theme button variants
# Block styles map to the same visual variants
--------------------------------------------------------------*/
.gg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--gg-btn-padding-y) var(--gg-btn-padding-x);
	font-family: var(--gg-font-body);
	font-size: var(--gg-btn-font-size);
	font-weight: var(--gg-btn-font-weight);
	line-height: 1.2;
	border: 1px solid transparent;
	border-radius: var(--gg-radius);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

a.gg-btn:link,
a.gg-btn:visited,
a.gg-btn:hover,
a.gg-btn:focus,
a.gg-btn:focus-visible,
a.gg-btn:active {
	text-decoration: none;
}

.gg-btn-primary {
	background-color: var(--gg-accent);
	background-image: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent-2) 100%);
	color: var(--gg-accent-text);
}

.gg-btn-solid {
	background-color: var(--gg-accent);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.gg-btn-outline {
	background-color: transparent;
	border-color: var(--gg-accent);
	color: var(--gg-accent);
}

a.gg-btn.gg-btn-primary:link,
a.gg-btn.gg-btn-primary:visited,
a.gg-btn.gg-btn-solid:link,
a.gg-btn.gg-btn-solid:visited {
	color: var(--gg-accent-text);
}

a.gg-btn.gg-btn-outline:link,
a.gg-btn.gg-btn-outline:visited {
	color: var(--gg-accent);
}

a.gg-btn.gg-btn-primary:hover,
a.gg-btn.gg-btn-primary:focus,
a.gg-btn.gg-btn-primary:focus-visible,
button.gg-btn.gg-btn-primary:hover,
button.gg-btn.gg-btn-primary:focus,
button.gg-btn.gg-btn-primary:focus-visible {
	background-color: var(--gg-accent);
	background-image: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent) 100%);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
	text-decoration: none;
}

a.gg-btn.gg-btn-solid:hover,
a.gg-btn.gg-btn-solid:focus,
a.gg-btn.gg-btn-solid:focus-visible,
button.gg-btn.gg-btn-solid:hover,
button.gg-btn.gg-btn-solid:focus,
button.gg-btn.gg-btn-solid:focus-visible {
	background-color: var(--gg-accent-2);
	border-color: var(--gg-accent-2);
	color: var(--gg-accent-text);
	text-decoration: none;
}

a.gg-btn.gg-btn-outline:hover,
a.gg-btn.gg-btn-outline:focus,
a.gg-btn.gg-btn-outline:focus-visible,
button.gg-btn.gg-btn-outline:hover,
button.gg-btn.gg-btn-outline:focus,
button.gg-btn.gg-btn-outline:focus-visible {
	background-color: var(--gg-accent);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
	text-decoration: none;
}

/* Block editor button styles use the same three variants */
.wp-block-button.is-style-gg-primary .wp-block-button__link,
.wp-block-button.is-style-gg-solid .wp-block-button__link,
.wp-block-button.is-style-gg-outline .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--gg-font-body);
	font-size: var(--gg-btn-font-size);
	font-weight: var(--gg-btn-font-weight);
	line-height: 1.2;
	border-radius: var(--gg-radius);
	border: 1px solid transparent;
	text-decoration: none;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.wp-block-button.is-style-gg-primary .wp-block-button__link {
	padding: var(--gg-btn-padding-y) var(--gg-btn-padding-x);
	background-color: var(--gg-accent);
	background-image: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent-2) 100%);
	color: var(--gg-accent-text);
}

.wp-block-button.is-style-gg-primary .wp-block-button__link:hover,
.wp-block-button.is-style-gg-primary .wp-block-button__link:focus {
	background-color: var(--gg-accent);
	background-image: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent) 100%);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.wp-block-button.is-style-gg-solid .wp-block-button__link {
	padding: var(--gg-btn-padding-y) var(--gg-btn-padding-x);
	background-color: var(--gg-accent);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.wp-block-button.is-style-gg-solid .wp-block-button__link:hover,
.wp-block-button.is-style-gg-solid .wp-block-button__link:focus {
	background-color: var(--gg-accent-2);
	border-color: var(--gg-accent-2);
	color: var(--gg-accent-text);
}

.wp-block-button.is-style-gg-outline .wp-block-button__link {
	padding: var(--gg-btn-padding-y) var(--gg-btn-padding-x);
	background-color: transparent;
	border-color: var(--gg-accent);
	color: var(--gg-accent);
}

.wp-block-button.is-style-gg-outline .wp-block-button__link:hover,
.wp-block-button.is-style-gg-outline .wp-block-button__link:focus {
	background-color: var(--gg-accent);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
	text-decoration: none;
}

/*--------------------------------------------------------------
# WP Core — Accessibility
--------------------------------------------------------------*/
.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: var(--gg-bg-alt);
	border-radius: var(--bs-border-radius-sm);
	box-shadow: var(--bs-box-shadow);
	clip: auto !important;
	clip-path: none;
	color: var(--gg-accent);
	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: 500;
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# WP Core — Alignments
--------------------------------------------------------------*/
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

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

/*--------------------------------------------------------------
# WP Core — Media / Captions / Galleries
--------------------------------------------------------------*/
.custom-logo-link {
	display: inline-block;
}

.wp-caption {
	margin-bottom: 1.5rem;
	max-width: 100%;
}

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

.wp-caption .wp-caption-text,
.wp-caption-text {
	margin: 0.8em 0;
	text-align: center;
}

.gallery {
	display: grid;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}

.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;
}

/*--------------------------------------------------------------
# WP Core — Pagination
--------------------------------------------------------------*/
.pagination {
	display: flex;
	gap: 0.25rem;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.5rem;
	border: 1px solid var(--gg-border);
	border-radius: var(--bs-border-radius);
	color: var(--gg-text);
	text-decoration: none;
	font-size: 0.875rem;
}

a.page-numbers:hover {
	background-color: var(--gg-bg-alt);
	border-color: var(--gg-accent);
	color: var(--gg-accent);
	text-decoration: none;
}

.page-numbers.current {
	background-color: var(--gg-accent);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.page-numbers.dots {
	border-color: transparent;
}

/*--------------------------------------------------------------
# WP Core — Navigation (post/comment nav)
--------------------------------------------------------------*/
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5rem;
}

.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%;
}

/*--------------------------------------------------------------
# WP Core — Posts and Pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

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

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

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

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

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# WP Core — Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5rem;
}

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

/*--------------------------------------------------------------
# WP Core — Jetpack infinite scroll
--------------------------------------------------------------*/
.infinite-scroll .posts-navigation,
.infinite-scroll .navigation.pagination,
.infinite-scroll.neverending .site-footer {
	display: none;
}

.infinity-end.neverending .site-footer {
	display: block;
}


/* ================================================================
   HEADER + FOOTER
================================================================ */

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header {
	position: relative;
	z-index: var(--bs-zindex-sticky);
	font-family: var(--gg-font-body);
}

.site-header .navbar-brand,
.site-header .site-title a {
	color: var(--gg-text);
	text-decoration: none;
}

a.site-header .navbar-brand:hover,
.site-header a.navbar-brand:hover,
.site-header .site-title a:hover,
.site-header a.nav-link:hover,
.site-header a.nav-link:focus,
.site-header .nav-item.active>a.nav-link {
	color: var(--gg-accent);
}

.site-header .custom-logo-link img {
	max-height: var(--gg-logo-height);
	width: auto;
}

.site-header .nav-link {
	color: var(--gg-text);
	font-weight: 500;
	font-size: 0.89rem;
}

.site-header .navbar-toggler {
	background: none;
	border: none;
	padding: 0;
	color: var(--gg-ink);
}

.site-header .dropdown-menu {
	--bs-dropdown-min-width: var(--gg-dropdown-min-width);
	border-color: var(--gg-border);
}

.site-header .dropdown-item {
	white-space: normal;
	word-break: break-word;
	font-size: 0.89rem;
	font-weight: 500;
}

.site-header a.dropdown-item:hover,
.site-header a.dropdown-item:focus,
.site-header .dropdown-menu li.active>a.dropdown-item {
	color: var(--gg-accent);
	background-color: var(--gg-bg-alt);
}

/* Desktop nested submenu */
.site-header .dropdown-submenu {
	position: relative;
}

.site-header .dropdown-submenu>.dropdown-menu {
	top: 0;
	left: 100%;
	margin-top: -2px;
}

/* Mobile offcanvas — dropdowns expand inline */
.offcanvas .dropdown-menu {
	position: static;
	box-shadow: none;
	border: none;
	border-radius: 0;
	padding-left: 1rem;
}

.admin-bar .offcanvas {
	top: var(--wp-admin--admin-bar--height, 32px);
}

/* Header search form */
.gg-search-wrap {
	border: 1px solid var(--gg-ink);
	border-radius: var(--gg-radius-input);
	overflow: hidden;
	display: flex;
}

.gg-search-field {
	flex: 1;
	border: none;
	background: transparent;
	height: var(--gg-sidebar-input-height);
	max-width: calc(100% - 62px);
	padding: 5px;
	font-size: 0.89rem;
	outline: none;
	font-family: var(--gg-font-body);
}

.gg-search-submit {
	background: var(--gg-ink);
	color: var(--gg-accent-text);
	border: none;
	border-radius: 0 var(--gg-radius-input) var(--gg-radius-input) 0;
	height: var(--gg-sidebar-input-height);
	min-width: 62px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gg-search-submit svg {
	width: 24px;
	height: 24px;
}

.gg-search-submit:hover {
	background: var(--gg-ink-hover);
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
	border-top: 2px solid var(--gg-ink);
}

.site-info {
	padding: 0.75rem;
	font-size: 0.875rem;
}

.footer-links ul {
	list-style: none;
	margin: 0;
	padding: 0.75rem 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
}

.footer-links a {
	font-size: 0.89rem;
	color: var(--gg-text);
}

.footer-links a:hover,
.footer-links a:focus {
	color: var(--gg-ink);
	text-decoration: underline;
}



/* ================================================================
   BLOG
================================================================ */

/* Shared blog layout — push content right of fixed sidebar */
body.blog .site-main,
body.single .site-main,
body.archive .site-main,
body.search-results .site-main {
	padding-top: 30px;
}

/*--------------------------------------------------------------
# Blog — Sidebar
# Fixed left column, shared across listing + single pages.
# Flow: accent stripe → logo/menu → search → widgets → mailer
--------------------------------------------------------------*/

/* Sidebar container */
.gg-ig-sidebar {
	position: fixed;
	top: 0;
	left: 0;
	width: var(--gg-sidebar-width);
	height: 100vh;
	overflow-y: auto;
	padding: 30px;
	border-right: 2px solid var(--gg-ink);
	box-sizing: border-box;
}

/* Accent stripe at the very top */
.gg-ig-sidebar::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 7px;
	background-color: var(--gg-accent);
	border-top: 7px solid var(--gg-accent-2);
	box-sizing: content-box;
}

.admin-bar .gg-ig-sidebar {
	top: var(--wp-admin--admin-bar--height, 32px);
	height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
}

/* Sidebar top row — logo + menu toggle */
#header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.sidebar-logo-link {
	display: block;
	line-height: 1;
	text-decoration: none;
}

.sidebar-logo-link .custom-logo {
	max-height: var(--gg-logo-height);
	width: auto;
	display: block;
}

.sidebar-site-title {
	font-family: var(--gg-font-heading);
	font-weight: 600;
	font-size: 1.33rem;
	color: var(--gg-ink);
}

.gg-ig-sidebar #menu-open,
.gg-ig-sidebar #menu-close {
	display: flex;
	align-items: center;
	cursor: pointer;
	color: var(--gg-ink);
	background: none;
	border: none;
	padding: 0;
}

.gg-ig-sidebar #menu-close {
	display: none;
}

/* Sidebar search */
.gg-ig-sidebar .wp-block-search__inside-wrapper {
	border: 1px solid var(--gg-ink);
	border-radius: var(--gg-radius-input);
	overflow: hidden;
	display: flex;
	padding: 0;
	height: var(--gg-sidebar-input-height);
}

.gg-ig-sidebar .wp-block-search__input {
	flex: 1;
	border: none;
	background: transparent;
	height: var(--gg-sidebar-input-height);
	padding: 5px;
	font-size: 0.89rem;
	outline: none;
	color: var(--gg-ink);
	min-width: 0;
	box-shadow: none;
}

.gg-ig-sidebar .wp-block-search__button {
	background: var(--gg-ink);
	color: var(--gg-accent-text);
	border: none;
	border-radius: 0 var(--gg-radius-input) var(--gg-radius-input) 0;
	height: var(--gg-sidebar-input-height);
	min-width: 62px;
	padding: 0 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.gg-ig-sidebar .wp-block-search__button:hover {
	background: var(--gg-ink-hover);
}

.gg-ig-sidebar .wp-block-search__button svg {
	display: block;
	width: 24px;
	height: 24px;
}

/* Sidebar widget area */
.gg-ig-sidebar a {
	color: var(--gg-ink);
}

.gg-ig-sidebar a:hover,
.gg-ig-sidebar a:focus {
	color: var(--gg-ink);
}

.gg-ig-sidebar .widget {
	margin-bottom: 30px;
}

.gg-ig-sidebar .widget:first-of-type {
	margin-bottom: 20px;
}

.gg-ig-sidebar .widget-title,
.gg-ig-sidebar .widgettitle,
.gg-ig-sidebar .is-style-gg-sidebar-heading {
	font-size: 1rem;
	font-weight: 600;
	margin-top: 0;
	margin-bottom: 5px;
}

.gg-ig-sidebar .widget ul {
	list-style: none;
	padding: 0;
	margin-top: 0;
}

.gg-ig-sidebar .widget li {
	margin-bottom: 6px;
	line-height: 1;
}

.gg-ig-sidebar .widget-area a {
	font-size: 0.85rem;
	color: var(--gg-ink);
	text-decoration: none;
}

.gg-ig-sidebar .widget-area a:hover,
.gg-ig-sidebar .widget-area a:focus {
	color: var(--gg-link);
	text-decoration: underline;
}

/* Sidebar mailer */
#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody,
#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody {
	padding: 0;
}

#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-formContent.horozintalForm {
	padding: 0;
}

#primary .gg-ig-sidebar .ml-form-formContent.horozintalForm .ml-form-horizontalRow {
	display: flex;
	align-items: center;
	height: auto;
}

#primary .gg-ig-sidebar .ml-form-formContent.horozintalForm .ml-form-horizontalRow .horizontal-fields {
	padding: 0;
	margin: 0 !important;
}

#primary .gg-ig-sidebar .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal,
#primary .gg-ig-sidebar .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal {
	width: auto;
	float: none;
}

#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-block-form .ml-field-group {
	margin-right: -5px;
}

#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input {
	height: var(--gg-sidebar-input-height);
	padding: 10px 15px 10px 10px;
	border-color: var(--gg-accent);
	border-radius: var(--gg-radius-input) 0 0 var(--gg-radius-input);
}

#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input:focus {
	border-color: var(--gg-accent-2);
	outline: none;
}

#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button {
	height: var(--gg-sidebar-input-height);
	padding: 0px 10px !important;
	border-radius: 0 var(--gg-radius-input) var(--gg-radius-input) 0;
	background: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent-2) 100%) !important;
	color: var(--gg-accent-text) !important;
	border-color: var(--gg-accent);
}

#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button:hover {
	background: var(--gg-accent) !important;
	color: var(--gg-accent-text) !important;
	border-color: var(--gg-accent) !important;
}

#primary .gg-ig-sidebar .ml-subscribe-caption {
	font-size: 0.75rem;
	color: var(--gg-text-small);
	margin: -4px 0 0 0;
}

#primary .gg-ig-sidebar .ml-subscribe-caption a {
	font-size: 0.75rem;
	color: var(--gg-ink);
}

/* Content area — offset from fixed sidebar */
.gg-ig-content {
	margin-left: var(--gg-sidebar-width);
	width: calc(100% - var(--gg-sidebar-width));
	max-width: 800px;
	padding-inline: 120px;
}

/* Mobile toggle button — hidden on desktop */
.mobile-actions {
	display: none;
}

/* ── Tablet ── */
@media (max-width: 950px) {
	.gg-ig-content {
		padding-inline: 60px;
	}
}

/* ── Mobile ── */
@media (max-width: 767px) {

	/* Sidebar collapses to top bar */
	.gg-ig-sidebar {
		width: 100%;
		height: auto;
		border-right: none;
		padding: 0.5rem 1rem 0;
		overflow: visible;
		background: var(--gg-bg);
	}

	.admin-bar .gg-ig-sidebar {
		height: auto;
	}

	.gg-ig-sidebar::before,
	.gg-ig-sidebar::after {
		display: none;
	}

	/* Header row becomes the stripe bearer */
	#header-top {
		margin-bottom: 0;
		padding-bottom: 20px;
		position: relative;
	}

	#header-top::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: -20px;
		width: calc(100% + 40px);
		height: 7px;
		background-color: var(--gg-accent);
		border-top: 7px solid var(--gg-accent-2);
		box-sizing: content-box;
	}

	#header-top::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 14px;
		left: -20px;
		width: calc(100% + 40px);
		height: 1px;
		background: var(--gg-ink);
	}

	.gg-ig-sidebar .widget-area {
		display: none;
	}

	.site-header .navbar-toggler svg,
	#menu-open svg,
	#menu-close svg {
		width: 30px;
		height: 30px;
		stroke-width: 2.5;
	}

	/* Content fills full width */
	.gg-ig-content {
		margin-left: 0;
		width: 100%;
		padding: 20px 30px 0;
		margin-top: 70px;
	}

	.mobile-actions {
		display: flex;
	}

	/* Sidebar drawer open state */
	body.sidebar-open .gg-ig-sidebar {
		height: 100vh;
		overflow-y: auto;
		z-index: 9999;
	}

	body.admin-bar.sidebar-open .gg-ig-sidebar {
		height: calc(100vh - var(--wp-admin--admin-bar--height, 46px));
	}

	body.sidebar-open #header-top {
		position: sticky;
		top: 0;
		background: var(--gg-bg);
		z-index: 1;
	}

	body.sidebar-open .gg-ig-sidebar .widget-area {
		display: block;
		padding-top: 20px;
		padding-bottom: 200px;
	}

	body.sidebar-open #menu-open {
		display: none;
	}

	body.sidebar-open #menu-close {
		display: flex;
	}

	/* Sidebar mailer — force horizontal layout on mobile */
	#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-mobileButton-horizontal {
		display: none !important;
	}

	#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow .ml-button-horizontal {
		display: block !important;
	}

	#primary .gg-ig-sidebar .ml-form-formContent.horozintalForm .ml-form-horizontalRow {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		width: 100%;
	}

	#primary .gg-ig-sidebar .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !important;
	}

	#primary .gg-ig-sidebar .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	#primary .gg-ig-sidebar .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button {
		width: auto !important;
	}
}

/*--------------------------------------------------------------
# Blog — Listing
# Flow: archive header → post image → title → summary → footer
--------------------------------------------------------------*/

/* Archive header banner */
.gg-archive-header {
	border: 2px solid var(--gg-accent-2);
	padding: 30px;
	margin: 0 -20px 20px;
}

.gg-archive-title {
	font-size: 1rem;
	margin: 0;
}

.gg-archive-desc {
	margin: 10px 0 0;
}

/* Hide the blog index title (shown in page editor, not on front) */
body.blog .entry-title:not(article .entry-title) {
	display: none;
}

/* Post item */
.gg-post-image img {
	width: 100%;
}

body.blog .gg-post-image img,
body.archive .gg-post-image img {
	aspect-ratio: 3 / 1;
	object-fit: var(--gg-listing-img-fit);
}

.gg-post .entry-title {
	font-size: clamp(1.4rem, 4vw, 2.22rem);
	line-height: 1.1;
	margin-top: 5px;
	margin-bottom: 0;
}

.gg-post .entry-title a {
	color: var(--gg-ink);
	text-decoration: none;
}

.gg-post .entry-title a:hover,
.gg-post .entry-title a:focus {
	color: var(--gg-ink);
	text-decoration: underline;
}

.gg-post .entry-summary p,
.gg-post .entry-content p {
	margin-bottom: 1.2rem;
}

.gg-post .entry-summary a {
	color: var(--gg-ink);
	text-decoration: none;
}

.gg-post .entry-summary a:hover,
.gg-post .entry-summary a:focus {
	color: var(--gg-ink);
	text-decoration: underline;
}

.gg-post .entry-footer {
	border-top: 1px solid var(--gg-ink);
}

.gg-post .entry-footer time {
	color: var(--gg-ink);
	font-family: var(--gg-font-heading);
	text-transform: uppercase;
	line-height: 1.75;
	font-weight: 600;
}

/* Blog footer — offset from sidebar */
body.blog .site-footer,
body.single .site-footer,
body.archive .site-footer,
body.search-results .site-footer {
	margin-left: var(--gg-sidebar-width);
	margin-top: 60px;
}

/* ── Mobile ── */
@media (max-width: 767px) {

	.gg-archive-header {
		margin-left: 0;
		margin-right: 0;
	}

	body.blog .site-footer,
	body.single .site-footer,
	body.archive .site-footer,
	body.search-results .site-footer {
		margin-left: 0;
	}

	.site-footer {
		padding-bottom: 100px;
	}
}

/*--------------------------------------------------------------
# Blog — Single
# Flow: entry content → post nav → subscribe modal → comments
--------------------------------------------------------------*/

/* Entry content spacing */
.entry-footer .cat-links,
.entry-footer .tags-links {
	display: inline-block;
	margin-right: 1rem;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

.entry-content ul,
.entry-content ol {
	padding-left: 2.5rem;
	margin-bottom: 1.25rem;
}

.entry-content li {
	line-height: 1.45;
	margin-bottom: 0.8em;
}

.entry-content a {
	text-decoration: none;
}

.entry-content img {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

/* Post nav — prev/next */
.gg-post-nav {
	display: flex;
	gap: 1rem;
	margin-top: 30px;
	border-top: 1px solid var(--gg-ink);
	padding-top: 20px;
}

.gg-post-nav__btn {
	display: block;
	width: clamp(90px, 30%, 250px);
	padding: var(--gg-btn-padding-y) var(--gg-btn-padding-x);
	background: var(--gg-ink);
	color: var(--gg-accent-text);
	text-align: center;
	font-family: var(--gg-font-body);
	font-size: var(--gg-btn-font-size);
	font-weight: var(--gg-btn-font-weight);
	text-decoration: none;
	border-radius: var(--gg-radius);
	transition: background 0.2s;
}

a.gg-post-nav__btn:hover,
a.gg-post-nav__btn:focus {
	background: var(--gg-ink-hover);
	color: var(--gg-accent-text);
	text-decoration: none;
}

/* Subscribe modal */
.gg-subscribe-modal {
	border: none;
	border-radius: var(--gg-radius-input);
	padding: 2.5rem;
	position: relative;
}

.gg-subscribe-modal .modal-body {
	padding: 0;
}

.gg-subscribe-modal .modal-body h2 {
	font-size: 1.67rem;
	font-weight: 600;
	color: var(--gg-ink);
	margin-bottom: 1rem;
}

.gg-subscribe-modal .modal-body p {
	font-style: italic;
	color: var(--gg-text);
	margin-bottom: 1.5rem;
}

#gg-irsh-subscribe-modals .gg-subscribe-modal .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input {
	border-color: var(--gg-accent) !important;
}

#gg-irsh-subscribe-modals .gg-subscribe-modal .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button {
	background: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent-2) 100%) !important;
	color: var(--gg-accent-text) !important;
	border-color: var(--gg-accent) !important;
}

#gg-irsh-subscribe-modals .gg-subscribe-modal .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button:hover {
	background: var(--gg-accent) !important;
	border-color: var(--gg-accent) !important;
}

/* Comments */
.comment-list .comment,
.comment-list .pingback {
	padding: 1.25rem 0;
	border-top: 1px solid var(--gg-border);
}

.comment-list .children {
	list-style: none;
	padding-left: 2rem;
}

.comment-author {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.4rem;
}

.comment-author img {
	border-radius: 50%;
	width: 36px;
	height: 36px;
}

.comment-author .fn {
	font-weight: 600;
}

.comment-meta {
	font-size: 0.78rem;
	color: var(--bs-secondary-color);
	margin-bottom: 0.5rem;
}

.comment-meta a {
	color: var(--bs-secondary-color);
}

.reply a {
	font-size: 0.78rem;
}

.gg-comment-form .comment-notes {
	font-size: 0.875rem;
	color: var(--bs-secondary-color);
	margin-bottom: 1rem;
}

.gg-comment-form .form-submit {
	margin-top: 0.5rem;
}


/* ================================================================
   PAGES (404, search)
================================================================ */

body.error404 .site-main {
	padding-top: 30px;
}

body.error404 .gg-ig-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 75vh;
}

body.error404 .site-footer {
	margin-left: var(--gg-sidebar-width);
	margin-top: 60px;
}

@media (max-width: 767px) {
	body.error404 .gg-ig-content {
		min-height: 60vh;
	}

	body.error404 .site-footer {
		margin-left: 0;
	}
}


/* ================================================================
   HOMEPAGE V1
================================================================ */

/* Hide site header and footer on this template */
.page-template-homepage-v1 .site-header,
.page-template-homepage-v1 .site-footer {
	display: none;
}

body.page-template-homepage-v1 #page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body.page-template-homepage-v1.admin-bar #page {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 46px));
}

body.page-template-homepage-v1 #primary {
	flex: 1;
	display: flex;
	padding-top: 0;
}

/* Page wrapper */
.gg-homepage-v1 {
	--hp-accent: var(--gg-accent);
	--hp-accent-dark: var(--gg-accent-2);
	--hp-bg: #FAFAF7;

	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--hp-bg);
	color: var(--gg-ink);
	padding: 3rem 0;
}

.gg-homepage-v1-inner {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* Logo */
.gg-homepage-v1-logo {
	margin-bottom: 3rem;
}

.gg-homepage-v1-logo img,
.gg-homepage-v1-logo .custom-logo {
	width: 260px;
	height: auto;
	display: block;
}

.gg-homepage-v1-site-name {
	font-family: var(--gg-font-heading);
	font-weight: 600;
	font-size: 1.33rem;
}

/* Heading + subtext */
.gg-homepage-v1-heading {
	font-size: clamp(2.5rem, 7vw, 3.11rem);
	line-height: 1.05;
	margin: 0;
}

.gg-homepage-v1-subtext {
	line-height: 1.625;
	color: var(--gg-text);
	margin-top: 2.5rem;
	margin-bottom: 0;
}

/* Mailer / CTA */
.gg-homepage-v1-cta {
	margin-top: 3rem;
	display: flex;
	justify-content: center;
}

.gg-homepage-v1-form {
	display: flex;
	align-items: center;
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper {
	background-color: transparent;
	border: none;
	box-shadow: none;
	width: auto;
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody,
#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody {
	padding: 0;
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-formContent.horozintalForm {
	padding: 0;
}

#primary .gg-homepage-v1-form .ml-form-formContent.horozintalForm .ml-form-horizontalRow {
	display: flex;
	align-items: center;
	height: auto;
}

#primary .gg-homepage-v1-form .ml-form-formContent.horozintalForm .ml-form-horizontalRow .horizontal-fields {
	padding: 0;
	margin: 0 !important;
}

#primary .gg-homepage-v1-form .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal,
#primary .gg-homepage-v1-form .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal {
	width: auto;
	float: none;
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-block-form .ml-field-group {
	margin-right: -5px;
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input {
	height: 2.5rem;
	width: 270px;
	padding: 10px 15px 10px 10px;
	border-color: var(--gg-accent);
	border-radius: var(--gg-radius-input) 0 0 var(--gg-radius-input);
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input:focus {
	border-color: var(--gg-accent-2);
	outline: none;
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button {
	height: 2.5rem;
	white-space: nowrap;
	padding: 0px 10px !important;
	border-radius: 0 var(--gg-radius-input) var(--gg-radius-input) 0;
	background: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent-2) 100%) !important;
	color: var(--gg-accent-text) !important;
	border-color: var(--gg-accent);
}

#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button:hover {
	background: var(--gg-accent) !important;
	color: var(--gg-accent-text) !important;
	border-color: var(--gg-accent) !important;
}

.gg-homepage-v1-subscribe-caption {
	color: var(--gg-text-small);
	font-size: 0.75rem;
	margin: -4px 0 0;
}

.gg-homepage-v1-subscribe-caption a {
	color: var(--gg-ink);
}

/* Blog link below mailer */
.gg-homepage-v1-blog-cta {
	margin-top: 2rem;
}

.gg-homepage-v1-blog-link {
	font-family: var(--gg-font-body);
	font-size: var(--gg-btn-font-size);
	font-weight: var(--gg-btn-font-weight);
	color: var(--hp-accent-dark);
	text-decoration: none;
	transition: color 0.2s;
}

.gg-homepage-v1-blog-link:hover,
.gg-homepage-v1-blog-link:focus {
	color: var(--hp-accent);
	text-decoration: none;
}

/* Footer caption */
.gg-homepage-v1-caption {
	color: var(--gg-text-small);
	margin-top: 5rem;
	margin-bottom: 0;
}

/* ── Mobile ── */
@media (max-width: 767px) {

	.gg-homepage-v1-logo img,
	.gg-homepage-v1-logo .custom-logo {
		width: 320px;
	}

	.gg-homepage-v1-cta {
		width: 100%;
	}

	.gg-homepage-v1-form {
		display: block;
		width: 100%;
	}

	#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper {
		width: 100%;
	}

	/* Force horizontal layout */
	#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-mobileButton-horizontal {
		display: none !important;
	}

	#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow .ml-button-horizontal {
		display: block !important;
	}

	#primary .gg-homepage-v1-form .ml-form-formContent.horozintalForm .ml-form-horizontalRow {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		width: 100%;
	}

	#primary .gg-homepage-v1-form .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !important;
	}

	#primary .gg-homepage-v1-form .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button {
		width: auto !important;
	}

	#primary .gg-homepage-v1-form .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input {
		width: 100% !important;
	}
}
