/*
Theme Name: BH Dijaspora Connect Theme
Author: IlijašNet
Description: Mobile-first savremena tema za BH Dijaspora Connect platformu.
Version: 2.8.0
Text Domain: bhdctheme
*/
:root{
  --bh-primary:#0f5f4a;
  --bh-secondary:#0b3d91;
  --bh-accent:#d4af37;
  --bh-bg:#f5f7fb;
  --bh-card:#ffffff;
  --bh-text:#111827;
  --bh-muted:#667085;
  --bh-border:#e6eaf0;
  --bh-radius:24px;
  --bh-shadow:0 18px 55px rgba(17,24,39,.08);
  --bh-glass:rgba(255,255,255,.82);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 10% -10%, rgba(15,95,74,.12), transparent 32%),
    radial-gradient(circle at 90% 0%, rgba(11,61,145,.12), transparent 28%),
    var(--bh-bg);
  color:var(--bh-text);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.bh-container{width:min(1180px,92%);margin:0 auto}

/* Header */
.bh-header{
  position:sticky;top:0;z-index:80;
  background:var(--bh-glass);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(230,234,240,.82);
}
.bh-header-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
}
.bh-brand{
  display:flex;align-items:center;gap:12px;
  font-weight:950;letter-spacing:-.045em;font-size:20px;
  min-width:0;
}
.bh-logo{
  width:46px;height:46px;border-radius:18px;
  background:linear-gradient(135deg,var(--bh-primary),var(--bh-secondary));
  color:white;display:grid;place-items:center;
  box-shadow:0 12px 26px rgba(15,95,74,.25);
  flex:none;font-weight:950;
}
.bh-logo-img{width:46px;height:46px;border-radius:16px;object-fit:contain;background:#fff;border:1px solid var(--bh-border);padding:3px}
.bh-nav{
  display:none;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.bh-nav a{
  font-size:14px;
  font-weight:850;
  color:#243044;
  padding:10px 12px;
  border-radius:999px;
  white-space:nowrap;
  transition:.18s ease;
}
.bh-nav a:hover{
  color:var(--bh-primary);
  background:rgba(15,95,74,.08);
}
.bh-btn,.bh-menu-btn{
  border:1px solid var(--bh-border);
  border-radius:999px;
  padding:12px 17px;
  font-weight:950;
  background:#fff;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  box-shadow:0 8px 22px rgba(17,24,39,.05);
}
.bh-btn-primary,.bh-menu-btn{
  background:linear-gradient(135deg,var(--bh-primary),#128064);
  border-color:transparent;
  color:#fff;
}
.bh-btn-gold{
  background:linear-gradient(135deg,var(--bh-accent),#f1d677);
  border-color:transparent;
  color:#111827;
}

/* Slide menu */
.bh-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.52);
  opacity:0;visibility:hidden;transition:.22s;z-index:100;
}
.bh-slide{
  position:fixed;right:-380px;top:0;width:min(380px,90vw);height:100vh;
  background:#fff;z-index:110;padding:22px;
  box-shadow:-28px 0 80px rgba(15,23,42,.22);
  transition:.28s cubic-bezier(.2,.8,.2,1);
  display:flex;flex-direction:column;gap:10px;
  overflow-y:auto;
}
.bh-open .bh-overlay{opacity:1;visibility:visible}
.bh-open .bh-slide{right:0}
.bh-slide-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.bh-slide-top strong{font-size:22px;letter-spacing:-.04em}
.bh-close{
  border:0;background:#f1f5f9;border-radius:16px;
  width:44px;height:44px;font-size:24px;font-weight:900;
}
.bh-slide a{
  border:1px solid var(--bh-border);
  border-radius:18px;
  padding:15px 16px;
  font-weight:900;
  color:#1f2937;
  background:#fff;
}
.bh-slide a:first-of-type{
  background:linear-gradient(135deg,var(--bh-primary),var(--bh-secondary));
  color:#fff;border-color:transparent;
}

/* Hero */
.bh-hero{
  position:relative;
  padding:72px 0 42px;
  overflow:hidden;
}
.bh-hero:before{
  content:"";position:absolute;inset:18px auto auto 50%;
  width:min(560px,80vw);height:min(560px,80vw);
  background:radial-gradient(circle, rgba(212,175,55,.20), transparent 64%);
  transform:translateX(-10%);
  pointer-events:none;
}
.bh-hero .bh-container{position:relative;z-index:1}
.bh-badge{
  display:inline-flex;gap:8px;align-items:center;
  background:#fff;border:1px solid var(--bh-border);
  border-radius:999px;padding:9px 13px;
  font-weight:900;color:var(--bh-primary);
  box-shadow:0 8px 25px rgba(17,24,39,.04);
}
.bh-hero h1{
  max-width:920px;
  font-size:clamp(38px,8vw,76px);
  line-height:.98;
  letter-spacing:-.072em;
  margin:18px 0 16px;
}
.bh-hero p{
  font-size:clamp(17px,2.2vw,21px);
  color:var(--bh-muted);
  max-width:790px;
  margin:0;
}
.bh-actions{
  display:grid;
  gap:12px;
  margin-top:28px;
}

/* Content */
.bh-section{padding:34px 0}
.bh-grid{display:grid;gap:18px}
.bh-card{
  background:var(--bh-card);
  border:1px solid var(--bh-border);
  border-radius:var(--bh-radius);
  box-shadow:var(--bh-shadow);
  padding:26px;
  transition:.22s ease;
}
.bh-card:hover{transform:translateY(-3px);box-shadow:0 24px 70px rgba(17,24,39,.11)}
.bh-card h3{
  font-size:23px;line-height:1.16;
  margin:0 0 10px;
  letter-spacing:-.04em;
}
.bh-card p{margin:0;color:var(--bh-muted);font-size:16px}
.bh-page{padding:42px 0 70px}
.bh-page h1{
  font-size:clamp(32px,6vw,54px);
  letter-spacing:-.06em;
  line-height:1.04;
  margin:0 0 18px;
}
.entry-content{font-size:17px}
.entry-content > p{color:var(--bh-muted);max-width:860px}
.entry-content a{text-decoration:none;color:var(--bh-primary);font-weight:800}
.bh-footer{
  background:#08111f;color:#cbd5e1;
  padding:34px 0;
  margin-top:30px;
}
.bh-footer strong{color:#fff;font-size:18px}
.bh-footer p{margin:8px 0 0;color:#94a3b8}

/* Forms/cards from plugin harmony */
.bhdc-wrap{width:100%}
.bhdc-form,.bhdc-person-card,.bhdc-story,.bhdc-alert,.bhdc-intro-card{
  border-radius:24px!important;
}
.bhdc-filter{
  background:#fff;border:1px solid var(--bh-border);border-radius:22px;
  padding:14px;box-shadow:var(--bh-shadow);
}

/* Responsive */
@media(min-width:860px){
  .bh-menu-btn{display:none}
  .bh-nav{display:flex}
  .bh-actions{display:flex;align-items:center}
  .bh-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1100px){
  .bh-nav{gap:8px}
  .bh-nav a{font-size:15px;padding:10px 13px}
}
@media(max-width:859px){
  .bh-header-inner{min-height:68px}
  .bh-brand{font-size:18px}
  .bh-logo,.bh-logo-img{width:42px;height:42px}
  .bh-hero{padding:46px 0 24px}
  .bh-actions .bh-btn{width:100%}
  .bh-card{padding:22px}
}
@media(max-width:460px){
  .bh-container{width:92%}
  .bh-hero h1{font-size:39px}
  .bh-btn,.bh-menu-btn{padding:11px 14px}
}
