/*
Theme Name: BeeCongress News v2.1
Theme URI: https://beecongres.com
Author: BeeCongress
Description: Responsive congress/news theme with integrated honey-toned header, full-width navigation, announcement area, news, publications and sponsor sidebar.
Version: 2.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: beecongres-news
License: GPL-2.0-or-later
*/

:root{
  --bc-honey:#d89400;
  --bc-honey-2:#f5b92b;
  --bc-honey-3:#ffc94e;
  --bc-honey-soft:#fff4cf;
  --bc-cream:#fffaf0;
  --bc-brown:#5b4429;
  --bc-brown-dark:#352c21;
  --bc-ink:#202426;
  --bc-muted:#6f7477;
  --bc-line:#eadcc1;
  --bc-white:#fff;
  --bc-max:1240px;
  --bc-radius:16px;
  --bc-shadow:0 12px 32px rgba(89,60,16,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bc-cream);
  color:var(--bc-ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
a:hover{color:#946000}
img{max-width:100%;height:auto}
.bc-container{width:min(calc(100% - 32px),var(--bc-max));margin-inline:auto}

/* TOP BAR */
.bc-topbar{
  background:linear-gradient(90deg,#5d4527,#3d3124);
  color:#fff;
  font-size:.91rem;
}
.bc-topbar__inner{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.bc-topbar a{color:#fff}

/* INTEGRATED HONEY HEADER */
.bc-header{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 28%, rgba(255,207,92,.28) 0 3%, transparent 3.2%),
    radial-gradient(circle at 87% 34%, rgba(255,197,54,.24) 0 4%, transparent 4.2%),
    linear-gradient(180deg,#fffdf8 0%,#fff7df 56%,#f9d986 100%);
  border-bottom:0;
}
.bc-header::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.20;
  pointer-events:none;
  background-image:
    linear-gradient(30deg, rgba(216,148,0,.35) 12%, transparent 12.5%, transparent 87%, rgba(216,148,0,.35) 87.5%, rgba(216,148,0,.35)),
    linear-gradient(150deg, rgba(216,148,0,.35) 12%, transparent 12.5%, transparent 87%, rgba(216,148,0,.35) 87.5%, rgba(216,148,0,.35)),
    linear-gradient(30deg, rgba(216,148,0,.35) 12%, transparent 12.5%, transparent 87%, rgba(216,148,0,.35) 87.5%, rgba(216,148,0,.35)),
    linear-gradient(150deg, rgba(216,148,0,.35) 12%, transparent 12.5%, transparent 87%, rgba(216,148,0,.35) 87.5%, rgba(216,148,0,.35)),
    linear-gradient(60deg, rgba(216,148,0,.16) 25%, transparent 25.5%, transparent 75%, rgba(216,148,0,.16) 75%, rgba(216,148,0,.16));
  background-size:70px 122px;
  background-position:0 0,0 0,35px 61px,35px 61px,0 0;
}
.bc-header::after{
  content:"";
  position:absolute;
  left:-5%;
  right:-5%;
  bottom:-70px;
  height:125px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center, rgba(255,190,35,.72) 0%, rgba(255,210,100,.45) 48%, rgba(255,255,255,0) 72%);
  pointer-events:none;
}
.bc-brand-row{
  position:relative;
  z-index:2;
  min-height:220px;
  padding:18px 0 22px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.bc-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
}
.bc-brand .custom-logo{
  display:block;
  width:min(100%,760px);
  max-width:760px;
  max-height:190px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 5px 12px rgba(80,52,8,.12));
}
.bc-brand-fallback{text-align:center}
.bc-brand-fallback strong{display:block;font-size:1.7rem}
.bc-brand-fallback span{color:var(--bc-muted)}

/* NAVIGATION */
.bc-nav-shell{
  position:relative;
  z-index:3;
  background:linear-gradient(90deg,#463722,#2f2c28);
  border-top:4px solid var(--bc-honey);
  box-shadow:0 3px 10px rgba(0,0,0,.08);
}
.bc-nav-row{display:flex;align-items:center}
.bc-menu-toggle{
  display:none;
  margin:8px 0;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  background:transparent;
  border-radius:10px;
  padding:9px 12px;
  font-weight:800;
}
.bc-nav{
  list-style:none;
  display:flex;
  align-items:stretch;
  justify-content:center;
  flex-wrap:wrap;
  margin:0;
  padding:0;
  width:100%;
}
.bc-nav li{margin:0}
.bc-nav a{
  display:block;
  color:#fff;
  font-weight:800;
  font-size:.93rem;
  padding:15px 16px;
}
.bc-nav a:hover,
.bc-nav .current-menu-item>a,
.bc-nav .current_page_item>a{
  background:linear-gradient(180deg,var(--bc-honey-2),var(--bc-honey));
  color:#151515;
}

/* TICKER */
.bc-ticker{
  background:#fff;
  border-bottom:1px solid var(--bc-line);
  box-shadow:0 2px 7px rgba(70,50,15,.03);
}
.bc-ticker__inner{
  display:flex;
  align-items:center;
  gap:15px;
  min-height:52px;
  overflow:hidden;
}
.bc-ticker__label{
  flex:none;
  background:linear-gradient(180deg,var(--bc-honey-2),var(--bc-honey));
  color:#151515;
  font-weight:900;
  text-transform:uppercase;
  font-size:.74rem;
  letter-spacing:.04em;
  padding:5px 10px;
  border-radius:999px;
}
.bc-ticker__items{
  display:flex;
  gap:24px;
  overflow:auto;
  white-space:nowrap;
  scrollbar-width:none;
}
.bc-ticker__items::-webkit-scrollbar{display:none}
.bc-ticker__items a{font-weight:750;font-size:.92rem}

/* MAIN LAYOUT */
.bc-main{padding:30px 0 46px}
.bc-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:28px;
  align-items:start;
}
.bc-maincol{min-width:0}
.bc-sidecol{position:sticky;top:18px}

.bc-panel{
  background:#fff;
  border:1px solid var(--bc-line);
  border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);
  overflow:hidden;
}
.bc-panel__head{
  padding:18px 22px;
  background:
    linear-gradient(90deg,rgba(255,239,190,.95),rgba(255,255,255,.96)),
    radial-gradient(circle at 90% 20%,rgba(216,148,0,.2),transparent 34%);
  border-bottom:1px solid var(--bc-line);
}
.bc-panel__head h1,.bc-panel__head h2{margin:0;line-height:1.2}
.bc-panel__body{padding:24px}
.bc-announcement{margin-bottom:24px}
.bc-announcement .bc-panel__body{font-size:1.03rem}
.bc-announcement .bc-panel__body p:first-child{margin-top:0}
.bc-announcement .bc-panel__body p:last-child{margin-bottom:0}
.bc-eyebrow{
  display:inline-block;
  color:#8d5b00;
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}

.bc-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:0 0 24px;
}
.bc-info-card{
  background:linear-gradient(135deg,#6a5235,#4a3927);
  color:#fff;
  border-radius:14px;
  padding:17px;
  box-shadow:0 7px 18px rgba(70,52,20,.10);
}
.bc-info-card__label{
  display:block;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#f6e1bb;
}
.bc-info-card__value{
  display:block;
  font-weight:900;
  margin-top:3px;
  line-height:1.3;
}

.bc-section{margin-top:28px}
.bc-section-title{margin:0 0 15px;font-size:1.35rem;font-weight:900}
.bc-section-title:after{
  content:"";
  display:block;
  margin-top:7px;
  width:52px;
  height:4px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--bc-honey),var(--bc-honey-3));
}

.bc-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bc-news-card{
  background:#fff;
  border:1px solid var(--bc-line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(80,60,15,.05);
}
.bc-news-card__img{
  display:block;
  aspect-ratio:16/9;
  background:#f1eadf;
  overflow:hidden;
}
.bc-news-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.25s transform;
}
.bc-news-card:hover .bc-news-card__img img{transform:scale(1.025)}
.bc-news-card__body{padding:17px}
.bc-news-card h3{margin:7px 0 6px;line-height:1.3;font-size:1.08rem}
.bc-meta{font-size:.79rem;color:var(--bc-muted)}
.bc-tag{
  display:inline-block;
  background:linear-gradient(180deg,var(--bc-honey-2),var(--bc-honey));
  color:#191919;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  border-radius:999px;
  padding:4px 8px;
}

/* SIDEBAR */
.bc-box{
  background:#fff;
  border:1px solid var(--bc-line);
  border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);
  padding:18px;
  margin-bottom:18px;
}
.bc-box h3{margin:0 0 13px;font-size:1.04rem}
.bc-quicklinks{display:grid;gap:9px}
.bc-quicklinks a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border-radius:10px;
  background:linear-gradient(90deg,#fff3ce,#ffedb9);
  font-weight:800;
}
.bc-quicklinks a:after{content:"›";font-size:1.25rem;color:#8d5b00}

.bc-deadline{padding:11px 0;border-bottom:1px solid var(--bc-line)}
.bc-deadline:last-child{border-bottom:0;padding-bottom:0}
.bc-deadline:first-of-type{padding-top:0}
.bc-deadline__date{display:block;font-weight:900;color:#8d5b00}
.bc-deadline__text{display:block;font-size:.9rem;color:var(--bc-muted);margin-top:1px}

/* SPONSORS */
.bc-sponsor-group{margin-bottom:16px}
.bc-sponsor-group:last-child{margin-bottom:0}
.bc-sponsor-tier{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--bc-muted);
  font-weight:900;
  padding-bottom:7px;
  border-bottom:1px solid var(--bc-line);
  margin-bottom:9px;
}
.bc-sponsor-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.bc-sponsor-list--featured{grid-template-columns:1fr}
.bc-sponsor{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:78px;
  border:1px solid var(--bc-line);
  border-radius:11px;
  background:#fff;
  padding:9px;
}
.bc-sponsor img{max-height:62px;max-width:100%;object-fit:contain}
.bc-sponsor-name{text-align:center;font-size:.84rem;font-weight:800}

/* PUBLICATIONS */
.bc-pubs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bc-pub{
  background:#fff;
  border:1px solid var(--bc-line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(80,60,15,.05);
}
.bc-pub__cover{display:block;aspect-ratio:3/4;background:#f4eddf;overflow:hidden}
.bc-pub__cover img{width:100%;height:100%;object-fit:cover}
.bc-pub__body{padding:14px}
.bc-pub h3{font-size:.98rem;line-height:1.3;margin:0 0 8px}
.bc-pub__year{font-size:.78rem;color:#8d5b00;font-weight:900}
.bc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:10px 14px;
  background:linear-gradient(180deg,var(--bc-honey-2),var(--bc-honey));
  color:#171717;
  font-weight:900;
}
.bc-btn:hover{background:var(--bc-honey-3);color:#111}

/* CONTENT */
.bc-entry{
  background:#fff;
  border:1px solid var(--bc-line);
  border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);
  padding:clamp(22px,4vw,40px);
}
.bc-entry h1{margin-top:0;line-height:1.18}
.bc-entry-content a{text-decoration:underline;color:#916000}
.bc-entry-content img{border-radius:12px}

/* FOOTER */
.bc-footer{
  background:linear-gradient(90deg,#493a28,#2f2a24);
  color:#fff;
  margin-top:30px;
  border-top:5px solid var(--bc-honey);
}
.bc-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px;padding:38px 0}
.bc-footer p,.bc-footer li{color:#e7ded1}
.bc-footer h3{margin-top:0}
.bc-footer ul{list-style:none;padding:0;margin:0}
.bc-footer li{margin:7px 0}
.bc-footer__bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:14px 0;
  color:#ddd3c6;
  font-size:.83rem;
}

.bc-pagination{margin-top:22px}
.bc-pagination .nav-links{display:flex;gap:7px;flex-wrap:wrap}
.bc-pagination a,.bc-pagination span{
  padding:7px 11px;
  border-radius:9px;
  background:#fff;
  border:1px solid var(--bc-line);
}
.bc-pagination .current{background:#5a4930;color:#fff}

/* MOBILE */
@media(max-width:980px){
  .bc-layout{grid-template-columns:1fr}
  .bc-sidecol{position:static}
  .bc-info-grid{grid-template-columns:1fr 1fr}
  .bc-menu-toggle{display:block}
  .bc-nav-row{display:block}
  .bc-nav-wrap{display:none}
  .bc-nav-wrap.is-open{display:block}
  .bc-nav{flex-direction:column}
  .bc-nav a{padding:12px 14px}
  .bc-brand-row{min-height:180px}
  .bc-brand .custom-logo{max-width:680px;max-height:155px}
}
@media(max-width:720px){
  .bc-container{width:min(calc(100% - 22px),var(--bc-max))}
  .bc-topbar__inner{font-size:.82rem}
  .bc-topbar__right{display:none}
  .bc-brand-row{min-height:145px;padding:10px 0 12px}
  .bc-brand .custom-logo{max-width:100%;max-height:125px}
  .bc-info-grid{grid-template-columns:1fr}
  .bc-news-grid{grid-template-columns:1fr}
  .bc-pubs{grid-template-columns:1fr 1fr}
  .bc-panel__body{padding:19px}
  .bc-footer__grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .bc-pubs{grid-template-columns:1fr}
  .bc-sponsor-list{grid-template-columns:1fr 1fr}
  .bc-brand-row{min-height:120px}
  .bc-brand .custom-logo{max-height:105px}
}
