Files
KGV-Classic/style.css
2026-04-13 22:15:59 +02:00

819 lines
14 KiB
CSS
Executable File

/*
Theme Name: KGV Classic
Theme URI: https://apex-project.de
Author: Ronny Grobel
Author URI: https://apex-project.de
Update URI: https://git.apex-project.de/Wordpress_Themes/KGV-Classic
Gitea Theme URI: https://git.apex-project.de/Wordpress_Themes/KGV-Classic
Description: Klassisches WordPress Theme mit Header, Menü, Slideshow, Content und widgetfähiger Sidebar.
Version: 1.0.13
Requires at least: 6.0
Tested up to: 6.6
Text Domain: kgv-classic
*/
:root{
--kgv-bg:#f6f1e8;
--kgv-card:#ffffff;
--kgv-text:#1d1d1d;
--kgv-muted:#6c6c6c;
--kgv-accent:#245c4f;
--kgv-border:#e4dacb;
--kgv-header-bg:#ffffff;
--kgv-footer-bg:#ffffff;
--kgv-body-font:Arial,Helvetica,sans-serif;
--kgv-heading-font:Arial,Helvetica,sans-serif;
--kgv-border-width:1px;
--kgv-inner-border-width:1px;
--kgv-card-padding:18px;
--kgv-widget-padding:16px;
--kgv-inner-box-padding:14px;
--kgv-section-gap:22px;
--kgv-card-margin-bottom:20px;
--kgv-widget-margin-bottom:24px;
--kgv-main-padding-top:28px;
--kgv-main-padding-bottom:36px;
--kgv-radius:10px;
--kgv-inner-radius:8px;
--kgv-shadow:0 10px 24px rgba(0,0,0,.06);
}
*{
box-sizing:border-box;
}
html{
-webkit-text-size-adjust:100%;
}
body{
margin:0;
background:var(--kgv-bg);
color:var(--kgv-text);
font-family:var(--kgv-body-font);
line-height:1.65;
}
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.widget-title{
font-family:var(--kgv-heading-font);
}
img{
max-width:100%;
height:auto;
display:block;
}
a{
color:var(--kgv-accent);
text-decoration:none;
}
a:hover{
text-decoration:underline;
}
.container{
width:min(1180px,calc(100% - 32px));
margin:0 auto;
}
.narrow{
width:min(760px,calc(100% - 32px));
margin:0 auto;
}
.site-header{
position:sticky;
top:0;
z-index:50;
background:var(--kgv-header-bg);
backdrop-filter:blur(10px);
border-bottom:var(--kgv-border-width) solid var(--kgv-border);
}
.header-inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
padding:14px 0;
}
.branding{
min-width:0;
display:flex;
align-items:center;
gap:12px;
}
.branding-text{
min-width:0;
}
.site-logo{
flex:0 0 auto;
}
.site-logo .custom-logo-link{
display:block;
}
.site-logo .custom-logo{
display:block;
width:auto;
height:auto;
max-width:56px;
max-height:56px;
}
.site-title{
display:inline-block;
font-size:1.8rem;
font-weight:800;
color:var(--kgv-text);
}
.site-description{
margin:4px 0 0;
color:var(--kgv-muted);
font-size:.95rem;
}
.main-navigation ul{
list-style:none;
margin:0;
padding:0;
display:flex;
gap:18px;
flex-wrap:wrap;
}
.main-navigation li{
margin:0;
}
.main-navigation a{
display:block;
padding:6px 0;
color:var(--kgv-text);
font-weight:600;
}
.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a{
color:var(--kgv-accent);
text-decoration:underline;
}
.main-navigation .menu-item-auth-link a{
display:block;
padding:6px 0;
color:var(--kgv-text);
font-weight:600;
background:transparent;
border:0;
border-radius:0;
}
.main-navigation .menu-item-auth-link a:hover,
.main-navigation .menu-item-auth-link a:focus{
color:var(--kgv-accent);
text-decoration:underline;
}
.main-navigation .menu-item-auth-link.is-logout a{
color:var(--kgv-text);
}
.hero-slider{
position:relative;
overflow:hidden;
background:#111;
}
.slider-track{
position:relative;
min-height:clamp(320px,42vw,560px);
}
.slide{
position:absolute;
inset:0;
opacity:0;
transition:opacity .6s ease;
}
.slide.is-active{
opacity:1;
z-index:2;
}
.slide img{
width:100%;
height:clamp(320px,42vw,560px);
object-fit:cover;
}
.slide-overlay{
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(0,0,0,.56),rgba(0,0,0,.18));
display:flex;
align-items:center;
}
.slide-content{
color:#fff;
}
.slide-content h2{
font-size:clamp(2rem,5vw,4rem);
line-height:1.05;
margin:0 0 10px;
}
.slide-content p{
max-width:650px;
margin:0 0 18px;
font-size:clamp(1rem,1.8vw,1.2rem);
}
.button{
display:inline-block;
background:#fff;
color:#111;
padding:10px 16px;
border-radius:999px;
font-weight:700;
}
.slider-dots{
position:absolute;
left:50%;
bottom:16px;
transform:translateX(-50%);
display:flex;
gap:10px;
z-index:4;
}
.slider-dot{
width:12px;
height:12px;
border-radius:999px;
border:0;
padding:0;
cursor:pointer;
background:rgba(255,255,255,.45);
}
.slider-dot.is-active{
background:#fff;
}
.site-main{
padding:var(--kgv-main-padding-top) 0 var(--kgv-main-padding-bottom);
}
.content-grid{
display:grid;
grid-template-columns:minmax(0,2.2fr) minmax(280px,.9fr);
gap:var(--kgv-section-gap);
align-items:start;
}
.post-card,
.page-content-card,
.widget,
.comments-area,
.archive-header{
background:var(--kgv-card);
border:var(--kgv-border-width) solid var(--kgv-border);
border-radius:var(--kgv-radius);
box-shadow:var(--kgv-shadow);
}
.post-card,
.page-content-card{
padding:0;
overflow:hidden;
margin:0 0 var(--kgv-card-margin-bottom);
}
.card-body,
.page-content-card,
.single-post{
padding:var(--kgv-card-padding);
}
.entry-title{
margin:0 0 8px;
font-size:clamp(1.7rem,3vw,2.2rem);
line-height:1.15;
}
.post-card .entry-title{
font-size:clamp(1.45rem,2.2vw,2rem);
}
.entry-title a{
color:var(--kgv-text);
}
.entry-meta{
display:flex;
gap:8px;
flex-wrap:wrap;
color:var(--kgv-muted);
font-size:.95rem;
margin-bottom:12px;
}
.entry-excerpt,
.entry-content{
color:var(--kgv-text);
}
.archive-header,
.comments-area{
padding:var(--kgv-card-padding);
}
.sidebar-area .widget{
padding:var(--kgv-widget-padding);
margin:0 0 var(--kgv-widget-margin-bottom);
border-radius:var(--kgv-radius);
}
.pagination .nav-links{
display:flex;
gap:10px;
flex-wrap:wrap;
}
.pagination .page-numbers{
display:inline-block;
padding:8px 12px;
border-radius:8px;
background:#fff;
border:var(--kgv-border-width) solid var(--kgv-border);
}
.comment-list{
padding-left:18px;
}
.comment-body{
background:#fff;
border:var(--kgv-inner-border-width) solid var(--kgv-border);
padding:var(--kgv-inner-box-padding);
border-radius:var(--kgv-inner-radius);
margin-bottom:12px;
}
.widget input,
.widget select,
.search-form input[type="search"],
.comment-form input,
.comment-form textarea{
width:100%;
padding:8px 10px;
border:var(--kgv-inner-border-width) solid #d7d7d7;
border-radius:5px;
background:#fff;
font-size:0.95rem;
line-height:1.4;
}
.search-form input[type="submit"],
.comment-form input[type="submit"]{
width:auto;
background:var(--kgv-accent);
color:#fff;
border:0;
border-radius:999px;
padding:10px 16px;
font-weight:700;
cursor:pointer;
}
.search-form{
display:flex;
gap:8px;
align-items:center;
}
.search-form label{
flex:1;
margin:0;
}
.search-form input[type="search"]{
min-height:38px;
}
.search-form input[type="submit"]{
padding:8px 12px;
border-radius:5px;
font-size:0.9rem;
line-height:1.2;
min-height:38px;
}
.kgv-termin-single-header{
margin-bottom:18px;
}
.kgv-termin-badge{
display:inline-block;
padding:4px 10px;
border-radius:999px;
background:var(--kgv-accent);
color:#fff;
font-size:0.8rem;
font-weight:700;
margin-bottom:12px;
}
.kgv-termin-meta-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:12px;
margin:18px 0 6px;
}
.kgv-termin-meta-item{
background:#faf7f2;
border:var(--kgv-inner-border-width) solid var(--kgv-border);
border-radius:var(--kgv-inner-radius);
padding:var(--kgv-inner-box-padding);
}
.kgv-termin-meta-label{
display:block;
font-size:0.8rem;
color:var(--kgv-muted);
margin-bottom:4px;
text-transform:uppercase;
letter-spacing:.03em;
}
.kgv-termin-meta-value{
display:block;
font-weight:700;
color:var(--kgv-text);
}
.kgv-termin-content{
margin-top:14px;
}
.kgv-termin-import{
margin-top:8px;
}
.kgv-termin-box{
background:#faf7f2;
border:var(--kgv-inner-border-width) solid var(--kgv-border);
border-radius:var(--kgv-inner-radius);
padding:var(--kgv-inner-box-padding);
margin-bottom:16px;
}
.kgv-termin-row{
margin-bottom:8px;
color:var(--kgv-text);
}
.kgv-termin-row:last-child{
margin-bottom:0;
}
.kgv-termin-description h3{
margin:0 0 10px;
font-size:1.1rem;
color:var(--kgv-text);
}
.kgv-termin-description p{
margin:0;
}
.widget_recent_entries ul{
list-style:none;
margin:0;
padding:0;
}
.widget_recent_entries ul li{
margin-bottom:14px;
padding-bottom:10px;
border-bottom:var(--kgv-inner-border-width) solid var(--kgv-border);
}
.widget_recent_entries ul li:last-child{
margin-bottom:0;
padding-bottom:0;
border-bottom:0;
}
.widget_recent_entries ul li a{
display:block;
font-weight:600;
margin-bottom:2px;
}
.widget_recent_entries .post-date{
display:block;
font-size:0.8rem;
color:var(--kgv-muted);
}
.archive-header{
padding:var(--kgv-card-padding);
border-radius:8px;
display:flex;
align-items:center;
min-height:50px;
margin-bottom:24px;
}
.archive-header .entry-title,
.archive-header h1{
margin:0;
font-size:1.2rem;
line-height:1.2;
}
.site-footer{
background:var(--kgv-footer-bg);
backdrop-filter:blur(10px);
border-top:var(--kgv-border-width) solid var(--kgv-border);
padding:8px 0 10px;
color:var(--kgv-muted);
overflow:visible;
}
.footer-image{
width:100%;
margin:0 auto 6px;
padding:0 16px;
display:flex;
justify-content:center;
align-items:center;
}
.footer-image img{
display:block;
width:min(100%,900px);
height:auto;
margin:0 auto;
}
.footer-content{
text-align:center;
padding:20px 0 10px;
}
.footer-menu{
list-style:none;
margin:0 0 12px;
padding:0;
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}
.footer-menu li{
display:inline-block;
}
.footer-menu a{
text-decoration:none;
color:var(--kgv-text);
font-weight:600;
}
.footer-menu a:hover,
.footer-menu a:focus,
.footer-menu .current-menu-item > a,
.footer-menu .current_page_item > a,
.footer-menu .current-menu-ancestor > a{
text-decoration:underline;
color:var(--kgv-accent);
}
.footer-bottom{
display:flex;
justify-content:center;
padding:4px 0 0;
}
.footer-copy{
margin:0;
font-size:14px;
opacity:0.8;
}
/* Termine in Listen/Archiven an normales Kartendesign angleichen */
.category-termine .post-card,
.archive .post-card.kgv-termin-card,
.blog .post-card.kgv-termin-card{
background:var(--kgv-card);
border:var(--kgv-border-width) solid var(--kgv-border);
border-radius:var(--kgv-radius);
box-shadow:var(--kgv-shadow);
overflow:hidden;
}
/* Falls Termine eigene Wrapper-Klasse haben */
.kgv-termin-card{
background:var(--kgv-card);
border:var(--kgv-border-width) solid var(--kgv-border);
border-radius:var(--kgv-radius);
box-shadow:var(--kgv-shadow);
overflow:hidden;
margin:0 0 var(--kgv-card-margin-bottom);
}
.kgv-termin-card .card-body{
padding:var(--kgv-card-padding);
}
.kgv-termin-card .entry-title{
margin:0 0 8px;
font-size:clamp(1.45rem,2.2vw,2rem);
line-height:1.15;
}
.kgv-termin-card .entry-title a{
color:var(--kgv-text);
text-decoration:none;
}
.kgv-termin-card .entry-title a:hover{
text-decoration:underline;
}
.kgv-termin-card .entry-meta{
display:flex;
gap:8px;
flex-wrap:wrap;
color:var(--kgv-muted);
font-size:.95rem;
margin-bottom:12px;
}
.kgv-termin-card .entry-summary,
.kgv-termin-card .entry-content{
color:var(--kgv-text);
}
.kgv-termin-card .kgv-termin-badge{
margin-bottom:10px;
}
.kgv-termin-card .kgv-termin-date{
display:inline-block;
margin-bottom:12px;
padding:4px 10px;
border-radius:999px;
background:#faf7f2;
border:var(--kgv-inner-border-width) solid var(--kgv-border);
color:var(--kgv-text);
font-size:0.85rem;
font-weight:700;
}
/* Importierte Termine in Listen optisch an normale Beiträge angleichen */
.post-card.kgv-termin-card{
background:var(--kgv-card);
border:var(--kgv-border-width) solid var(--kgv-border);
border-radius:var(--kgv-radius);
box-shadow:var(--kgv-shadow);
overflow:hidden;
margin:0 0 var(--kgv-card-margin-bottom);
}
.post-card.kgv-termin-card .card-body{
padding:var(--kgv-card-padding);
}
.post-card.kgv-termin-card .entry-title{
font-size:clamp(1.45rem,2.2vw,2rem);
line-height:1.15;
margin:0 0 8px;
}
.post-card.kgv-termin-card .entry-title a{
color:var(--kgv-text);
}
.post-card.kgv-termin-card .entry-meta{
display:flex;
gap:8px;
flex-wrap:wrap;
color:var(--kgv-muted);
font-size:.95rem;
margin-bottom:12px;
}
.post-card.kgv-termin-card .entry-summary,
.post-card.kgv-termin-card .entry-content{
color:var(--kgv-text);
}
.post-card.kgv-termin-card .kgv-termin-import{
margin-top:8px;
}
.post-card.kgv-termin-card .kgv-termin-box{
background:#faf7f2;
border:var(--kgv-inner-border-width) solid var(--kgv-border);
border-radius:var(--kgv-inner-radius);
padding:var(--kgv-inner-box-padding);
margin-bottom:16px;
}
.post-card.kgv-termin-card .kgv-termin-row{
margin-bottom:8px;
}
.post-card.kgv-termin-card .kgv-termin-row:last-child{
margin-bottom:0;
}
.post-card.kgv-termin-card .kgv-termin-description h3{
margin:0 0 10px;
font-size:1.1rem;
}
.post-card.kgv-termin-card .kgv-termin-description p{
margin:0;
}
.featured-image{
margin:0 0 16px;
}
.card-thumb img,
.featured-image img{
width:100%;
height:auto;
}
@media (max-width: 900px){
.content-grid{
grid-template-columns:1fr;
}
.header-inner{
flex-direction:column;
align-items:flex-start;
}
.sidebar-area .widget{
margin-bottom:var(--kgv-card-margin-bottom);
}
.footer-bottom{
justify-content:center;
text-align:center;
}
}
@media (max-width: 640px){
.container,
.narrow{
width:min(100%,calc(100% - 24px));
}
.header-inner{
gap:14px;
}
.main-navigation ul{
gap:12px;
}
.slide-content p{
max-width:none;
}
.search-form{
flex-direction:column;
align-items:stretch;
}
.search-form input[type="submit"]{
width:100%;
}
}