/* Theme Name: KGV Classic Theme URI: https://apex-project.de Author: Ronny Grobel Author URI: https://apex-project.de Description: Klassisches WordPress Theme mit Header, Menü, Slideshow, Content und widgetfähiger Sidebar. Version: 1.0.0 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%; } }