/*
Theme Name: GP Regionalgruppe Ost
Theme URI: https://gp-regionalgruppe-ost.ch
Author: Greenpeace Regionalgruppe Ost
Description: Block-Theme im Design der Greenpeace Regionalgruppe Ost. Pilot: Blog (native Beitraege) im tiefblauen Design.
Version: 0.9.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gp-ost
*/

/* Formularelemente erben die Schriftart in den meisten Browsern nicht
   automatisch (Standard-CSS-Verhalten) und fallen sonst auf Arial zurueck. */
button, input, select, textarea{ font-family:inherit; }

/* ---------- Kopf / Navigation ---------- */
.gp-header{
  background:var(--wp--preset--color--tiefblau-2);
  position:relative;
  padding:14px 40px;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gp-header .gp-nav{ justify-content:center; gap:28px; }
.gp-header .gp-nav a{ color:#fff; font-weight:600; text-decoration:none; }
.gp-header .gp-nav a:hover{ text-decoration:underline; }
/* Der [gp_user_avatar]-Shortcode wird automatisch in ein <p> gewrappt; auch
   wenn der Avatar selbst position:absolute hat, beansprucht der P-Wrapper
   weiterhin Platz im Flex-Layout und verschiebt die Navigation aus der Mitte. */
.gp-header > p{ display:contents; }
.gp-logo{ position:absolute; top:50%; left:40px; transform:translateY(-50%); margin:0; }
.gp-logo img{ height:40px !important; width:auto !important; display:block; }
.gp-user-avatar{ position:absolute; top:50%; right:40px; transform:translateY(-50%); display:block; line-height:0; color:#fff; }
.gp-user-avatar-img{ height:40px !important; width:40px !important; border-radius:50%; display:block; }
.gp-user-avatar-guest{ height:40px; width:40px; border-radius:50%; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; }
.gp-user-avatar-guest:hover{ background:rgba(255,255,255,.28); }

/* ---------- Kopf-Titel ---------- */
.gp-kopf{ padding:56px 24px 8px; text-align:center; }
.gp-kopf h1{ font-size:clamp(2.4rem,6vw,3.8rem); }
.gp-lead{ max-width:60ch; margin:12px auto 0; color:rgba(255,255,255,.9); font-size:clamp(1.05rem,1.8vw,1.3rem); }

/* ---------- Blog-Karten ---------- */
.gp-blog{ max-width:1140px; margin:32px auto; padding:0 24px; }
.gp-blog .wp-block-post-template{ gap:28px; }
.gp-blog .wp-block-post{
  background:#fff; border-radius:16px; overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  display:flex; flex-direction:column;
}
.gp-blog .wp-block-post-featured-image{ margin:0; }
.gp-blog .wp-block-post-featured-image img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.gp-blog .wp-block-post-title{ margin:16px 20px 0; font-size:1.3rem; line-height:1.25; }
.gp-blog .wp-block-post-title a{ color:var(--wp--preset--color--anthrazit); text-decoration:none; }
.gp-blog .wp-block-post-title a:hover{ color:var(--wp--preset--color--see-blau); }
.gp-blog .wp-block-post-date{ margin:8px 20px 0; color:var(--wp--preset--color--see-blau); font-weight:700; font-size:.9rem; }
.gp-blog .wp-block-post-excerpt{ margin:8px 20px 20px; color:var(--wp--preset--color--schiefer); }
.gp-blog .wp-block-post-excerpt__more-text a,
.gp-blog .wp-block-read-more{ color:var(--wp--preset--color--see-blau); font-weight:700; }
.gp-blog .wp-block-query-pagination{ margin-top:32px; }
.gp-blog .wp-block-query-pagination a, .gp-blog .wp-block-query-pagination .current{ color:#fff; }

/* ---------- Einzelbeitrag / Seite ---------- */
.gp-single{ max-width:760px; margin:0 auto; padding:40px 24px; }
.gp-single .wp-block-post-title{ font-size:clamp(2rem,5vw,3rem); line-height:1.15; }
.gp-single .wp-block-post-date{ color:rgba(255,255,255,.7); font-weight:700; margin-top:6px; }
.gp-single .wp-block-post-featured-image{ margin:22px 0; }
.gp-single .wp-block-post-featured-image img{ width:100%; border-radius:14px; }
.gp-single .wp-block-post-content{ color:rgba(255,255,255,.94); line-height:1.85; }
.gp-single .wp-block-post-content a{ color:var(--wp--preset--color--gelb); }

/* ---------- Forum ---------- */
.gp-forum{ max-width:1200px; }
.gp-forum .wp-block-post-title,
.gp-forum > h1{ text-align:left; }
#bbpress-forums,
#bbpress-forums *{
  color:var(--wp--preset--color--tiefblau-2) !important;
}
#bbpress-forums{
  background:var(--wp--preset--color--weiss) !important;
  border-radius:16px;
  padding:32px;
  font-size:1.05rem;
  line-height:1.7;
}
#bbpress-forums a:hover{ text-decoration:underline; }
.gp-forum-register-hint{ text-align:center; margin-top:22px; }
.gp-forum-register-hint a{ color:var(--wp--preset--color--weiss); font-weight:600; text-decoration:underline; }
.gp-account-link{ text-align:right; margin-bottom:14px; }
.gp-account-link a{ color:var(--wp--preset--color--weiss); font-weight:600; text-decoration:underline; }

/* ---------- Mein Konto ---------- */
.gp-account-box{
  background:var(--wp--preset--color--weiss);
  color:var(--wp--preset--color--tiefblau-2);
  border-radius:16px;
  padding:32px;
  max-width:420px;
  margin:0 auto;
  text-align:center;
}
.gp-account-box img.avatar{ border-radius:50%; margin-bottom:12px; }
.gp-account-box h2{ margin:0 0 4px; }
.gp-account-box a{ color:var(--wp--preset--color--tiefblau-2); }
.gp-account-box p.login-remember,
.gp-account-box p.login-submit{ text-align:left; }
.gp-account-box label{ display:block; text-align:left; margin-top:12px; font-weight:600; }
.gp-account-box input[type="text"],
.gp-account-box input[type="password"]{
  width:100%; padding:8px 10px; margin-top:4px; border:1px solid #ccc; border-radius:6px; box-sizing:border-box;
}
.gp-account-box input[type="submit"],
.gp-account-box .button{
  display:inline-block; margin-top:16px; padding:10px 18px; border-radius:6px; border:0;
  background:var(--wp--preset--color--see-blau); color:#fff; font-weight:600; cursor:pointer; text-decoration:none;
}
.gp-account-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* ---------- Fuss ---------- */
.gp-footer{ background:var(--wp--preset--color--tiefblau-2); text-align:center; padding:22px; color:rgba(255,255,255,.75); font-size:.9rem; margin-top:48px; }
.gp-footer a{ color:#fff; text-decoration:none; }
.gp-footer a:hover{ text-decoration:underline; }

/* ---------- Login-/Registrierungs-Seite (wp-login.php) ---------- */
/* WordPress' eigenes #login-CSS ist sehr spezifisch und ueberschreibt
   sonst unseren Hintergrund und den Fussbereich. */
body.login{ background:var(--wp--preset--color--tiefblau) !important; }
body.login .gp-footer{
  background:var(--wp--preset--color--tiefblau-2) !important;
  position:fixed; left:0; right:0; bottom:0; margin-top:0;
}

@media (max-width:760px){
  .gp-header{ padding:14px 20px; }
  .gp-logo{ right:20px; }
  .gp-logo img{ height:32px !important; }
}
