.calendar-main{max-width:1120px;min-height:65vh;padding-top:100px;padding-bottom:90px}.calendar-main h1{font:600 clamp(34px,5vw,60px)/1.13 'Playfair Display',Georgia,serif;max-width:790px;margin:10px 0 20px}.calendar-lead{max-width:760px;color:#bcb5a5;line-height:1.7}.calendar-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:40px 0 18px}.calendar-controls label{display:grid;gap:8px;color:#cbbd9e;font-size:13px}.calendar-controls input,.calendar-controls select{min-height:42px;background:#11110f;color:#f3ede0;border:1px solid #514637;border-radius:4px;padding:8px 12px;color-scheme:dark}.calendar-langs{display:flex;margin-left:auto;gap:4px}.calendar-langs button{background:transparent;color:#cbbd9e;border:1px solid #514637;padding:10px;cursor:pointer}.calendar-langs button[aria-pressed="true"]{color:#111;background:#d8b25c}.calendar-status{color:#b4a88f;min-height:24px;margin:15px 0}.calendar-events{display:grid;gap:12px}.calendar-event{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;background:#15140f;border:1px solid #39342a;padding:22px}.calendar-event time{color:#e4cc89;font-size:15px;font-weight:700}.calendar-event h2{font:600 22px/1.3 'Playfair Display',Georgia,serif;margin:0 0 7px}.calendar-event p{color:#b7afa0;line-height:1.6;margin:9px 0}.calendar-tags{display:flex;gap:7px;flex-wrap:wrap}.calendar-tags span{border:1px solid #514637;color:#d8bf82;padding:4px 7px;font-size:11px}.calendar-source{color:#d8bf82;text-decoration:underline}.calendar-note{color:#948b7b;font-size:13px;line-height:1.6;margin-top:28px}@media(max-width:650px){.calendar-main{padding-top:68px}.calendar-event{grid-template-columns:1fr;gap:8px}.calendar-langs{margin-left:0;width:100%}}


/* M1Y economic calendar impact treatment — preview only */
.calendar-event,
.event-card,
.calendar-item,
[data-impact] {
  font: inherit;
}
[data-impact="high"], .impact-high {
  border-color: rgba(220, 72, 72, .72) !important;
  background: linear-gradient(90deg, rgba(220,72,72,.15), rgba(220,72,72,.035)) !important;
}
[data-impact="medium"], .impact-medium {
  border-color: rgba(226, 153, 65, .62) !important;
  background: linear-gradient(90deg, rgba(226,153,65,.11), rgba(226,153,65,.025)) !important;
}
[data-impact="low"], .impact-low {
  border-color: rgba(75, 166, 105, .48) !important;
  background: linear-gradient(90deg, rgba(75,166,105,.075), rgba(75,166,105,.018)) !important;
}
.impact-high, .impact-medium, .impact-low,
[data-impact="high"], [data-impact="medium"], [data-impact="low"] {
  font-size: inherit !important;
  font-weight: inherit;
}


/* Stronger calendar impact cards */
.calendar-event.impact-high,.calendar-event[data-impact="high"]{background:rgba(127,29,29,.42);border-color:rgba(239,68,68,.72);box-shadow:inset 4px 0 0 rgba(239,68,68,.95),0 8px 24px rgba(0,0,0,.22)}
.calendar-event.impact-medium,.calendar-event[data-impact="medium"]{background:rgba(120,83,15,.42);border-color:rgba(234,179,8,.72);box-shadow:inset 4px 0 0 rgba(234,179,8,.95),0 8px 24px rgba(0,0,0,.22)}
.calendar-event.impact-low,.calendar-event[data-impact="low"]{background:rgba(20,83,45,.42);border-color:rgba(34,197,94,.68);box-shadow:inset 4px 0 0 rgba(34,197,94,.92),0 8px 24px rgba(0,0,0,.22)}


/* Previous market reaction block */
.calendar-event{position:relative}
.calendar-event-body{min-width:0}
.calendar-event-body h2{max-width:calc(100% - 360px)}
.calendar-event-reactions{
  position:absolute;
  top:16px;
  right:20px;
  width:340px;
}
.calendar-event-reactions-title{
  margin:0 0 6px;
  color:#cbbd9e;
  font-size:10px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.05em;
  text-align:right;
}
.calendar-event-reactions-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(64px,1fr));
  gap:7px;
}
.calendar-event-reaction{
  border:1px solid #514637;
  padding:6px 7px;
  text-align:right;
  background:rgba(8,8,8,.22);
  min-width:0;
}
.calendar-event-reaction-label{
  display:block;
  color:#948b7b;
  font-size:9px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calendar-event-reaction-value{
  display:block;
  margin-top:3px;
  color:#f3ede0;
  font-size:17px;
  line-height:1;
  font-weight:800;
}
.calendar-event-reaction-value.is-up{color:#8fd19e}
.calendar-event-reaction-value.is-down{color:#ef9a9a}
.calendar-event-reaction-value.is-flat{color:#d8bf82}
.calendar-event-reaction-value.is-unknown{color:#776f63}
@media(max-width:900px){
  .calendar-event-body h2{max-width:none}
  .calendar-event-reactions{
    position:static;
    width:auto;
    margin-top:12px;
    grid-column:2;
  }
  .calendar-event-reactions-title{text-align:left}
}
@media(max-width:650px){
  .calendar-event-reactions{grid-column:1}
  .calendar-event-reactions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Calendar tag order and Forex-style flag badge */
.calendar-tags .calendar-flag{
  width:28px;
  height:24px;
  padding:0!important;
  display:inline-grid;
  place-items:center;
  box-sizing:border-box;
  border:1px solid #d8b25c;
  color:#fff;
  font-size:16px;
  line-height:1;
  background:rgba(8,8,8,.24);
}

/* Make the event time easier to scan without changing the card style */
.calendar-event time{
  display:block;
  padding-top:6px;
  white-space:nowrap;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
}
@media(min-width:651px){
  .calendar-event{grid-template-columns:190px minmax(0,1fr)}
}


/* Calendar flags as actual images + separated date/time */
.calendar-tags .calendar-flag{
  width:32px;
  height:24px;
  padding:2px!important;
  display:inline-grid;
  place-items:center;
  overflow:hidden;
  box-sizing:border-box;
  border:1px solid #d8b25c;
  background:rgba(8,8,8,.28);
}
.calendar-tags .calendar-flag-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.calendar-event-when{
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-top:1px;
  min-width:0;
}
.calendar-event-date{
  color:#cbbd9e;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  white-space:nowrap;
}
.calendar-event .calendar-event-time{
  display:block;
  padding-top:0;
  margin-top:1px;
  color:#e4cc89;
  font-size:22px;
  line-height:1.05;
  font-weight:800;
  white-space:nowrap;
  letter-spacing:.01em;
}
.calendar-event .calendar-event-time[hidden]{display:none}
@media(max-width:650px){
  .calendar-event-when{gap:4px;margin-bottom:2px}
  .calendar-event .calendar-event-time{font-size:21px}
}


/* Previous release values under reaction title */
.calendar-event-reactions-stats{
  margin:0 0 7px;
  color:#b7afa0;
  font-size:10px;
  line-height:1.35;
  text-align:right;
  white-space:normal;
}
@media(max-width:900px){
  .calendar-event-reactions-stats{text-align:left}
}
