Implement dynamic menus, search toggle with overlay, and series taxonomy with numbered layout

This commit is contained in:
Adolfo Reyna
2026-03-12 23:47:50 -04:00
parent 63fafb4489
commit e74d1268bc
4 changed files with 256 additions and 340 deletions

455
style.css
View File

@@ -1,7 +1,7 @@
/*
Theme Name: Wisdom1
Description: A modern-classic Christian blog theme for "Wisdom for the Kingdom".
Version: 1.2.2
Version: 1.3.0
Text Domain: wisdom1
*/
@@ -33,7 +33,7 @@ img {
display: block;
}
/* --- 2. Header & Navigation --- */
/* --- 2. Header & Navigation (Sticky) --- */
.site-header {
padding: var(--wp--preset--spacing--30) 0;
background-color: var(--wp--preset--color--base);
@@ -52,6 +52,12 @@ img {
padding: 0 var(--wp--preset--spacing--50);
}
.nav-and-search {
display: flex;
align-items: center;
gap: 30px;
}
.brand-mark {
display: flex;
align-items: center;
@@ -87,8 +93,6 @@ img {
list-style: none;
margin: 0;
padding: 0;
flex-wrap: wrap;
justify-content: center;
}
.main-navigation a {
@@ -99,13 +103,73 @@ img {
color: var(--wp--preset--color--primary);
text-decoration: none;
transition: color 0.3s ease;
white-space: nowrap;
}
.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;
@@ -121,18 +185,12 @@ img {
.hero-section::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(244, 241, 234, 0.6); /* Antique Parchment with transparency */
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-content { position: relative; z-index: 2; }
.hero-headline {
font-family: var(--wp--preset--font-family--header-font);
@@ -168,30 +226,30 @@ img {
color: white;
}
/* --- 4. Archive & Category Header --- */
/* --- 4. Archive & Category Headers --- */
.category-header {
background-color: var(--wp--preset--color--primary);
color: white;
padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
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;
}
.category-description {
font-size: clamp(1rem, 3vw, var(--wp--preset--font-size--subheading));
margin-top: 20px;
opacity: 0.8;
max-width: 800px;
margin-left: auto;
margin-right: auto;
}
/* --- 5. Insights Grid --- */
/* --- 5. Insights Grid & Cards --- */
.section-header {
text-align: center;
margin: var(--wp--preset--spacing--70) 0;
@@ -213,7 +271,7 @@ img {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--wp--preset--spacing--50);
margin-bottom: var(--wp--preset--spacing--90);
margin: var(--wp--preset--spacing--70) 0 var(--wp--preset--spacing--90);
}
.insight-card {
@@ -221,13 +279,9 @@ img {
padding: var(--wp--preset--spacing--50);
border: 1px solid var(--wp--preset--color--border);
transition: border-color 0.3s ease;
display: flex;
flex-direction: column;
}
.insight-card:hover {
border-color: var(--wp--preset--color--hover);
}
.insight-card:hover { border-color: var(--wp--preset--color--hover); }
.insight-card .post-thumbnail img {
width: 100%;
@@ -236,10 +290,16 @@ img {
margin-bottom: 20px;
}
.insight-card .entry-title a:hover {
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); }
.post-card-info {
display: flex;
align-items: center;
@@ -250,342 +310,93 @@ img {
margin-top: 10px;
text-transform: uppercase;
font-weight: 700;
letter-spacing: 0.05em;
}
.dot-separator {
.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;
}
.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);
}
/* --- 7. Single Post Layout --- */
.reading-container {
max-width: 680px;
margin: 0 auto;
font-size: clamp(1.125rem, 4vw, 20px);
line-height: 1.8;
padding: 0 var(--wp--preset--spacing--50);
}
.single-entry-header {
text-align: center;
margin-bottom: var(--wp--preset--spacing--70);
padding: 0 var(--wp--preset--spacing--50);
}
.single-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: clamp(2rem, 7vw, 56px);
margin-top: 10px;
line-height: 1.1;
}
.single-post-thumbnail {
margin-bottom: var(--wp--preset--spacing--70);
text-align: center;
width: 100%;
line-height: 1.1;
}
.single-post-thumbnail img {
width: 100%;
height: auto;
aspect-ratio: 21 / 9; /* Cinematic ultra-wide for detail view */
aspect-ratio: 21 / 9;
object-fit: cover;
border-bottom: 1px solid var(--wp--preset--color--border);
margin-bottom: var(--wp--preset--spacing--70);
}
/* --- Content Images & Captions --- */
.entry-content img {
height: auto;
margin-bottom: var(--wp--preset--spacing--30);
border: 1px solid var(--wp--preset--color--border);
padding: 5px;
background: #FFFFFF;
}
.wp-block-image {
margin-bottom: var(--wp--preset--spacing--50);
}
figcaption {
font-size: 13px;
text-align: center;
color: var(--wp--preset--color--accent);
font-style: italic;
margin-top: 10px;
font-family: var(--wp--preset--font-family--body-font);
}
/* Alignments */
.alignwide {
margin-left: -10%;
margin-right: -10%;
max-width: 120%;
}
.alignfull {
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
width: 100vw;
max-width: 100vw;
}
@media (max-width: 768px) {
.alignwide, .alignfull {
margin-left: 0;
margin-right: 0;
width: 100%;
}
}
.entry-date {
margin-left: 10px;
opacity: 0.5;
font-size: 12px;
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) var(--wp--preset--spacing--50);
}
.nav-links {
display: flex;
justify-content: space-between;
gap: 20px;
flex-wrap: wrap;
}
.nav-links div {
flex: 1;
min-width: 200px;
}
.nav-links a {
color: var(--wp--preset--color--primary);
text-decoration: none;
font-weight: 700;
}
/* --- 7. Newsletter Strip --- */
/* --- 8. Newsletter Strip --- */
.newsletter-strip {
background-color: var(--wp--preset--color--primary);
color: white;
padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
padding: var(--wp--preset--spacing--70) 0;
}
.newsletter-content {
max-width: 800px;
max-width: 500px;
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: clamp(1.25rem, 4vw, 24px);
}
.newsletter-form {
display: flex;
width: 100%;
max-width: 500px;
border-bottom: 1px solid var(--wp--preset--color--accent);
padding-bottom: 10px;
margin-top: 20px;
}
.newsletter-input {
background: transparent;
border: none;
color: white;
flex-grow: 1;
padding: 10px;
font-size: 16px;
min-width: 0;
background: none; border: none; color: white; flex-grow: 1; padding: 10px;
}
.newsletter-submit {
background: transparent;
border: none;
color: var(--wp--preset--color--accent);
cursor: pointer;
flex-shrink: 0;
}
/* --- 8. Footer --- */
.site-footer {
padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50);
text-align: center;
font-size: 14px;
background-color: var(--wp--preset--color--base);
}
/* --- 9. Additional Responsiveness --- */
@media (max-width: 768px) {
.header-container {
flex-direction: column;
gap: 20px;
}
.main-navigation ul {
gap: 20px;
}
.site-container {
padding: 0 var(--wp--preset--spacing--30);
}
}
@media (max-width: 480px) {
.insights-grid {
grid-template-columns: 1fr;
}
.cta-button {
width: 100%;
text-align: center;
}
.comment-meta {
flex-direction: column;
align-items: flex-start;
gap: 5px;
}
}
/* --- 10. Comments Section --- */
/* --- 9. Comments Section --- */
.comments-area {
margin-top: var(--wp--preset--spacing--90);
border-top: 1px solid var(--wp--preset--color--border);
padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
}
.comments-title, .comment-reply-title {
font-family: var(--wp--preset--font-family--header-font);
font-size: clamp(1.5rem, 5vw, 32px);
margin-bottom: var(--wp--preset--spacing--50);
}
.comment-list {
list-style: none;
padding: 0;
padding-top: var(--wp--preset--spacing--70);
}
.comment-body {
margin-bottom: var(--wp--preset--spacing--50);
padding: var(--wp--preset--spacing--30);
background: #FFFFFF;
background: white;
padding: 30px;
border: 1px solid var(--wp--preset--color--border);
margin-bottom: 30px;
}
.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: 11px;
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: 12px;
border: 1px solid var(--wp--preset--color--border);
background: #FFFFFF;
font-family: var(--wp--preset--font-family--body-font);
font-size: 16px;
}
#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;
}
@media (max-width: 480px) {
#commentform .submit {
width: 100%;
}
}
#commentform .submit:hover {
background-color: var(--wp--preset--color--accent);
/* --- 10. Responsive --- */
@media (max-width: 768px) {
.header-container { flex-direction: column; gap: 20px; }
.nav-and-search { width: 100%; justify-content: center; }
}