Initial commit: Wisdom1 barebones theme with landing page, categories, and single post templates

This commit is contained in:
Adolfo Reyna
2026-03-12 23:06:01 -04:00
commit c4a6f2f4ab
11 changed files with 998 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules/\n.DS_Store

47
category.php Normal file
View File

@@ -0,0 +1,47 @@
<?php
/**
* The template for displaying category pages
*/
get_header(); ?>
<div class="category-header">
<div class="site-container">
<h1 class="category-title">Archive: <?php single_cat_title(); ?></h1>
<?php if ( category_description() ) : ?>
<div class="category-description"><?php echo category_description(); ?></div>
<?php endif; ?>
</div>
</div>
<div class="site-container">
<main id="primary" class="site-main">
<div class="insights-grid">
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( 'insight-card' ); ?>>
<header class="entry-header">
<?php the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' ); ?>
</header>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div>
</article>
<?php
endwhile;
the_posts_navigation();
else :
echo '<p>' . esc_html__( 'No posts found in this category.', 'wisdom1' ) . '</p>';
endif;
?>
</div>
</main>
</div>
<?php
get_footer();

64
comments.php Normal file
View File

@@ -0,0 +1,64 @@
<?php
/**
* The template for displaying comments
*/
if ( post_password_required() ) {
return;
}
?>
<div id="comments" class="comments-area reading-container">
<?php if ( have_comments() ) : ?>
<h2 class="comments-title">
<?php
$comment_count = get_comments_number();
if ( '1' === $comment_count ) {
printf(
esc_html__( 'One thought on &ldquo;%1$s&rdquo;', 'wisdom1' ),
'<span>' . get_the_title() . '</span>'
);
} else {
printf(
esc_html( _nx( '%1$s thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', $comment_count, 'comments title', 'wisdom1' ) ),
number_format_i18n( $comment_count ),
'<span>' . get_the_title() . '</span>'
);
}
?>
</h2>
<ol class="comment-list">
<?php
wp_list_comments(
array(
'style' => 'ol',
'short_ping' => true,
'avatar_size' => 60,
)
);
?>
</ol>
<?php
the_comments_navigation();
// If comments are closed and there are comments, let's leave a little note, shall we?
if ( ! comments_open() ) :
?>
<p class="no-comments"><?php esc_html__( 'Comments are closed.', 'wisdom1' ); ?></p>
<?php
endif;
endif; // Check for have_comments().
comment_form(
array(
'title_reply_before' => '<h2 id="reply-title" class="comment-reply-title">',
'title_reply_after' => '</h2>',
)
);
?>
</div><!-- #comments -->

11
footer.php Normal file
View File

@@ -0,0 +1,11 @@
<footer id="colophon" class="site-footer">
<div class="site-info">
<p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>
</div><!-- .site-info -->
</footer><!-- #colophon -->
</div><!-- #page -->
<?php wp_footer(); ?>
</body>
</html>

72
front-page.php Normal file
View File

@@ -0,0 +1,72 @@
<?php
/**
* The front page template file.
*/
get_header(); ?>
<section class="hero-section">
<div class="hero-content">
<h1 class="hero-headline"><?php echo get_theme_mod( 'hero_headline', 'Ancient Wisdom for a Modern World.' ); ?></h1>
<p class="hero-subheadline"><?php echo get_theme_mod( 'hero_subheadline', 'A collection of biblical insights curated for the thoughtful leader.' ); ?></p>
<a href="#primary" class="cta-button"><?php echo get_theme_mod( 'hero_cta_text', 'Start Reading' ); ?></a>
</div>
</section>
<div class="site-container">
<main id="primary" class="site-main">
<header class="section-header">
<h2 class="section-title">Seek Truth. Lead with Grace.</h2>
<p class="section-subtitle">Explorations into the heart of the Kingdom.</p>
</header>
<div class="insights-grid">
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( 'insight-card' ); ?>>
<?php if ( has_post_thumbnail() ) : ?>
<div class="post-thumbnail">
<?php the_post_thumbnail( 'large' ); ?>
</div>
<?php endif; ?>
<header class="entry-header">
<div class="entry-meta">
<?php echo get_the_category_list( ', ' ); ?>
</div>
<?php the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' ); ?>
</header>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div>
</article>
<?php
endwhile;
the_posts_navigation();
else :
echo '<p>' . esc_html__( 'No posts found.', 'wisdom1' ) . '</p>';
endif;
?>
</div><!-- .insights-grid -->
</main><!-- #main -->
</div><!-- .site-container -->
<section class="newsletter-strip">
<div class="newsletter-content">
<p class="newsletter-text">Receive weekly insights directly in your inbox.</p>
<form class="newsletter-form">
<input type="email" placeholder="Email address" class="newsletter-input">
<button type="submit" class="newsletter-submit">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
</button>
</form>
</div>
</section>
<?php
get_footer();

97
functions.php Normal file
View File

@@ -0,0 +1,97 @@
<?php
/**
* Functions and definitions
*/
if ( ! function_exists( 'wisdom1_setup' ) ) :
function wisdom1_setup() {
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
register_nav_menus(
array(
'menu-1' => esc_html__( 'Primary', 'wisdom1' ),
)
);
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
'style',
'script',
)
);
}
endif;
add_action( 'after_setup_theme', 'wisdom1_setup' );
/**
* Enqueue scripts and styles.
*/
function wisdom1_scripts() {
wp_enqueue_style( 'wisdom1-style', get_stylesheet_uri(), array(), '1.1.0' );
}
add_action( 'wp_enqueue_scripts', 'wisdom1_scripts' );
/**
* Customizer additions.
*/
function wisdom1_customize_register( $wp_customize ) {
// Add Hero Section
$wp_customize->add_section( 'wisdom1_hero_section', array(
'title' => __( 'Hero Section', 'wisdom1' ),
'priority' => 30,
) );
// Headline Setting
$wp_customize->add_setting( 'hero_headline', array(
'default' => 'Ancient Wisdom for a Modern World.',
'sanitize_callback' => 'sanitize_text_field',
) );
$wp_customize->add_control( 'hero_headline', array(
'label' => __( 'Hero Headline', 'wisdom1' ),
'section' => 'wisdom1_hero_section',
'type' => 'text',
) );
// Subheadline Setting
$wp_customize->add_setting( 'hero_subheadline', array(
'default' => 'A collection of biblical insights curated for the thoughtful leader.',
'sanitize_callback' => 'sanitize_text_field',
) );
$wp_customize->add_control( 'hero_subheadline', array(
'label' => __( 'Hero Subheadline', 'wisdom1' ),
'section' => 'wisdom1_hero_section',
'type' => 'textarea',
) );
// CTA Text Setting
$wp_customize->add_setting( 'hero_cta_text', array(
'default' => 'Start Reading',
'sanitize_callback' => 'sanitize_text_field',
) );
$wp_customize->add_control( 'hero_cta_text', array(
'label' => __( 'CTA Button Text', 'wisdom1' ),
'section' => 'wisdom1_hero_section',
'type' => 'text',
) );
}
add_action( 'customize_register', 'wisdom1_customize_register' );
/**
* Menu fallback
*/
function wisdom1_menu_fallback() {
echo '<ul id="primary-menu" class="menu">';
echo '<li><a href="' . esc_url( home_url( '/' ) ) . '">Home</a></li>';
echo '<li><a href="' . esc_url( get_post_type_archive_link( 'post' ) ) . '">Articles</a></li>';
echo '<li><a href="#">Series</a></li>';
echo '<li><a href="#">About</a></li>';
echo '</ul>';
}

37
header.php Normal file
View File

@@ -0,0 +1,37 @@
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap" rel="stylesheet">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<div id="page" class="site">
<header id="masthead" class="site-header">
<div class="header-container">
<div class="site-branding">
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" class="brand-mark">
<span class="logo-icon">W</span>
<span class="site-name">Wisdom for the Kingdom</span>
</a>
</div><!-- .site-branding -->
<nav id="site-navigation" class="main-navigation">
<?php
wp_nav_menu(
array(
'theme_location' => 'menu-1',
'menu_id' => 'primary-menu',
'container' => false,
'fallback_cb' => 'wisdom1_menu_fallback',
)
);
?>
</nav><!-- #site-navigation -->
</div>
</header><!-- #masthead -->

51
index.php Normal file
View File

@@ -0,0 +1,51 @@
<?php
/**
* The main template file
* Used as a fallback for archive and post index views.
*/
get_header(); ?>
<div class="category-header">
<div class="site-container">
<h1 class="category-title"><?php echo is_home() ? 'The Library' : get_the_archive_title(); ?></h1>
<?php if ( get_the_archive_description() ) : ?>
<div class="category-description"><?php the_archive_description(); ?></div>
<?php endif; ?>
</div>
</div>
<div class="site-container">
<main id="primary" class="site-main">
<div class="insights-grid">
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( 'insight-card' ); ?>>
<header class="entry-header">
<div class="entry-meta">
<?php echo get_the_category_list( ', ' ); ?>
</div>
<?php the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' ); ?>
</header>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div>
</article>
<?php
endwhile;
the_posts_navigation();
else :
echo '<p>' . esc_html__( 'No posts found.', 'wisdom1' ) . '</p>';
endif;
?>
</div>
</main>
</div>
<?php
get_footer();

66
single.php Normal file
View File

@@ -0,0 +1,66 @@
<?php
/**
* The template for displaying all single posts
*/
get_header(); ?>
<main id="primary" class="site-main single-post-layout">
<?php
while ( have_posts() ) :
the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header single-entry-header">
<div class="entry-meta">
<?php echo get_the_category_list( ', ' ); ?>
<span class="entry-date"><?php echo get_the_date(); ?></span>
</div>
<?php the_title( '<h1 class="entry-title single-title">', '</h1>' ); ?>
</header>
<?php if ( has_post_thumbnail() ) : ?>
<div class="post-thumbnail single-post-thumbnail">
<?php the_post_thumbnail( 'full' ); ?>
</div>
<?php endif; ?>
<div class="entry-content reading-container">
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'wisdom1' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<div class="entry-tags">
<?php the_tags( '<span class="tags-links">Related: ', ', ', '</span>' ); ?>
</div>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<nav class="navigation post-navigation">
<div class="nav-links">
<div class="nav-previous"><?php previous_post_link( '%link', 'Previous: %title' ); ?></div>
<div class="nav-next"><?php next_post_link( '%link', 'Next: %title' ); ?></div>
</div>
</nav>
<?php
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
<?php
get_footer();

443
style.css Normal file
View File

@@ -0,0 +1,443 @@
/*
Theme Name: Wisdom1
Description: A modern-classic Christian blog theme for "Wisdom for the Kingdom".
Version: 1.2.1
Text Domain: wisdom1
*/
/* --- 1. Base Reset & Typography --- */
body {
margin: 0;
background-color: var(--wp--preset--color--base);
color: var(--wp--preset--color--primary);
font-family: var(--wp--preset--font-family--body-font);
font-size: var(--wp--preset--font-size--body);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
.site-container {
max-width: var(--wp--style--global--wide-size);
margin: 0 auto;
padding: 0 var(--wp--preset--spacing--50);
}
/* --- 2. Header & Navigation --- */
.site-header {
padding: var(--wp--preset--spacing--30) 0;
background-color: var(--wp--preset--color--base);
}
.header-container {
display: flex;
justify-content: space-between;
align-items: center;
max-width: var(--wp--style--global--wide-size);
margin: 0 auto;
padding: 0 var(--wp--preset--spacing--50);
}
.brand-mark {
display: flex;
align-items: center;
gap: 15px;
text-decoration: none;
color: var(--wp--preset--color--primary);
}
.logo-icon {
font-family: var(--wp--preset--font-family--header-font);
font-size: 24px;
font-weight: bold;
border: 2px solid var(--wp--preset--color--primary);
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}
.site-name {
font-family: var(--wp--preset--font-family--body-font);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
font-size: 14px;
}
.main-navigation ul {
display: flex;
gap: var(--wp--preset--spacing--50);
list-style: none;
margin: 0;
padding: 0;
}
.main-navigation a {
font-family: var(--wp--preset--font-family--body-font);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
color: var(--wp--preset--color--primary);
text-decoration: none;
transition: color 0.3s ease;
}
.main-navigation a:hover {
color: var(--wp--preset--color--accent);
}
/* --- 3. Hero Section (Landing Page) --- */
.hero-section {
height: 80vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
background-color: var(--wp--preset--color--base);
}
.hero-headline {
font-family: var(--wp--preset--font-family--header-font);
font-size: var(--wp--preset--font-size--heading);
margin-bottom: var(--wp--preset--spacing--30);
color: var(--wp--preset--color--primary);
}
.hero-subheadline {
font-size: var(--wp--preset--font-size--subheading);
margin-bottom: var(--wp--preset--spacing--50);
max-width: 600px;
margin-left: auto;
margin-right: auto;
opacity: 0.8;
}
.cta-button {
display: inline-block;
padding: 15px 40px;
border: 2px solid var(--wp--preset--color--accent);
color: var(--wp--preset--color--accent);
text-decoration: none;
text-transform: uppercase;
font-weight: 700;
letter-spacing: 0.1em;
transition: all 0.3s ease;
}
.cta-button:hover {
background-color: var(--wp--preset--color--accent);
color: white;
}
/* --- 4. Archive & Category Header --- */
.category-header {
background-color: var(--wp--preset--color--primary);
color: white;
padding: var(--wp--preset--spacing--70) 0;
text-align: center;
margin-bottom: var(--wp--preset--spacing--70);
}
.category-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: var(--wp--preset--font-size--heading);
margin: 0;
}
.category-description {
font-size: var(--wp--preset--font-size--subheading);
margin-top: 20px;
opacity: 0.8;
}
/* --- 5. Insights Grid --- */
.section-header {
text-align: center;
margin: var(--wp--preset--spacing--70) 0;
}
.section-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: 36px;
margin-bottom: 10px;
}
.section-subtitle {
font-style: italic;
opacity: 0.6;
}
.insights-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--wp--preset--spacing--50);
margin-bottom: var(--wp--preset--spacing--90);
}
.insight-card {
background: #FFFFFF;
padding: var(--wp--preset--spacing--50);
border: 1px solid var(--wp--preset--color--border);
transition: border-color 0.3s ease;
}
.insight-card:hover {
border-color: var(--wp--preset--color--hover);
}
.insight-card .entry-title a {
color: var(--wp--preset--color--primary);
text-decoration: none;
font-family: var(--wp--preset--font-family--header-font);
font-size: 24px;
line-height: 1.2;
}
.insight-card .entry-title a:hover {
color: var(--wp--preset--color--hover);
}
.entry-meta {
font-size: 12px;
text-transform: uppercase;
color: var(--wp--preset--color--accent);
margin-bottom: 15px;
font-weight: 700;
}
.entry-summary {
font-size: 15px;
margin-top: 20px;
opacity: 0.8;
}
/* --- 6. Single Post Layout --- */
.single-post-layout {
margin-top: var(--wp--preset--spacing--70);
}
.reading-container {
max-width: 680px;
margin: 0 auto;
font-size: 20px;
line-height: 1.8;
}
.single-entry-header {
text-align: center;
margin-bottom: var(--wp--preset--spacing--70);
}
.single-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: 56px;
margin-top: 10px;
line-height: 1.1;
}
.single-post-thumbnail {
margin-bottom: var(--wp--preset--spacing--70);
text-align: center;
}
.single-post-thumbnail img {
max-width: 100%;
height: auto;
}
.entry-date {
margin-left: 10px;
opacity: 0.5;
font-size: 14px;
text-transform: uppercase;
}
.post-navigation {
border-top: 1px solid var(--wp--preset--color--border);
margin-top: var(--wp--preset--spacing--90);
padding: var(--wp--preset--spacing--70) 0;
}
.nav-links {
display: flex;
justify-content: space-between;
}
.nav-links a {
color: var(--wp--preset--color--primary);
text-decoration: none;
font-weight: 700;
}
/* --- 7. Newsletter Strip --- */
.newsletter-strip {
background-color: var(--wp--preset--color--primary);
color: white;
padding: var(--wp--preset--spacing--70) 0;
}
.newsletter-content {
max-width: 800px;
margin: 0 auto;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
}
.newsletter-text {
font-family: var(--wp--preset--font-family--header-font);
font-size: 24px;
}
.newsletter-form {
display: flex;
width: 100%;
max-width: 500px;
border-bottom: 1px solid var(--wp--preset--color--accent);
padding-bottom: 10px;
}
.newsletter-input {
background: transparent;
border: none;
color: white;
flex-grow: 1;
padding: 10px;
}
.newsletter-submit {
background: transparent;
border: none;
color: var(--wp--preset--color--accent);
cursor: pointer;
}
/* --- 8. Footer --- */
.site-footer {
padding: var(--wp--preset--spacing--50) 0;
text-align: center;
font-size: 14px;
background-color: var(--wp--preset--color--base);
}
/* --- 9. Responsive --- */
@media (max-width: 900px) {
.insights-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
.insights-grid { grid-template-columns: 1fr; }
.hero-headline { font-size: 32px; }
.header-container { flex-direction: column; gap: 20px; }
}
/* --- 10. Comments Section --- */
.comments-area {
margin-top: var(--wp--preset--spacing--90);
border-top: 1px solid var(--wp--preset--color--border);
padding-top: var(--wp--preset--spacing--70);
}
.comments-title, .comment-reply-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: 32px;
margin-bottom: var(--wp--preset--spacing--50);
}
.comment-list {
list-style: none;
padding: 0;
}
.comment-body {
margin-bottom: var(--wp--preset--spacing--50);
padding: var(--wp--preset--spacing--30);
background: #FFFFFF;
border: 1px solid var(--wp--preset--color--border);
}
.comment-meta {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 15px;
}
.comment-author img {
border-radius: 50%;
}
.fn {
font-weight: 700;
font-style: normal;
}
.comment-metadata {
font-size: 12px;
opacity: 0.5;
text-transform: uppercase;
}
.comment-content {
font-size: 16px;
line-height: 1.6;
}
.reply {
margin-top: 15px;
}
.comment-reply-link {
font-size: 12px;
text-transform: uppercase;
font-weight: 700;
color: var(--wp--preset--color--accent);
text-decoration: none;
}
/* Comment Form */
#commentform {
display: flex;
flex-direction: column;
gap: 20px;
}
#commentform label {
display: block;
font-weight: 700;
font-size: 14px;
margin-bottom: 5px;
}
#commentform input[type="text"],
#commentform input[type="email"],
#commentform textarea {
width: 100%;
padding: 10px;
border: 1px solid var(--wp--preset--color--border);
background: #FFFFFF;
font-family: var(--wp--preset--font-family--body-font);
}
#commentform textarea {
height: 150px;
}
#commentform .submit {
align-self: flex-start;
background-color: var(--wp--preset--color--primary);
color: white;
border: none;
padding: 12px 30px;
font-weight: 700;
text-transform: uppercase;
cursor: pointer;
transition: background 0.3s ease;
}
#commentform .submit:hover {
background-color: var(--wp--preset--color--accent);
}

109
theme.json Normal file
View File

@@ -0,0 +1,109 @@
{
"version": 3,
"settings": {
"appearanceTools": true,
"color": {
"palette": [
{
"slug": "primary",
"color": "#1A1A2E",
"name": "Deep Midnight"
},
{
"slug": "accent",
"color": "#D4AF37",
"name": "Gold Leaf"
},
{
"slug": "base",
"color": "#F4F1EA",
"name": "Antique Parchment"
},
{
"slug": "secondary",
"color": "#004D4D",
"name": "Deep Teal"
},
{
"slug": "hover",
"color": "#6A0DAD",
"name": "Royal Amethyst"
},
{
"slug": "border",
"color": "#E0DCD0",
"name": "Honor Gray"
}
]
},
"typography": {
"fontFamilies": [
{
"fontFamily": "'Playfair Display', serif",
"name": "Serif (Playfair Display)",
"slug": "header-font"
},
{
"fontFamily": "'Montserrat', sans-serif",
"name": "Sans-serif (Montserrat)",
"slug": "body-font"
}
],
"fontSizes": [
{
"name": "Body",
"size": "16px",
"slug": "body"
},
{
"name": "Heading",
"size": "48px",
"slug": "heading"
},
{
"name": "Subheading",
"size": "20px",
"slug": "subheading"
}
]
},
"spacing": {
"spacingSizes": [
{ "size": "1rem", "slug": "30", "name": "Small" },
{ "size": "2rem", "slug": "50", "name": "Medium" },
{ "size": "4rem", "slug": "70", "name": "Large" },
{ "size": "8rem", "slug": "90", "name": "Extra Large" }
]
},
"layout": {
"contentSize": "1100px",
"wideSize": "1400px"
}
},
"styles": {
"color": {
"background": "var(--wp--preset--color--base)",
"text": "var(--wp--preset--color--primary)"
},
"typography": {
"fontFamily": "var(--wp--preset--font-family--body-font)",
"fontSize": "var(--wp--preset--font-size--body)",
"lineHeight": "1.6"
},
"elements": {
"heading": {
"typography": {
"fontFamily": "var(--wp--preset--font-family--header-font)",
"fontWeight": "700"
}
},
"link": {
"color": { "text": "var(--wp--preset--color--primary)" },
"typography": { "textDecoration": "none" },
":hover": {
"color": { "text": "var(--wp--preset--color--hover)" }
}
}
}
}
}