/*
Theme Name: christlich-tagen
Theme URI: https://wp.axaix.app
Description: Verzeichnis christlicher Seminar- und Tagungshäuser in Mitteleuropa. Nachbau des ursprünglichen Joomla-/RocketTheme-Elemental-Designs (rot, Serifenschrift, linke Regionsnavigation).
Author: axaix
Version: 2.0.0
*/

:root{
  --red:#9c1c22;            /* menu bar */
  --red-hover:#7d1519;
  --band-edge:#4e1010;      /* header band dark edges */
  --band-mid:#97292b;       /* header band centre */
  --maroon:#8a2323;         /* headings / accents */
  --maroon-2:#800000;       /* content headings (matches source inline) */
  --page-bg:#e9e9e9;
  --content-bg:#ffffff;
  --text:#333333;
  --muted:#555555;
  --rule:#c9c9c9;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--page-bg);color:var(--text);
  font:15px/1.65 Georgia,"Times New Roman",Times,serif;
}
img{max-width:100%;height:auto}
a{color:var(--maroon);text-decoration:none}
a:hover{color:var(--red);text-decoration:underline}
.container{max-width:1000px;margin:0 auto;padding:0 18px}

/* ============ HEADER ============ */
.site-header{
  background:
    linear-gradient(to bottom, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 20%, rgba(0,0,0,.16) 58%, rgba(0,0,0,.30) 100%),
    linear-gradient(to right, var(--band-edge) 0%, #7a1f1f 10%, var(--band-mid) 50%, #7a1f1f 90%, var(--band-edge) 100%);
  border-bottom:3px solid #380a0a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
}
.site-header .container{padding-top:24px;padding-bottom:22px;text-align:right}
.brand{display:inline-block;text-decoration:none}
.brand:hover{text-decoration:none}
.brand .name{
  display:block;color:#fff;font-weight:700;font-size:38px;line-height:1.02;
  letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 3px rgba(0,0,0,.55);
  font-family:Georgia,"Times New Roman",serif;
}
.brand .sub{
  display:block;color:#f2e4e4;font-size:20px;letter-spacing:6px;text-transform:uppercase;
  margin-top:6px;text-shadow:0 1px 2px rgba(0,0,0,.5);
}

/* ============ TOP (UTILITY) MENU ============ */
.nav-primary{background:var(--red);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 4px rgba(0,0,0,.25)}
.nav-primary .container{padding:0 10px}
.nav-primary ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.nav-primary li{border-right:1px solid rgba(0,0,0,.2)}
.nav-primary li:first-child{border-left:1px solid rgba(0,0,0,.12)}
.nav-primary a{
  display:block;color:#fff;padding:13px 20px;font-size:14px;font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;text-decoration:none;font-family:Georgia,serif;
}
.nav-primary a:hover{background:var(--red-hover);text-decoration:none}
.nav-primary li.current-menu-item>a,
.nav-primary li.current_page_item>a{background:var(--content-bg);color:var(--maroon);border-radius:7px 7px 0 0}
.home .nav-primary li:first-child>a{background:var(--content-bg);color:var(--maroon);border-radius:7px 7px 0 0} /* Startseite active on home */
.menu-toggle{display:none}

/* ============ BODY WRAP + 2-COLUMN (sidebar LEFT) ============ */
.wrap{background:var(--content-bg);box-shadow:0 0 18px rgba(0,0,0,.18);max-width:1000px;margin:0 auto}
.wrap>.container{display:flex;gap:28px;padding-top:24px;padding-bottom:34px;max-width:none}
.sidebar{flex:0 0 232px;width:232px;order:0}      /* LEFT */
.content{flex:1 1 auto;min-width:0;order:1}
.content h1{color:var(--maroon);font-size:26px;margin:0 0 14px;line-height:1.25;font-weight:700}
.content h2{color:var(--maroon);font-size:21px}
.content h3{color:var(--maroon);font-size:17px}
.content img{max-width:100%;height:auto}
.content table{max-width:100%;border-collapse:collapse}
.content td{vertical-align:top}
.content a{color:var(--maroon);text-decoration:underline}
.content a:hover{color:var(--red)}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:14px;font-family:Georgia,serif}
.breadcrumb a{color:var(--muted)}
.breadcrumb .sep{margin:0 6px;color:#aaa}

/* child cards on region pages */
.subpages{margin-top:28px;border-top:2px solid var(--red);padding-top:14px}
.subpages h3{color:var(--maroon);margin:0 0 10px}
.subpages ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.subpages a{display:block;padding:8px 12px;background:#f6f0f0;border-left:3px solid var(--red);color:var(--maroon);text-decoration:none}
.subpages a:hover{background:var(--red);color:#fff}

/* ============ LEFT SIDEBAR ============ */
.side-box{margin-bottom:26px}
.side-box>h3{color:var(--maroon);font-size:18px;font-weight:700;margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid var(--rule)}
.side-datenschutz p{font-size:13.5px;color:#444;margin:0 0 8px;line-height:1.55}
.side-datenschutz a{color:var(--maroon);text-decoration:underline}
.side-nav{list-style:none;margin:0;padding:0}
.side-nav>li{margin-bottom:12px}
.side-nav>li>a,.side-nav>li>.grouptitle{
  display:block;color:var(--maroon);font-weight:700;font-size:15.5px;line-height:1.25;
  padding:4px 0 5px;border-bottom:1px solid var(--rule);text-decoration:none;text-transform:none;
}
.side-nav ul{list-style:none;margin:6px 0 0;padding:0}
.side-nav ul li a{
  display:block;color:var(--text);padding:4px 4px 4px 18px;position:relative;font-size:14px;text-decoration:none;
}
.side-nav ul li a:before{content:"\25BA";color:#a52a2a;font-size:9px;position:absolute;left:2px;top:7px}
.side-nav ul li a:hover{color:var(--red)}
.side-nav ul li.current-menu-item>a{color:var(--red);font-weight:700}

/* ============ HOME "IM PORTRAIT" ============ */
.home-portrait .pt-rule{border:none;border-top:1px solid #b9b9b9;margin:18px 0}
.home-portrait .pt-label{color:var(--maroon);letter-spacing:3px;font-size:20px;margin:0;font-weight:700}
.home-portrait img{border:1px solid #999}

/* ============ FOOTER ============ */
.site-footer{background:linear-gradient(to right,var(--band-edge),#7a1f1f 50%,var(--band-edge));color:#e9d6d6;margin-top:0;padding:22px 0;border-top:3px solid #380a0a}
.site-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer .copy{color:#e2c9c9}

/* ============ RESPONSIVE ============ */
@media(max-width:820px){
  .brand .name{font-size:26px;letter-spacing:1px}
  .brand .sub{font-size:15px;letter-spacing:4px}
  .site-header .container{text-align:center}
  .wrap>.container{flex-direction:column}
  .sidebar{width:100%;flex-basis:auto;order:1}
  .content{order:0}
  .menu-toggle{display:block;background:var(--red-hover);color:#fff;border:none;width:100%;
    padding:12px 16px;font-size:14px;font-weight:700;text-align:left;text-transform:uppercase;cursor:pointer;font-family:Georgia,serif}
  .nav-primary ul.menu-main{display:none;flex-direction:column}
  .nav-primary input#mtoggle:checked ~ ul.menu-main{display:flex}
}
