.gbfpr-widget{
  font-family:var(--gbfpr-font);
  color:var(--gbfpr-text);
  background:var(--gbfpr-bg);
  padding:48px 56px;
}

.gbfpr-year-tabs{
  display:flex;
  gap:36px;
  align-items:center;
  margin-bottom:28px;
  flex-wrap:wrap;
}

.gbfpr-year-tab{
  border:0;
  background:transparent;
  color:var(--gbfpr-text);
  font-size:var(--gbfpr-year-tab-size);
  line-height:1;
  font-weight:800;
  padding:16px 20px;
  cursor:pointer;
}

.gbfpr-year-tab.is-active{
  background:rgba(212,162,70,.12);
  color:var(--gbfpr-accent);
}

.gbfpr-year-group{ display:none; }
.gbfpr-year-group.is-active{ display:block; }

.gbfpr-quarter-tabs{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  align-items:end;
  border-bottom:6px solid var(--gbfpr-border);
  margin-bottom:58px;
}

.gbfpr-quarter-tab{
  border:0;
  background:transparent;
  padding:0 8px 10px;
  text-align:center;
  position:relative;
  cursor:pointer;
  color:#c9c9c9;
}

.gbfpr-quarter-tab.is-active{
  color:var(--gbfpr-accent);
}

.gbfpr-quarter-tab.is-active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:6px;
  background:var(--gbfpr-accent);
}

.gbfpr-quarter-tab .quarter-header{
  display:block;
  font-size:var(--gbfpr-quarter-header-size);
  line-height:1;
  font-weight:800;
  margin-bottom:2px;
}

.gbfpr-quarter-tab .quarter-end-date{
  display:block;
  font-size:var(--gbfpr-quarter-end-size);
  line-height:1.2;
  font-style:italic;
  font-weight:700;
}

.gbfpr-quarter-panels{ position:relative; }
.gbfpr-panel{ display:none; }
.gbfpr-panel.is-active{ display:block; }

.gbfpr-two-col{
  display:grid;
  grid-template-columns:70% 30%;
  gap:34px;
  align-items:start;
}

.gbfpr-commentary-date{
  font-size:18px;
  color:#8e8e8e;
  margin-bottom:28px;
}

.gbfpr-commentary-title{
  font-size:var(--gbfpr-commentary-title-size);
  line-height:1.04;
  font-weight:800;
  margin:0 0 34px;
  max-width:720px;
}

.gbfpr-commentary-body{
  font-size:var(--gbfpr-commentary-body-size);
  line-height:1.65;
  color:#757575;
  max-width:760px;
}

.gbfpr-commentary-body p{ margin:0 0 22px; }

.gbfpr-preview-link{
  display:block;
  text-decoration:none;
}

.gbfpr-preview-card{
  position:relative;
  border:2px solid #d5d5d5;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  padding:0;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}

.gbfpr-preview-image{
  display:block;
  width:100%;
  height:auto;
}

.gbfpr-preview-empty{
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8f8f8f;
  text-align:center;
  padding:24px;
}

.gbfpr-magnify{
  position:absolute;
  left:50%;
  top:50%;
  width:88px;
  height:88px;
  transform:translate(-50%, -50%);
  border:8px solid #000;
  border-radius:50%;
  background:rgba(255,255,255,.18);
}

.gbfpr-magnify:after{
  content:"";
  position:absolute;
  width:48px;
  height:10px;
  background:#000;
  border-radius:10px;
  right:-28px;
  bottom:-6px;
  transform:rotate(45deg);
  transform-origin:center;
}

.gbfpr-actions{
  display:flex;
  gap:12px;
  justify-content:flex-end;
  margin-top:18px;
}

.gbfpr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  background:var(--gbfpr-accent);
  color:#fff;
  text-decoration:none;
  border:0;
  border-radius:8px;
  font-weight:800;
  cursor:pointer;
}

.gbfpr-btn-secondary{
  background:#2a2a2a;
}

@media (max-width: 1100px){
  .gbfpr-widget{ padding:32px 24px; }
  .gbfpr-quarter-tabs{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .gbfpr-two-col{ grid-template-columns:1fr; }
}

@media (max-width: 640px){
  .gbfpr-year-tabs{ gap:12px; }
  .gbfpr-year-tab{ font-size:24px; padding:10px 12px; }
  .gbfpr-quarter-tabs{ grid-template-columns:1fr; }
}
