/*
Theme Name: Bildungsforum Plattform
Theme URI: https://plattform.bildungsforum-schweiz.ch
Description: Child-Theme der Mitglieder-Plattform des Bildungsforum Schweiz. Edles, ruhiges Design-System mit klarer Hierarchie; BuddyPress im BF-Look. Basis: Kadence.
Author: Bildungsforum Schweiz
Template: kadence
Version: 0.3.0
Text Domain: bf-platt
*/

:root{
  /* Farben */
  --bf-blue:#16486E; --bf-blue-700:#0F3552; --bf-ink:#15212B; --bf-text:#33424E;
  --bf-muted:#6A7886; --bf-coral:#E2533B; --bf-coral-600:#C8432D; --bf-green:#3F9B86;
  --bf-bg:#F5F8FA; --bf-surface:#FFFFFF; --bf-line:#E7ECF1; --bf-line-2:#D9E1E8;
  /* Schrift */
  --bf-font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --bf-display:'Fraunces',Georgia,'Times New Roman',serif;
  /* Radius & Schatten */
  --bf-r:14px; --bf-r-lg:20px;
  --bf-sh-sm:0 1px 2px rgba(20,40,60,.06);
  --bf-sh:0 8px 28px rgba(20,40,60,.10);
  --bf-sh-lg:0 18px 48px rgba(16,49,81,.14);
}

/* ====================== Basis & Typografie ====================== */
body{ font-family:var(--bf-font); color:var(--bf-text); background:var(--bf-bg); -webkit-font-smoothing:antialiased; letter-spacing:.001em; }
.content-bg, body.content-style-unboxed .site{ background:var(--bf-bg); }
h1,h2,h3,h4,h5{ color:var(--bf-ink); font-weight:700; letter-spacing:-.02em; line-height:1.18; }
h1{ font-size:clamp(1.9rem,3.4vw,2.5rem); }
h2{ font-size:clamp(1.45rem,2.4vw,1.875rem); }
h3{ font-size:1.25rem; }
p{ line-height:1.65; }
a{ color:var(--bf-blue); text-underline-offset:3px; transition:color .15s ease; }
a:hover{ color:var(--bf-coral); }
::selection{ background:var(--bf-coral); color:#fff; }
.entry-title,.page-title{ font-family:var(--bf-display); font-weight:600; letter-spacing:-.01em; }

/* ====================== Header / Navigation ====================== */
.site-header-row-container-inner{ background:var(--bf-surface); }
.site-header{ box-shadow:0 1px 0 var(--bf-line); }
.site-branding .site-title a,.site-branding a{ color:var(--bf-blue) !important; font-weight:800; letter-spacing:-.02em; font-size:1.18rem; }
.site-header .header-navigation .menu > .menu-item > a{
  color:var(--bf-ink) !important; font-weight:500; font-size:.97rem; position:relative; padding-block:6px;
}
.site-header .header-navigation .menu > .menu-item > a:hover{ color:var(--bf-blue) !important; }
/* Aktiver Punkt – „du bist hier" */
.site-header .header-navigation .menu > .current-menu-item > a,
.site-header .header-navigation .menu > .current-menu-parent > a{ color:var(--bf-blue) !important; }
.site-header .header-navigation .menu > .current-menu-item > a::after,
.site-header .header-navigation .menu > .current-menu-parent > a::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--bf-coral); border-radius:2px;
}
/* CTA im Menü */
.menu-item.bf-nav-cta > a{ background:var(--bf-coral); color:#fff !important; border-radius:10px; padding:9px 18px !important; }
.menu-item.bf-nav-cta > a:hover{ background:var(--bf-coral-600); color:#fff !important; }
.menu-item.bf-nav-cta > a::after{ display:none !important; }

/* ====================== Buttons ====================== */
.bf-btn,.wp-block-button__link,#buddypress .button,#buddypress a.button,#buddypress input[type=submit],
.bf-login-box #wp-submit,button.button,.button{
  display:inline-block; border-radius:10px !important; font-weight:600 !important; font-size:.95rem;
  padding:11px 20px !important; border:1px solid transparent !important; cursor:pointer; transition:transform .15s ease, background .15s ease, box-shadow .15s ease; text-decoration:none;
}
.bf-btn-primary,#buddypress .button:not(.disabled),.bf-login-box #wp-submit{ background:var(--bf-coral) !important; color:#fff !important; box-shadow:0 6px 16px rgba(226,83,59,.24); }
.bf-btn-primary:hover,#buddypress .button:hover,.bf-login-box #wp-submit:hover{ background:var(--bf-coral-600) !important; color:#fff !important; transform:translateY(-1px); }
.bf-btn-ghost{ background:var(--bf-surface) !important; color:var(--bf-blue) !important; border-color:var(--bf-line-2) !important; }

/* ====================== Generische Inhaltsbreite ====================== */
.bf-dash,.bf-onboarding{ max-width:1060px; margin-inline:auto; }

/* ====================== Dashboard „Mein Bereich" ====================== */
.bf-eyebrow{ color:var(--bf-coral); font-weight:700; text-transform:uppercase; letter-spacing:.13em; font-size:.74rem; margin:0 0 6px; }
.bf-dash-hero{ padding:8px 0 4px; }
.bf-dash-hero h1{ font-family:var(--bf-display); font-weight:600; font-size:clamp(2rem,3.6vw,2.7rem); margin:0 0 8px; }
.bf-dash-sub{ color:var(--bf-muted); font-size:1.08rem; max-width:60ch; margin:0 0 14px; }
.bf-stufe-badge{ display:inline-block; background:#EAF0F5; color:var(--bf-blue); padding:5px 14px; border-radius:999px; font-size:.8rem; font-weight:600; }

.bf-dash-nudge{ display:flex; gap:18px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  background:linear-gradient(120deg,#FFF4F1,#FFF9F7); border:1px solid #F6DAD2; border-radius:var(--bf-r);
  padding:18px 22px; margin:22px 0 6px; }
.bf-dash-nudge strong{ color:var(--bf-ink); font-size:1.05rem; }
.bf-dash-nudge p{ color:var(--bf-muted); margin:2px 0 0; font-size:.95rem; }

.bf-dash-h{ font-size:1.15rem; color:var(--bf-muted); font-weight:600; letter-spacing:.01em; margin:34px 0 14px; }
.bf-dash-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px; }
.bf-dash-card{ display:flex; align-items:center; gap:16px; background:var(--bf-surface); border:1px solid var(--bf-line);
  border-radius:var(--bf-r); padding:20px 20px; box-shadow:var(--bf-sh-sm); text-decoration:none !important; color:inherit;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bf-dash-card:hover{ transform:translateY(-3px); box-shadow:var(--bf-sh); border-color:var(--bf-line-2); }
.bf-dash-ico{ flex:0 0 auto; width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; }
.bf-dash-ico svg{ width:24px; height:24px; }
.bf-dash-ct{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.bf-dash-ct strong{ color:var(--bf-ink); font-size:1.06rem; font-weight:700; }
.bf-dash-ct span{ color:var(--bf-muted); font-size:.9rem; line-height:1.45; }
.bf-dash-arrow{ margin-left:auto; color:var(--bf-line-2); font-size:1.3rem; transition:color .18s ease, transform .18s ease; }
.bf-dash-card:hover .bf-dash-arrow{ color:var(--bf-coral); transform:translateX(3px); }

/* ====================== Login / Onboarding ====================== */
.bf-login-box{ max-width:420px; background:var(--bf-surface); border:1px solid var(--bf-line); border-radius:var(--bf-r-lg); padding:28px; box-shadow:var(--bf-sh); }
.bf-login-box h3{ margin:0 0 14px; color:var(--bf-ink); }
.bf-login-box label{ font-size:.9rem; color:var(--bf-text); }
.bf-login-box input[type=text],.bf-login-box input[type=password]{ width:100%; padding:12px 13px; border:1px solid var(--bf-line-2); border-radius:10px; margin:4px 0 12px; font-size:.97rem; }
.bf-login-box input:focus{ outline:none; border-color:var(--bf-blue); box-shadow:0 0 0 3px rgba(22,72,110,.12); }
.bf-login-reg{ margin-top:16px; border-top:1px solid var(--bf-line); padding-top:14px; font-size:.95rem; }
.bf-onboarding h2{ font-family:var(--bf-display); font-weight:600; }
.bf-lead{ color:var(--bf-muted); font-size:1.08rem; }
.bf-video-ph{ aspect-ratio:16/9; background:linear-gradient(135deg,var(--bf-blue),var(--bf-blue-700)); color:#fff; display:flex; align-items:center; justify-content:center; border-radius:var(--bf-r); margin:18px 0; box-shadow:var(--bf-sh); }
.bf-steps{ line-height:1.9; }
.bf-steps li::marker{ color:var(--bf-coral); font-weight:700; }

/* ====================== BuddyPress ====================== */
.buddypress-wrap{ --bp-highlight:var(--bf-blue); }
/* Sub-Navigation als Pills */
.buddypress-wrap .bp-navs{ background:transparent; border:0; border-bottom:1px solid var(--bf-line); margin-bottom:18px; }
.buddypress-wrap .bp-navs ul,.buddypress-wrap div.item-list-tabs ul{ gap:4px; }
.buddypress-wrap .bp-navs li a,.buddypress-wrap div.item-list-tabs ul li a{ color:var(--bf-muted) !important; font-weight:600; border-radius:10px 10px 0 0; padding:10px 16px; }
.buddypress-wrap .bp-navs li a:hover{ color:var(--bf-blue) !important; background:#EEF3F7; }
.buddypress-wrap .bp-navs li.current a,.buddypress-wrap .bp-navs li.selected a,
.buddypress-wrap div.item-list-tabs ul li.selected a,.buddypress-wrap div.item-list-tabs ul li.current a{
  background:var(--bf-blue) !important; color:#fff !important; }
.buddypress-wrap .bp-navs li a span,.buddypress-wrap div.item-list-tabs ul li a span{ background:var(--bf-coral); color:#fff; border-radius:999px; }

/* „Was gibt's Neues" */
#buddypress form#whats-new-form{ background:var(--bf-surface); border:1px solid var(--bf-line); border-radius:var(--bf-r); padding:18px; box-shadow:var(--bf-sh-sm); }
#buddypress #whats-new{ border:1px solid var(--bf-line-2); border-radius:10px; }

/* Aktivitäts-Stream als Karten */
#buddypress .activity-list > li{ background:var(--bf-surface); border:1px solid var(--bf-line); border-radius:var(--bf-r); padding:20px 22px; margin-bottom:16px; box-shadow:var(--bf-sh-sm); transition:box-shadow .18s ease, transform .18s ease; }
#buddypress .activity-list > li:hover{ box-shadow:var(--bf-sh); transform:translateY(-2px); }
#buddypress .activity-list .activity-header{ color:var(--bf-muted); font-size:.92rem; }
#buddypress .activity-list .activity-content .activity-inner{ color:var(--bf-text); }
#buddypress .activity-meta .button{ font-size:.82rem; padding:6px 12px !important; }

/* Verzeichnisse (Mitglieder/Gruppen) als Karten-Raster – NICHT den Aktivitäts-Feed (auch .item-list) */
#buddypress ul.item-list:not(.activity-list){ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; border:0; }
#buddypress ul.item-list:not(.activity-list) > li{ background:var(--bf-surface); border:1px solid var(--bf-line); border-radius:var(--bf-r); padding:18px; box-shadow:var(--bf-sh-sm); }
#buddypress ul.item-list:not(.activity-list) > li:hover{ box-shadow:var(--bf-sh); }
#buddypress .item-entry .list-title a,#buddypress .item .item-title a{ color:var(--bf-ink) !important; font-weight:700; }
#buddypress .item-entry .item-meta,#buddypress .activity-meta{ color:var(--bf-muted); }

/* Profil-Header: edler Default-Cover statt leerem Grau */
#buddypress #header-cover-image,#buddypress #cover-image-container .header-cover-image{
  background-image:linear-gradient(120deg,var(--bf-blue),var(--bf-green)) !important; background-color:var(--bf-blue) !important; }
#buddypress #item-header{ background:var(--bf-surface); border:1px solid var(--bf-line); border-radius:var(--bf-r-lg); padding:22px; box-shadow:var(--bf-sh-sm); }

/* Leeren Kadence-Titelbanner auf reinen App-Seiten (Dashboard) + BuddyPress ausblenden */
.page-id-87 .entry-hero,.page-id-87 .entry-hero-container,
.buddypress .entry-hero,.buddypress .entry-hero-container{ display:none !important; }
.buddypress .site-main,.buddypress .content-container{ padding-top:34px; }
#buddypress #item-header-content h2 a,#buddypress #item-header .user-nicename{ color:var(--bf-ink); }
.bf-stufe-badge{ vertical-align:middle; }

/* Formulare (Profil bearbeiten, Einstellungen) */
#buddypress input[type=text],#buddypress input[type=email],#buddypress input[type=url],#buddypress textarea,#buddypress select{
  border:1px solid var(--bf-line-2) !important; border-radius:10px !important; padding:11px 13px !important; }
#buddypress input:focus,#buddypress textarea:focus{ outline:none; border-color:var(--bf-blue) !important; box-shadow:0 0 0 3px rgba(22,72,110,.12); }
#buddypress .field-visibility-settings,#buddypress .field-visibility-settings-toggle{ background:#F2F6F9; border-radius:8px; padding:8px 10px; font-size:.85rem; color:var(--bf-muted); }
#buddypress label,#buddypress .editfield legend{ font-weight:600; color:var(--bf-ink); }

/* Seiten-Titel-Bereich ruhiger */
.entry-hero .entry-header,.page-title{ }

/* ====================== Footer ====================== */
.site-footer,.site-footer-row-container-inner{ background:var(--bf-blue-700) !important; }
.site-footer,.site-footer a,.site-footer p,.site-footer .widget-title{ color:#C7D6E2 !important; }
.site-footer a:hover{ color:#fff !important; }

/* ====================== Responsive ====================== */
@media (max-width:781px){
  .bf-dash-grid{ grid-template-columns:1fr; }
  .menu-item.bf-nav-cta > a{ display:inline-block; margin:6px 0; }
}
