.nvw-wrap, .nvw-wrap *{ box-sizing: border-box; }
.nvw-wrap{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
background: #fff;
}

.nvw-header{
  background: var(--nvw-header, #d40000);
  color: #fff;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  font-weight: 700;
  letter-spacing: .5px;
}

.nvw-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nvw-title{
  font-size: 14px;
}

.nvw-body{ padding: 12px; }

.nvw-top{ margin-bottom: 10px; }

.nvw-city{
  width: 100%;
  padding: 8px 10px;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 6px;
  background: #fff;
}

.nvw-city-static{
  font-weight: 900;
  font-size: 16px;
}

.nvw-meta{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: start;
  margin-bottom: 10px;
}

.nvw-date-text{
  font-weight: 700;
  font-size: 13px;
}
.nvw-time-text{
  font-weight: 700;
  font-size: 13px;
  color: rgba(0,0,0,.7);
  margin-top: 2px;
}

.nvw-next{
  text-align: right;
}
.nvw-next-label{
  font-size: 12px;
  color: rgba(0,0,0,.65);
  font-weight: 700;
}
.nvw-next-remaining{
  margin-top: 2px;
  font-weight: 900;
  font-size: 14px;
}

.nvw-grid{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.nvw-box{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 8px;
  padding: 10px 8px;
  text-align: center;
  background: #fafafa;
}

.nvw-box-label{
  font-size: 12px;
  color: rgba(0,0,0,.55);
  font-weight: 800;
  margin-bottom: 6px;
}

.nvw-box-time{
  font-size: 14px;
  font-weight: 900;
}

.nvw-box.is-current{
  outline: 2px solid #1151d3 !important;
  border-color: #1151d3 !important;
  background: #fff;
}

@media (max-width: 360px){
  .nvw-grid{ grid-template-columns: 1fr 1fr; }
  .nvw-wrap{ max-width: 100%; }
}


/* Hide internal red header (user request) */
.nvw-header{ display:none !important; }


/* Force full width in widgets/sidebars */
.nvw-wrap{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}
.nvw-body, .nvw-top, .nvw-grid{
  width:100% !important;
}
.nvw-city{
  width:100% !important;
}
