/*
Theme Name: wolfthomasx — Avada Child
Description: Avada child theme applying the wolfthomasx corporate identity (Field Journal system) — warm paper & ink, a single quiet green accent, and the Newsreader / Hanken Grotesk / Space Mono type system. Brand Guidelines Edition 01 · 2026.
Author: Thomas Wolf
Author URI: https://wolfthomasx.com
Template: Avada
Version: 1.2.0
Text Domain: Avada
*/

/* =====================================================================
   wolfthomasx · Brand tokens
   90% paper · 8% ink · 2% green — keep the green precious.
   ===================================================================== */
:root {
	--wtx-ink:        #1A1610;
	--wtx-ink-soft:   #423A2E;
	--wtx-paper:      #F2ECE0;
	--wtx-paper-2:    #FBF7EE;
	--wtx-green:      #2F6B54;
	--wtx-green-deep: #234F3F;
	--wtx-green-tint: #E4EBE4;
	--wtx-sage:       #8E9488;
	--wtx-muted:      #8E8475;
	--wtx-line:       #E2D9C9;

	--wtx-serif:  "Newsreader", Georgia, "Times New Roman", serif;
	--wtx-sans:   "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--wtx-mono:   "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

/* =====================================================================
   Base
   ===================================================================== */
html { -webkit-text-size-adjust: 100%; }

body,
body.fusion-body {
	background-color: var(--wtx-paper);
	color: var(--wtx-ink);
	font-family: var(--wtx-serif);
	font-size: 19px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

#wrapper,
#main,
.fusion-main-wrapper {
	background-color: var(--wtx-paper);
}

::selection { background: var(--wtx-green); color: var(--wtx-paper-2); }

/* Content column reads like an essay */
.post-content,
.fusion-post-content,
.fusion-content-tb p,
.fusion-text p,
.post-content p {
	font-family: var(--wtx-serif);
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--wtx-ink-soft);
}

/* =====================================================================
   Headings — Newsreader, light & tight
   ===================================================================== */
h1, h2, h3, h4, h5, h6,
.fusion-title h1, .fusion-title h2, .fusion-title h3,
.fusion-title h4, .fusion-title h5, .fusion-title h6,
.entry-title, .fusion-post-title,
.fusion-page-title-bar h1 {
	font-family: var(--wtx-serif) !important;
	color: var(--wtx-ink);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.12;
}

h1, .fusion-page-title-bar h1, .entry-title {
	font-weight: 300;
	font-size: clamp(2rem, 4.4vw, 3.1rem);
	letter-spacing: -0.018em;
}
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: 1.55rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.05rem; }
h6 {
	font-family: var(--wtx-sans) !important;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wtx-muted);
}

/* Pull-quotes / blockquotes — green hairline, italic serif */
blockquote,
.fusion-blockquote {
	font-family: var(--wtx-serif);
	font-style: italic;
	font-weight: 300;
	font-size: 1.35rem;
	line-height: 1.4;
	color: var(--wtx-ink);
	border-left: 2px solid var(--wtx-green);
	background: transparent;
	padding: 0.2em 0 0.2em 1.1rem;
	margin: 1.8rem 0;
}

/* =====================================================================
   Links — green, with a quiet underline; deep green on hover
   ===================================================================== */
a,
.fusion-content-tb a,
.post-content a {
	color: var(--wtx-green);
	text-decoration: none;
	border-bottom: 1px solid rgba(47, 107, 84, 0.32);
	transition: color 0.2s ease, border-color 0.2s ease;
}
a:hover, a:focus {
	color: var(--wtx-green-deep);
	border-bottom-color: var(--wtx-green-deep);
}
/* Don't underline links that wrap images / buttons / menu items */
a:has(> img), a:has(> .fusion-button),
.fusion-button, .menu a, .fusion-menu a,
.fusion-image-wrapper a, a.fusion-no-lightbox {
	border-bottom: none;
}

/* Meta strings — mono, muted (dates, reading time, categories) */
.fusion-meta-info, .post-meta, .fusion-single-line-meta,
.fusion-blog-meta, .meta, .fusion-date-and-formats {
	font-family: var(--wtx-mono) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wtx-muted) !important;
}

/* =====================================================================
   Buttons — solid green primary; ink outline secondary
   ===================================================================== */
.fusion-button.button-default,
.fusion-button,
button, input[type="button"], input[type="submit"], .button {
	font-family: var(--wtx-sans) !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	text-transform: none;
	border-radius: 6px !important;
	border: 1px solid var(--wtx-green) !important;
	background: var(--wtx-green) !important;
	color: var(--wtx-paper-2) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	padding: 0.7em 1.4em !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.fusion-button.button-default:hover,
.fusion-button:hover,
button:hover, input[type="submit"]:hover, .button:hover {
	background: var(--wtx-green-deep) !important;
	border-color: var(--wtx-green-deep) !important;
	color: var(--wtx-paper-2) !important;
}

/* Outline variant (Avada "Custom" / flat dark) → ink outline */
.fusion-button.button-flat.button-dark,
.fusion-button.fusion-button-outline {
	background: transparent !important;
	color: var(--wtx-ink) !important;
	border: 1px solid var(--wtx-ink) !important;
}
.fusion-button.button-flat.button-dark:hover,
.fusion-button.fusion-button-outline:hover {
	background: var(--wtx-ink) !important;
	color: var(--wtx-paper-2) !important;
}

/* =====================================================================
   Header & main navigation
   ===================================================================== */
.fusion-header-wrapper .fusion-header,
.fusion-header {
	background-color: var(--wtx-paper-2) !important;
	border-bottom: 1px solid var(--wtx-line);
	box-shadow: none !important;
}
.fusion-logo a {
	font-family: var(--wtx-serif);
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	color: var(--wtx-ink);
	border-bottom: none;
}
/* Main menu items */
.fusion-main-menu > ul > li > a,
.fusion-main-menu .fusion-menu-link {
	font-family: var(--wtx-sans) !important;
	font-weight: 500;
	font-size: 0.95rem !important;
	letter-spacing: 0.01em;
	text-transform: none;
	color: var(--wtx-ink-soft) !important;
	border-bottom: none;
}
.fusion-main-menu > ul > li > a:hover,
.fusion-main-menu > ul > li.current-menu-item > a {
	color: var(--wtx-green) !important;
}
/* Highlight bar under active items */
.fusion-main-menu .fusion-menu-highlight {
	background-color: var(--wtx-green) !important;
}
/* Dropdowns */
.fusion-main-menu .sub-menu {
	background: var(--wtx-paper-2) !important;
	border: 1px solid var(--wtx-line) !important;
}
.fusion-main-menu .sub-menu li a {
	font-family: var(--wtx-sans) !important;
	color: var(--wtx-ink-soft) !important;
	border-bottom: 1px solid var(--wtx-line);
}

/* Page title bar */
.fusion-page-title-bar {
	background-color: var(--wtx-paper-2) !important;
	border-bottom: 1px solid var(--wtx-line) !important;
}
.fusion-page-title-bar .fusion-page-title-secondary,
.fusion-breadcrumbs, .fusion-breadcrumbs a {
	font-family: var(--wtx-mono) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.04em;
	color: var(--wtx-muted) !important;
}

/* =====================================================================
   Blog — list & single
   ===================================================================== */
.fusion-blog-layout-large .fusion-post-content-wrapper,
article.post {
	border-color: var(--wtx-line) !important;
}
.fusion-post-title a,
.blog-shortcode-post-title a,
.entry-title a {
	color: var(--wtx-ink) !important;
	border-bottom: none;
}
.fusion-post-title a:hover { color: var(--wtx-green) !important; }

/* Category / tag pills */
.fusion-meta-info-wrapper .fusion-inline-sep,
.post-content .meta-info a, .fusion-tags a, .post_categories a {
	font-family: var(--wtx-sans) !important;
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wtx-green) !important;
	border-bottom: none;
}

/* Featured image frames */
.fusion-post-content .fusion-image-wrapper img,
.wp-post-image, .fusion-flexslider img {
	border-radius: 6px;
}

/* =====================================================================
   Forms & inputs
   ===================================================================== */
input[type="text"], input[type="email"], input[type="url"],
input[type="password"], input[type="search"], input[type="tel"],
input[type="number"], textarea, select,
.fusion-form-input, .fusion-form-field input {
	font-family: var(--wtx-sans) !important;
	background: var(--wtx-paper-2) !important;
	border: 1px solid var(--wtx-line) !important;
	border-radius: 6px !important;
	color: var(--wtx-ink) !important;
	box-shadow: none !important;
	padding: 0.65em 0.85em !important;
}
input:focus, textarea:focus, select:focus {
	border-color: var(--wtx-green) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(47, 107, 84, 0.14) !important;
}
::placeholder { color: var(--wtx-muted) !important; opacity: 1; }

/* =====================================================================
   Footer
   ===================================================================== */
.fusion-footer-widget-area,
.fusion-footer {
	background-color: var(--wtx-ink) !important;
	border-top: none !important;
}
.fusion-footer-widget-area,
.fusion-footer-widget-area h1, .fusion-footer-widget-area h2,
.fusion-footer-widget-area h3, .fusion-footer-widget-area h4,
.fusion-footer-widget-area p, .fusion-footer-widget-area li {
	color: #C9C1B2 !important;
}
.fusion-footer-widget-area h3, .fusion-footer-widget-area .widget-title {
	font-family: var(--wtx-sans) !important;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #9B9281 !important;
}
.fusion-footer-widget-area a {
	color: #E7E1D4 !important;
	border-bottom: none;
}
.fusion-footer-widget-area a:hover { color: #9FD9BF !important; }

.fusion-footer-copyright-area {
	background-color: var(--wtx-ink) !important;
	border-top: 1px solid #322B22 !important;
}
.fusion-footer-copyright-area,
.fusion-copyright-notice, .fusion-copyright-notice * {
	font-family: var(--wtx-mono) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.04em;
	color: #8E8475 !important;
}

/* =====================================================================
   Accents & dividers
   ===================================================================== */
hr, .fusion-sep-clear, .sep-single, .fusion-separator .fusion-sep-line {
	border-color: var(--wtx-line) !important;
}
/* Avada highlight / primary-color elements → brand green */
.fusion-highlight, mark {
	background: var(--wtx-green-tint) !important;
	color: var(--wtx-green-deep) !important;
	padding: 0.05em 0.3em;
	border-radius: 3px;
}
.fusion-progressbar .progress-bar { background-color: var(--wtx-green) !important; }
.pagination .current,
.fusion-pagination .pagination .current {
	background: var(--wtx-green) !important;
	border-color: var(--wtx-green) !important;
	color: var(--wtx-paper-2) !important;
}

/* Back-to-top */
#toTop {
	background: var(--wtx-ink) !important;
	color: var(--wtx-paper-2) !important;
	border-radius: 6px !important;
}
#toTop:hover { background: var(--wtx-green) !important; }

/* =====================================================================
   Widgets (sidebar / newsletter)
   ===================================================================== */
.fusion-widget-area .widget-title, .widget .widget-title h3 {
	font-family: var(--wtx-sans) !important;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wtx-muted) !important;
	border-bottom: 1px solid var(--wtx-line);
	padding-bottom: 0.6em;
}

/* Newsletter-style callout (Avada "Content Box" / "Callout") */
.fusion-content-boxes .content-box-wrapper,
.fusion-callout {
	background: var(--wtx-green-tint) !important;
	border: 1px solid #D2DDD4 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}

/* =====================================================================
   Mobile menu
   ===================================================================== */
.fusion-mobile-menu-design-modern .fusion-mobile-nav-item a {
	font-family: var(--wtx-sans) !important;
	color: var(--wtx-ink-soft) !important;
	border-color: var(--wtx-line) !important;
}
.fusion-mobile-menu-design-modern .fusion-main-menu-icon::before {
	color: var(--wtx-ink) !important;
}

/* =====================================================================
   SINGLE POST — "Ferriss" reading layout
   ---------------------------------------------------------------------
   Reproduces the wolfthomasx Blog Reference (Ferriss) layout on Avada's
   single-post markup: full-bleed featured image, author + meta row, a
   ~720px reading measure, link-rich body, resource lists, the social
   sharing box, the author-info box, and related posts.

   To match the reference, set in Avada → Options:
   • Blog → Single Post → Featured Images: ON, full width
   • Social Sharing Box: ON (Avada → Social Media → Sharing Box)
   • Author Info Box: ON   • Related Posts: ON
   ===================================================================== */

/* Reading measure — center the single-post content column */
.single-post .fusion-content-layout-default .post-content,
.single-post .post-content,
.single-post .fusion-post-content {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.single-post .post-content > *,
.single-post .fusion-post-content > * {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* Full-bleed featured image above the article */
.single-post .fusion-flexslider.fusion-flexslider-loaded,
.single-post .fusion-post-content-container .fusion-flexslider,
.single-post .fusion-single-featured-image,
.single-post .wp-post-image {
	width: 100%;
	max-width: 100%;
	border-radius: 0;
}
.single-post .fusion-single-featured-image img,
.single-post .fusion-flexslider img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 0;
}

/* Post title + category eyebrow */
.single-post .entry-title,
.single-post .fusion-post-title {
	max-width: 720px;
	margin: 0 auto 0.5em;
	font-weight: 300;
	font-size: clamp(2rem, 5vw, 3.25rem);
	line-height: 1.06;
	letter-spacing: -0.017em;
}
.single-post .fusion-single-line-meta .fusion-meta-info-wrapper a,
.single-post .post-content .meta-info a {
	font-family: var(--wtx-sans) !important;
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wtx-green) !important;
	border-bottom: none;
}

/* Author + meta row (Avada "single line meta") */
.single-post .fusion-single-line-meta,
.single-post .fusion-meta-info {
	max-width: 720px;
	margin: 0 auto 2rem;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--wtx-line);
	font-family: var(--wtx-mono) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--wtx-muted) !important;
}

/* First paragraph reads as an intro / "please enjoy" note */
.single-post .post-content > p:first-of-type {
	font-style: italic;
	font-size: 1.2rem;
	line-height: 1.6;
	color: var(--wtx-ink-soft);
}

/* Larger, airier body for single posts */
.single-post .post-content p,
.single-post .fusion-post-content p,
.single-post .post-content li {
	font-family: var(--wtx-serif);
	font-size: 1.2rem;
	line-height: 1.72;
	color: var(--wtx-ink);
}
.single-post .post-content h2 { font-size: clamp(1.6rem, 3vw, 1.95rem); margin: 2.2rem auto 0.7rem; }
.single-post .post-content h3 { font-size: 1.45rem; margin: 1.8rem auto 0.6rem; }

/* Resource list — wrap a styled list/box in a "Selected links" group.
   In the editor, add an Avada Content Box or a plain list inside a
   single-column container with the class .wtx-resources (Element →
   Advanced → CSS Class). */
.wtx-resources {
	max-width: 720px;
	margin: 1.6rem auto 2rem !important;
	border: 1px solid var(--wtx-line);
	border-radius: 9px;
	background: var(--wtx-paper-2);
	padding: 1.6rem 1.8rem;
}
.wtx-resources::before {
	content: "Selected links & gear";
	display: block;
	font-family: var(--wtx-sans);
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wtx-green);
	margin-bottom: 0.9rem;
}
.wtx-resources ul { list-style: none; margin: 0; padding: 0; }
.wtx-resources li {
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--wtx-line);
	font-family: var(--wtx-serif);
	font-size: 1.1rem;
}
.wtx-resources li:last-child { border-bottom: none; }

/* Social sharing box → round outline buttons, green on hover */
.single-post .fusion-sharing-box,
.fusion-social-links-wrapper {
	max-width: 720px;
	margin: 2rem auto;
	border-color: var(--wtx-line) !important;
}
.fusion-sharing-box h4 {
	font-family: var(--wtx-sans) !important;
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wtx-muted) !important;
}
.fusion-sharing-box .fusion-social-network-icon,
.fusion-social-networks .fusion-social-network-icon {
	background: transparent !important;
	border: 1px solid var(--wtx-line) !important;
	color: var(--wtx-muted) !important;
	border-radius: 50% !important;
	transition: all 0.2s ease !important;
}
.fusion-sharing-box .fusion-social-network-icon:hover,
.fusion-social-networks .fusion-social-network-icon:hover {
	background: var(--wtx-green) !important;
	border-color: var(--wtx-green) !important;
	color: var(--wtx-paper-2) !important;
}

/* Author info box */
.single-post .about-author,
.fusion-author {
	max-width: 720px;
	margin: 2.4rem auto 0;
	background: var(--wtx-paper-2) !important;
	border: 1px solid var(--wtx-line) !important;
	border-radius: 9px;
	padding: 1.6rem 1.8rem;
}
.fusion-author .author-avatar img,
.about-author img {
	border-radius: 50% !important;
}
.fusion-author .authors-name,
.about-author .title h3 {
	font-family: var(--wtx-serif) !important;
	font-weight: 400 !important;
	font-size: 1.3rem !important;
	color: var(--wtx-ink) !important;
}
.fusion-author .author-bio,
.about-author p {
	font-family: var(--wtx-sans) !important;
	font-size: 0.95rem;
	line-height: 1.62;
	color: var(--wtx-ink-soft) !important;
}

/* Related posts — card grid with serif titles */
.single-post .related-posts .fusion-carousel-title,
.fusion-related-posts > h3 {
	max-width: 720px;
	margin: 0 auto 1.4rem;
	font-family: var(--wtx-sans) !important;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wtx-muted) !important;
}
.fusion-related-posts .fusion-carousel-item .fusion-image-wrapper img,
.related-posts img { border-radius: 8px; }
.fusion-related-posts .fusion-carousel-item h4,
.fusion-related-posts .fusion-carousel-item h4 a {
	font-family: var(--wtx-serif) !important;
	font-weight: 400 !important;
	font-size: 1.2rem !important;
	color: var(--wtx-ink) !important;
	border-bottom: none;
}
.fusion-related-posts .fusion-carousel-item h4 a:hover { color: var(--wtx-green) !important; }

/* Comments heading */
.single-post #comments .fusion-title h3,
.single-post .comments-title {
	font-family: var(--wtx-serif) !important;
	font-weight: 400 !important;
	color: var(--wtx-ink) !important;
}

/* =====================================================================
   Responsive — keep reading sizes comfortable on small screens
   ===================================================================== */
@media (max-width: 640px) {
	body, body.fusion-body { font-size: 17px; }
	.post-content p, .fusion-post-content p { font-size: 1rem; }
	.single-post .post-content p,
	.single-post .fusion-post-content p,
	.single-post .post-content li { font-size: 1.08rem; }
	.single-post .post-content > p:first-of-type { font-size: 1.1rem; }
}
