Files
WFK_theme/style.css

403 lines
8.5 KiB
CSS

/*
Theme Name: Wisdom1
Description: A modern-classic Christian blog theme for "Wisdom for the Kingdom".
Version: 1.3.0
Text Domain: wisdom1
*/
/* --- 1. Base Reset & Typography --- */
* {
box-sizing: border-box;
}
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;
overflow-x: hidden;
}
.site-container {
max-width: var(--wp--style--global--wide-size);
margin: 0 auto;
padding: 0 var(--wp--preset--spacing--50);
}
img {
max-width: 100%;
height: auto;
display: block;
}
/* --- 2. Header & Navigation (Sticky) --- */
.site-header {
padding: var(--wp--preset--spacing--30) 0;
background-color: var(--wp--preset--color--base);
position: sticky;
top: 0;
z-index: 1000;
border-bottom: 1px solid var(--wp--preset--color--border);
}
.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);
}
.nav-and-search {
display: flex;
align-items: center;
gap: 30px;
}
.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;
flex-shrink: 0;
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: 13px;
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);
}
/* Search Toggle */
.search-toggle {
background: none;
border: none;
color: var(--wp--preset--color--primary);
cursor: pointer;
padding: 5px;
display: flex;
align-items: center;
transition: color 0.3s ease;
}
.search-toggle:hover {
color: var(--wp--preset--color--accent);
}
/* Search Overlay */
.search-overlay {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--wp--preset--color--base);
padding: 40px 0;
border-bottom: 1px solid var(--wp--preset--color--border);
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.search-form-overlay {
display: flex;
gap: 20px;
max-width: 800px;
margin: 0 auto;
}
.search-field-large {
flex-grow: 1;
background: none;
border: none;
border-bottom: 2px solid var(--wp--preset--color--primary);
padding: 10px 0;
font-size: 24px;
font-family: var(--wp--preset--font-family--header-font);
color: var(--wp--preset--color--primary);
}
.search-field-large:focus {
outline: none;
border-color: var(--wp--preset--color--accent);
}
.search-submit-large {
background: var(--wp--preset--color--primary);
color: white;
border: none;
padding: 0 30px;
text-transform: uppercase;
font-weight: 700;
cursor: pointer;
}
/* --- 3. Hero Section (Landing Page) --- */
.hero-section {
min-height: 80vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
background-color: var(--wp--preset--color--base);
padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
position: relative;
}
.hero-section::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(244, 241, 234, 0.6);
z-index: 1;
}
.hero-content { position: relative; z-index: 2; }
.hero-headline {
font-family: var(--wp--preset--font-family--header-font);
font-size: clamp(2.5rem, 8vw, var(--wp--preset--font-size--heading));
margin-bottom: var(--wp--preset--spacing--30);
color: var(--wp--preset--color--primary);
line-height: 1.1;
}
.hero-subheadline {
font-size: clamp(1.125rem, 4vw, 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 Headers --- */
.category-header {
background-color: var(--wp--preset--color--primary);
color: white;
padding: var(--wp--preset--spacing--90) var(--wp--preset--spacing--50);
text-align: center;
}
.series-label {
display: block;
text-transform: uppercase;
letter-spacing: 0.2em;
font-size: 12px;
margin-bottom: 10px;
color: var(--wp--preset--color--accent);
}
.category-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: clamp(2rem, 6vw, var(--wp--preset--font-size--heading));
margin: 0;
}
/* --- 5. Insights Grid & Cards --- */
.section-header {
text-align: center;
margin: var(--wp--preset--spacing--70) 0;
padding: 0 var(--wp--preset--spacing--50);
}
.section-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: clamp(1.75rem, 5vw, 36px);
margin-bottom: 10px;
}
.section-subtitle {
font-style: italic;
opacity: 0.6;
}
.insights-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--wp--preset--spacing--50);
margin: var(--wp--preset--spacing--70) 0 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 .post-thumbnail img {
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
margin-bottom: 20px;
}
.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); }
.post-card-info {
display: flex;
align-items: center;
gap: 8px;
font-size: 11px;
color: var(--wp--preset--color--primary);
opacity: 0.6;
margin-top: 10px;
text-transform: uppercase;
font-weight: 700;
}
.dot-separator { color: var(--wp--preset--color--accent); }
/* --- 6. Series Taxonomy (Steps) --- */
.series-steps-container {
max-width: 800px;
margin: var(--wp--preset--spacing--70) auto;
}
.series-step-card {
display: flex;
gap: 30px;
margin-bottom: 40px;
padding-bottom: 40px;
border-bottom: 1px solid var(--wp--preset--color--border);
}
.step-number {
font-family: var(--wp--preset--font-family--header-font);
font-size: 48px;
color: var(--wp--preset--color--accent);
opacity: 0.3;
line-height: 1;
}
/* --- 7. Single Post Layout --- */
.reading-container {
max-width: 680px;
margin: 0 auto;
font-size: clamp(1.125rem, 4vw, 20px);
line-height: 1.8;
}
.single-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: clamp(2rem, 7vw, 56px);
text-align: center;
line-height: 1.1;
}
.single-post-thumbnail img {
width: 100%;
aspect-ratio: 21 / 9;
object-fit: cover;
margin-bottom: var(--wp--preset--spacing--70);
}
/* --- 8. Newsletter Strip --- */
.newsletter-strip {
background-color: var(--wp--preset--color--primary);
color: white;
padding: var(--wp--preset--spacing--70) 0;
}
.newsletter-content {
max-width: 500px;
margin: 0 auto;
text-align: center;
}
.newsletter-form {
display: flex;
border-bottom: 1px solid var(--wp--preset--color--accent);
margin-top: 20px;
}
.newsletter-input {
background: none; border: none; color: white; flex-grow: 1; padding: 10px;
}
/* --- 9. 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);
}
.comment-body {
background: white;
padding: 30px;
border: 1px solid var(--wp--preset--color--border);
margin-bottom: 30px;
}
/* --- 10. Responsive --- */
@media (max-width: 768px) {
.header-container { flex-direction: column; gap: 20px; }
.nav-and-search { width: 100%; justify-content: center; }
}