.vfrn-calendar-module .vfrn-calendar-shell {
  margin-top: 36px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.vfrn-calendar {
  display: grid;
  gap: 16px;
}

.vfrn-calendar__event {
  display: grid;
  grid-template-columns: minmax(190px, 0.34fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  padding: 24px 28px;
  margin: 0;
  background: #ffffff;
  border: 1px solid var(--vfrn-border, #dfe3e8);
  border-left: 4px solid var(--vfrn-red, #e31e2b);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.vfrn-calendar__date {
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: var(--vfrn-text, #151b26);
}

.vfrn-calendar__weekday {
  color: var(--vfrn-red, #e31e2b);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vfrn-calendar__date strong {
  font-size: 17px;
  line-height: 1.4;
}

.vfrn-calendar__content h3 {
  margin: 0 0 6px;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.2;
}

.vfrn-calendar__time {
  margin: 0;
  color: var(--vfrn-gray-700, #4f5968);
  font-weight: 600;
}

.vfrn-calendar-empty {
  padding: 24px 28px;
  background: #ffffff;
  border: 1px solid var(--vfrn-border, #dfe3e8);
  border-left: 4px solid var(--vfrn-blue, #377eb8);
  border-radius: 8px;
}

.vfrn-calendar-empty p {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .vfrn-calendar-module .vfrn-calendar-shell {
    margin-top: 28px;
  }

  .vfrn-calendar {
    gap: 12px;
  }

  .vfrn-calendar__event {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 21px 20px;
  }

  .vfrn-calendar__date {
    padding-bottom: 13px;
    border-bottom: 1px solid var(--vfrn-border, #dfe3e8);
  }

  .vfrn-calendar__content h3 {
    font-size: 21px;
  }
}

