/*
Theme Name: Auf ein Wort! Portal
Theme URI: https://auf-ein-wort.info/
Description: CI- und Portal-Child-Theme für GeneratePress.
Author: Auf ein Wort!
Version: 1.0.1
Text Domain: auf-ein-wort
Template: generatepress
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
*/

:root {
  --aew-anthracite: #26282a;
  --aew-wine: #94172b;
  --aew-wine-dark: #6f1020;
  --aew-taupe: #a79a90;
  --aew-warm-white: #fbfaf8;
  --aew-line: #e5dfda;
  --aew-text: #343235;
  --aew-serif: Georgia, 'Times New Roman', serif;
  --aew-sans: Arial, Helvetica, sans-serif;
}

body {
  background: var(--aew-warm-white);
  color: var(--aew-text);
  font-family: var(--aew-sans);
  font-size: 18px;
  line-height: 1.68;
}

a { color: var(--aew-wine); }
a:hover, a:focus { color: var(--aew-wine-dark); }

.aew-utility {
  background: var(--aew-anthracite);
  color: #fff;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.aew-utility .inside-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  min-height: 38px;
  padding-top: .45rem;
  padding-bottom: .45rem;
}
.aew-utility p { margin: 0; }
.aew-utility a { color: #fff; text-decoration: none; }
.aew-utility a:hover { color: #f2dfe2; }

.site-header { background: #fff; border-bottom: 1px solid var(--aew-line); }
.site-branding-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.45rem 0 1.2rem;
}
.aew-brand { display: flex; align-items: center; gap: 1.1rem; }
.aew-brand img { width: min(300px, 58vw); height: auto; display: block; }
.aew-brand__claim {
  border-left: 1px solid var(--aew-line);
  color: #6d6662;
  font-size: .68rem;
  letter-spacing: .12em;
  line-height: 1.45;
  max-width: 210px;
  padding-left: 1.1rem;
  text-transform: uppercase;
}
.site-header .site-branding-container { display: block; padding: 1.5rem 20px; }
.aew-brand--banner { display: block; width: 100%; aspect-ratio: 8 / 1; overflow: hidden; position: relative; text-decoration: none; }
.aew-brand--banner img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.aew-mobile-claim { display: none; }

.main-navigation { background: #fff; border-bottom: 3px solid var(--aew-wine); }
.main-navigation .main-nav ul li a {
  color: var(--aew-anthracite);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .09em;
  padding: 18px 19px;
  text-transform: uppercase;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li[class*='current-menu-'] > a,
.main-navigation .main-nav ul li[class*='current-menu-'] > a:hover {
  background: var(--aew-wine);
  color: #fff;
}

h1, h2, h3, h4 { color: var(--aew-anthracite); font-family: var(--aew-serif); font-weight: 400; line-height: 1.16; }
h1 { font-size: clamp(2.15rem, 5vw, 3.7rem); }
h2 { font-size: clamp(1.65rem, 3.5vw, 2.5rem); }
.entry-title a { color: var(--aew-anthracite); }
.entry-meta { color: #766e69; font-size: .8rem; letter-spacing: .04em; }

.aew-section-label { color: var(--aew-wine); font-size: .73rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.aew-intro { border-left: 5px solid var(--aew-wine); color: #5b5551; font-family: var(--aew-serif); font-size: clamp(1.25rem, 2vw, 1.55rem); margin: 1.75rem 0 2.3rem; padding: .2rem 0 .2rem 1.15rem; }

.aew-panel { background: #fff; border: 1px solid var(--aew-line); margin: 2.5rem 0; padding: clamp(1.25rem, 3vw, 2.5rem); }
.aew-panel--taupe { background: #eee9e5; border: 0; }
.aew-button, .wp-block-button__link {
  background: var(--aew-wine);
  border-radius: 0;
  color: #fff;
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  padding: .8rem 1.2rem;
  text-decoration: none;
  text-transform: uppercase;
}
.aew-button:hover, .aew-button:focus, .wp-block-button__link:hover { background: var(--aew-wine-dark); color: #fff; }

.aew-partners { border-top: 1px solid var(--aew-line); margin-top: 3rem; padding: 2.4rem 0; text-align: center; }
.aew-partners img { height: auto; max-width: min(100%, 760px); }
.aew-partners__title { color: #6d6662; font-size: .72rem; letter-spacing: .14em; margin-bottom: 1rem; text-transform: uppercase; }
.site-footer { background: var(--aew-anthracite); color: #e8e3df; }
.site-footer a { color: #fff; }
.aew-footer-grid { display: grid; gap: 2rem; grid-template-columns: 1.3fr 1fr 1fr; padding: 3.2rem 0 2.4rem; }
.aew-footer-title { color: #fff; font-family: var(--aew-serif); font-size: 1.45rem; margin: 0 0 .55rem; }
.aew-footer-small { color: #c7bdb6; font-size: .85rem; }
.aew-social a { display: inline-block; margin-right: .85rem; }
.site-info { border-top: 1px solid #4b4d4e; color: #c7bdb6; font-size: .8rem; padding: 1rem 0; }

/* wpForo übernimmt seine eigene Funktionalität; diese Regeln gleichen es an die CI an. */
#wpforo-wrap .wpforo-forum-title, #wpforo-wrap .wpf-title { color: var(--aew-anthracite) !important; font-family: var(--aew-serif); }
#wpforo-wrap .wpforo-forum-title { border-left-color: var(--aew-wine) !important; }
#wpforo-wrap .wpf-button, #wpforo-wrap input[type='submit'] { background: var(--aew-wine) !important; border-radius: 0 !important; }

@media (max-width: 768px) {
  .aew-brand--banner { width: min(100%, 360px); aspect-ratio: 2.45 / 1; }
  .aew-brand--banner img { position: absolute; width: 390%; height: auto; top: 50%; left: 0; transform: translateY(-45%); }
  .aew-mobile-claim { display: block; margin: .75rem 0 0; font-size: .68rem; letter-spacing: .12em; color: var(--aew-anthracite); }
  .site-branding-container { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .aew-brand__claim { border-left: 0; border-top: 1px solid var(--aew-line); max-width: none; padding: .65rem 0 0; }
  .aew-footer-grid { grid-template-columns: 1fr; }
  .aew-utility .inside-header { align-items: flex-start; flex-direction: column; gap: .2rem; }
}
