/* GCR site skin for GeneratePress — loaded after the theme's own CSS.
   jade #0B7A68 · ink #0F1E1B · mango #F4A825 · paper #F6F4EE · coral #B4421F
   Bricolage Grotesque 800 (headlines) · Inter (body) · JetBrains Mono (figures) */

/* ---------- base ---------- */
body {
	background-color: var(--gcr-paper);
	color: var(--gcr-ink);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea { font-family: var(--gcr-f-body); }
a { color: var(--gcr-jade); text-decoration-color: rgba(11, 122, 104, .35); text-underline-offset: 3px; }
a:hover, a:focus, a:active { color: var(--gcr-ink); text-decoration-color: var(--gcr-mango); }
::selection { background: var(--gcr-mango-tint); color: var(--gcr-ink); }

h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .widget-title {
	font-family: var(--gcr-f-head);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--gcr-ink);
	line-height: 1.15;
}
h1 { font-size: 40px; }
h2 { font-size: 30px; }
h3 { font-size: 22px; letter-spacing: -0.01em; }
h4 { font-size: 18px; letter-spacing: -0.005em; }
.entry-content h2 { margin-top: 1.6em; }
.entry-content h2::before {
	content: ""; display: block; width: 28px; height: 4px; border-radius: 2px;
	background: var(--gcr-mango); margin-bottom: 12px;
}
.entry-content strong { color: var(--gcr-ink); }
code, kbd, pre, tt, var { font-family: var(--gcr-f-mono); }
.entry-content code { background: var(--gcr-jade-tint); color: var(--gcr-ink); padding: 1px 6px; border-radius: 4px; font-size: .86em; }

/* ---------- header ---------- */
.site-header { background: var(--gcr-paper); border-bottom: 1px solid var(--gcr-line); }
.site-header .inside-header { padding-top: 26px; padding-bottom: 22px; }
.site-header .main-title { margin: 0; line-height: 0; font-size: 0; }
.site-header .main-title a {
	display: block;
	width: 330px; height: 46px; max-width: 80vw;
	background: var(--gcr-logo) left center / contain no-repeat;
	color: transparent !important;
	font-size: 0;
	overflow: hidden;
	white-space: nowrap;
}
.site-header .site-description {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* ---------- navigation ---------- */
.main-navigation,
.main-navigation ul ul { background-color: var(--gcr-ink); }
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items,
.main-navigation .mobile-bar-items a {
	color: var(--gcr-paper);
	font-family: var(--gcr-f-body);
	font-weight: 600;
	font-size: 15px;
}
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a {
	color: var(--gcr-paper);
	background-color: var(--gcr-ink-2);
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--gcr-jade-lt);
	background-color: transparent;
	box-shadow: inset 0 -3px 0 var(--gcr-mango);
}
.main-navigation .main-nav ul ul li a { font-size: 14px; font-weight: 500; }
.main-navigation .main-nav ul ul li a:hover { color: var(--gcr-mango) !important; }
.main-navigation ul ul { border-top: 2px solid var(--gcr-jade); box-shadow: 0 10px 24px rgba(15, 30, 27, .25); }
.navigation-search input[type="search"],
.navigation-search input[type="search"]:active,
.navigation-search input[type="search"]:focus { background: var(--gcr-ink-2); color: var(--gcr-paper); }

/* mobile header (GP Premium) — compact logo on ink */
.navigation-branding .main-title { line-height: 0; font-size: 0; margin: 0; }
.navigation-branding .main-title a {
	display: block;
	width: 126px; height: 34px; margin: 13px 0;
	background: var(--gcr-logo-compact-dark) left center / contain no-repeat;
	color: transparent !important;
	font-size: 0; overflow: hidden; white-space: nowrap;
}

/* ---------- containers & cards ---------- */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .container,
.inside-page-header {
	background-color: var(--gcr-white);
	border: 1px solid var(--gcr-line);
	border-radius: 14px;
}
.separate-containers .inside-article { overflow: hidden; }
.sidebar .widget,
.separate-containers .site-main > *:not(.generate-columns-container),
.separate-containers .generate-columns .inside-article { border-radius: 14px; }
.sidebar .widget { background: var(--gcr-white); border: 1px solid var(--gcr-line); font-size: 15px; }

/* blog grid cards */
.generate-columns .inside-article { transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.generate-columns .inside-article:hover {
	border-color: var(--gcr-jade-line);
	box-shadow: 0 10px 26px rgba(15, 30, 27, .08);
	transform: translateY(-2px);
}
.generate-columns .entry-title { font-size: 21px; letter-spacing: -0.015em; }
.entry-title a { color: var(--gcr-ink); text-decoration: none; }
.entry-title a:hover { color: var(--gcr-jade); }
.entry-summary { color: var(--gcr-ink-2); font-size: 15.5px; }

.entry-meta, .entry-meta a, .posted-on, .byline, .cat-links, .tags-links, .comments-link {
	color: var(--gcr-muted);
	font-size: 13px;
}
.entry-meta a:hover { color: var(--gcr-jade); }
.posted-on .updated {
	font-family: var(--gcr-f-mono);
	font-size: 12px;
	letter-spacing: .01em;
}
.posted-on .updated:before { font-family: var(--gcr-f-body); }
.cat-links a, .tags-links a {
	display: inline-block; text-decoration: none;
	background: var(--gcr-jade-tint); color: var(--gcr-jade);
	border-radius: 999px; padding: 1px 9px; margin: 2px 2px 2px 0;
	font-size: 12px; font-weight: 600;
}
.cat-links a:hover, .tags-links a:hover { background: var(--gcr-jade); color: var(--gcr-white); }
.gp-icon { color: var(--gcr-muted-dk); }

a.read-more,
.read-more-container a {
	font-weight: 600;
	color: var(--gcr-jade);
}
a.read-more::after { content: " →"; }

/* single post */
.single .entry-header .entry-title { font-size: 40px; letter-spacing: -0.025em; }
.single .featured-image img, .page-header-image-single img { border-radius: 14px; }
.entry-content > p, .entry-content > ul, .entry-content > ol { max-width: 72ch; }
.entry-content ul li::marker, .entry-content ol li::marker { color: var(--gcr-jade); font-weight: 700; }
.entry-content blockquote {
	border-left: 4px solid var(--gcr-mango);
	background: var(--gcr-mango-tint);
	border-radius: 0 10px 10px 0;
	padding: 16px 20px;
	font-style: normal;
}
.entry-content table { border-color: var(--gcr-line); }
.entry-content th { background: var(--gcr-paper); font-weight: 700; }

/* existing table-of-contents blocks */
.toc-menu, #ez-toc-container {
	background: var(--gcr-paper) !important;
	border: 1px solid var(--gcr-line) !important;
	border-left: 4px solid var(--gcr-jade) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}
#ez-toc-container .ez-toc-title { font-family: var(--gcr-f-head); font-weight: 800; color: var(--gcr-ink); }
#ez-toc-container a { color: var(--gcr-jade); }

/* ---------- sidebar ---------- */
.sidebar .widget-title {
	font-size: 13px; text-transform: uppercase; letter-spacing: .08em;
	font-family: var(--gcr-f-body); font-weight: 700; color: var(--gcr-muted);
	padding-bottom: 10px; border-bottom: 2px solid var(--gcr-mango); display: inline-block;
}
.sidebar .widget ul li { border-bottom: 1px solid var(--gcr-line-soft); padding: 6px 0; margin: 0; }
.sidebar .widget ul li:last-child { border-bottom: 0; }
.sidebar .widget a { color: var(--gcr-ink); text-decoration: none; }
.sidebar .widget a:hover { color: var(--gcr-jade); }
.tagcloud a, .wp-block-tag-cloud a {
	display: inline-block; font-size: 12.5px !important; font-weight: 600;
	background: var(--gcr-paper); border: 1px solid var(--gcr-line);
	color: var(--gcr-ink) !important; border-radius: 999px; padding: 3px 10px; margin: 0 4px 6px 0;
	text-decoration: none;
}
.tagcloud a:hover, .wp-block-tag-cloud a:hover { background: var(--gcr-jade); border-color: var(--gcr-jade); color: var(--gcr-white) !important; }

/* ---------- buttons & forms ---------- */
button, html input[type="button"], input[type="reset"], input[type="submit"],
a.button, a.wp-block-button__link:not(.has-background), .wp-block-button .wp-block-button__link:not(.has-background) {
	background-color: var(--gcr-jade);
	color: var(--gcr-white);
	border-radius: 10px;
	font-weight: 700;
	font-family: var(--gcr-f-body);
	border: 0;
}
button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover,
a.button:hover, a.wp-block-button__link:not(.has-background):hover,
button:focus, input[type="submit"]:focus, a.button:focus {
	background-color: var(--gcr-ink);
	color: var(--gcr-paper);
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"],
input[type="tel"], input[type="number"], textarea, select {
	background: var(--gcr-white);
	border: 1px solid var(--gcr-line);
	border-radius: 10px;
	color: var(--gcr-ink);
}
input:focus, textarea:focus, select:focus {
	border-color: var(--gcr-jade) !important;
	outline: 3px solid rgba(11, 122, 104, .18);
	outline-offset: 0;
}
:focus-visible { outline: 3px solid var(--gcr-mango); outline-offset: 2px; }

/* pagination */
.paging-navigation .page-numbers {
	display: inline-block; min-width: 36px; text-align: center;
	padding: 6px 10px; border-radius: 8px; font-weight: 600; text-decoration: none;
	font-family: var(--gcr-f-mono); font-size: 14px;
}
.paging-navigation .page-numbers.current { background: var(--gcr-ink); color: var(--gcr-paper); }
.paging-navigation a.page-numbers:hover { background: var(--gcr-jade-tint); }

/* post navigation */
.post-navigation a { font-weight: 600; }

/* ---------- footer ---------- */
.site-info {
	background-color: var(--gcr-ink);
	color: var(--gcr-muted-dk);
	border-top: 4px solid var(--gcr-jade);
	font-size: 13.5px;
}
.site-info a { color: var(--gcr-paper); }
.site-info a:hover { color: var(--gcr-mango); }
.site-info .inside-site-info { padding-top: 26px; padding-bottom: 26px; }
.gcr-foot { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: center; }
.gcr-foot strong { font-family: var(--gcr-f-head); color: var(--gcr-paper); font-size: 16px; letter-spacing: -0.01em; }
.gcr-foot__mark { width: 22px; height: 22px; display: inline-block; vertical-align: middle; }
.footer-widgets { background: var(--gcr-ink-2); color: var(--gcr-muted-dk); }
.footer-widgets a { color: var(--gcr-paper); }
.footer-widgets .widget-title { color: var(--gcr-paper); }

.generate-back-to-top, .generate-back-to-top:visited { background: var(--gcr-jade); color: var(--gcr-white); border-radius: 10px; }
.generate-back-to-top:hover, .generate-back-to-top:focus { background: var(--gcr-ink); color: var(--gcr-mango); }

/* nav fits on one row with the search icon */
@media (min-width: 769px) {
	.main-navigation .main-nav ul li a { padding-left: 14px; padding-right: 14px; font-size: 14.5px; }
	.main-navigation .menu-bar-item > a, .main-navigation li.search-item > a { padding-left: 14px; padding-right: 14px; }
}
/* blog cards: full-bleed image, pill lists without commas */
.generate-columns .post-image img { border-radius: 0; }
.cat-links, .tags-links { font-size: 0; }
.cat-links .gp-icon, .tags-links .gp-icon { font-size: 13px; margin-right: 6px; }

/* ---------- small screens ---------- */
@media (max-width: 768px) {
	body { font-size: 16px; }
	h1, .single .entry-header .entry-title { font-size: 30px; }
	h2 { font-size: 24px; }
	.generate-columns .entry-title { font-size: 19px; }
	.separate-containers .inside-article { border-radius: 12px; }
	#mobile-header { border-bottom: 3px solid var(--gcr-jade); }
}
